-
Notifications
You must be signed in to change notification settings - Fork 142
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* unresolved ref to F/NToString * compiles * refactored CallGraph::deserialize() * refactored unittests, all fail * all unittests finally pass * code cleanup * refactoring * fixed function with no caller not being serialized * Fix Dependendency Installation (#707) * Do not install phasar's dependencies to the global namespace anymore * fix for in-tree build * out-factor the inclusion of LLVM and clang to a separate cmake file * Make PHASAR_CONFIG_INSTALL_DIR respect the CMAKE_INSTALL_PREFIX, even if that is not set at configure time * Fix in-tree build * backup DIBTH Data * DIBTH serialization code, untested * DIBTHData getDataFromJson Impl * improved de-/serialization impl w/o TypeToVertex * fixed DIBTHData TypeToVertex not compiling * fixed serialization bugs and unittests * DITHS Test fixes, 13 pass, 11 fail * DIBTH Ser Test, 1 failing Test left * GeneralStatisticsAnalysisData impl * LLVMAliasSetData impl * last printAsJson Impls * Final Impls, DIBTH Identifier Impl not working * changes + fixes from meeting * no equality of values DIBTH Test * fixed all bugs, all unittests pass * Fix crash in buildTypeGraph in the presence of typedefs * fixed LLVMAliasSetSerializationTest * Add more aggressive composite type filter * Refactor handling of DI type names * Implicit vertex index * Prioritize type id over type name as the latter may be ambiguous * Adapt DI TH test to identifiers as names * Fix vtable + transitive di th tests * Optimizing deprecation warnings for getAsJson * TypeTrait check current non functioning impl * fixed TypeHierarchySerialization Tests * Optimized deprecation warinings for getAsJson * debug code backup * Fix LLVMBasedTypeHierarchy * added operator<< statistics to printAsJson * Fix GeneralStatistics printAsJson + minor * Add some more deprecations * Fix now failing unittests * Changes from review --------- Co-authored-by: mxHuber <[email protected]>
- Loading branch information
1 parent
c1a75ed
commit f17594d
Showing
41 changed files
with
1,309 additions
and
228 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/****************************************************************************** | ||
* Copyright (c) 2024 Fabian Schiebel. | ||
* All rights reserved. This program and the accompanying materials are made | ||
* available under the terms of LICENSE.txt. | ||
* | ||
* Contributors: | ||
* Maximilian Leo Huber and others | ||
*****************************************************************************/ | ||
|
||
#ifndef PHASAR_PHASARLLVM_CONTROLFLOW_CALLGRAPHDATA_H | ||
#define PHASAR_PHASARLLVM_CONTROLFLOW_CALLGRAPHDATA_H | ||
|
||
#include "llvm/ADT/StringRef.h" | ||
#include "llvm/Support/raw_ostream.h" | ||
|
||
#include <string> | ||
#include <unordered_map> | ||
#include <vector> | ||
|
||
namespace psr { | ||
struct CallGraphData { | ||
// Mangled FunName --> [CS-IDs] | ||
std::unordered_map<std::string, std::vector<uint32_t>> FToFunctionVertexTy{}; | ||
|
||
CallGraphData() noexcept = default; | ||
void printAsJson(llvm::raw_ostream &OS); | ||
|
||
static CallGraphData deserializeJson(const llvm::Twine &Path); | ||
static CallGraphData loadJsonString(llvm::StringRef JsonAsString); | ||
}; | ||
|
||
} // namespace psr | ||
|
||
#endif // PHASAR_PHASARLLVM_CONTROLFLOW_CALLGRAPHDATA_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/****************************************************************************** | ||
* Copyright (c) 2024 Fabian Schiebel. | ||
* All rights reserved. This program and the accompanying materials are made | ||
* available under the terms of LICENSE.txt. | ||
* | ||
* Contributors: | ||
* Maximilian Leo Huber and others | ||
*****************************************************************************/ | ||
|
||
#ifndef PHASAR_PHASARLLVM_TYPEHIERARCHY_LLVMALIASSETDATA_H | ||
#define PHASAR_PHASARLLVM_TYPEHIERARCHY_LLVMALIASSETDATA_H | ||
|
||
#include "llvm/Support/raw_ostream.h" | ||
|
||
#include <string> | ||
|
||
namespace psr { | ||
struct LLVMAliasSetData { | ||
std::vector<std::vector<std::string>> AliasSets; | ||
std::vector<std::string> AnalyzedFunctions; | ||
|
||
LLVMAliasSetData() noexcept = default; | ||
void printAsJson(llvm::raw_ostream &OS); | ||
|
||
static LLVMAliasSetData deserializeJson(const llvm::Twine &Path); | ||
static LLVMAliasSetData loadJsonString(llvm::StringRef JsonAsString); | ||
}; | ||
|
||
} // namespace psr | ||
|
||
#endif // PHASAR_PHASARLLVM_TYPEHIERARCHY_LLVMALIASSETDATA_H |
Oops, something went wrong.