| /llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExplodedGraph.cpp | 1 //===- ExplodedGraph.cpp - Local, Path-Sens. "Exploded Graph" -------------===// 9 // This file defines the template classes ExplodedNode and ExplodedGraph, 14 #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" 42 ExplodedGraph::ExplodedGraph() = default; 44 ExplodedGraph::~ExplodedGraph() = default; 50 bool ExplodedGraph::isInterestingLValueExpr(const Expr *Ex) { in isInterestingLValueExpr() 56 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { in shouldCollect() 153 void ExplodedGraph [all...] |
| H A D | CMakeLists.txt | 28 ExplodedGraph.cpp
|
| H A D | BugReporter.cpp | 42 #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" 220 std::unique_ptr<const ExplodedGraph> BugPath; 242 BugReporterContext BRC, std::unique_ptr<ExplodedGraph> BugPath, 1996 BugReporterContext BRC, std::unique_ptr<ExplodedGraph> BugPath, in PathDiagnosticConstruct() 2497 const ExplodedGraph &PathSensitiveBugReporter::getGraph() const { in FlushReports() 2537 /// A wrapper around an ExplodedGraph that contains a single path from the root 2541 std::unique_ptr<ExplodedGraph> BugPath; 2546 /// A wrapper around an ExplodedGraph whose leafs are all error nodes. Can 2549 std::unique_ptr<ExplodedGraph> TrimmedGraph; in PriorityCompare() 2556 /// Since the getErrorNode() or BugReport refers to the original ExplodedGraph, in operator ()() [all...] |
| H A D | ExprEngine.cpp | 11 // functions and build the ExplodedGraph at the expression level. 52 #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" 235 // Enable eager node reclamation when constructing the ExplodedGraph. in ExprEngine() 1113 // Reclaim any unnecessary nodes in the ExplodedGraph. in ProcessStmt() 3867 struct DOTGraphTraits<ExplodedGraph*> : public DefaultDOTGraphTraits { in getNodeLabel() 3911 static bool isNodeHidden(const ExplodedNode *N, const ExplodedGraph *G) { in ViewGraph() 3915 static std::string getNodeLabel(const ExplodedNode *N, ExplodedGraph *G){ in ViewGraph() 3992 std::unique_ptr<ExplodedGraph> TrimmedG(G.trim(Nodes)); 3995 llvm::errs() << "warning: Trimmed ExplodedGraph is empty.\n";
|
| H A D | CheckerManager.cpp | 387 void CheckerManager::runCheckersForEndAnalysis(ExplodedGraph &G,
|
| H A D | BugReporterVisitors.cpp | 40 #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" 417 "This function is to be used on the trimmed ExplodedGraph!"); in getMatchingCallExitEnd() 2073 // we took (true/false) by looking at the ExplodedGraph. in VisitNode() 2261 if (ExplodedGraph::isInterestingLValueExpr(Inner)) { in handle() 2327 /// This will search back through the ExplodedGraph, starting from the given in handle() 2448 if (ExplodedGraph::isInterestingLValueExpr(Inner)) in handle()
|
| /llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | ExplodedGraph.h | 55 class ExplodedGraph; variable 70 friend class ExplodedGraph; variable 107 void addNode(ExplodedNode *N, ExplodedGraph &G); 196 void addPredecessor(ExplodedNode *V, ExplodedGraph &G); 303 class ExplodedGraph { 345 ExplodedGraph(); 346 ~ExplodedGraph(); 365 std::unique_ptr<ExplodedGraph> MakeEmptyGraph() const { in MakeEmptyGraph() 366 return std::make_unique<ExplodedGraph>(); in MakeEmptyGraph() 434 std::unique_ptr<ExplodedGraph> [all …]
|
| H A D | ExprEngine.h | 11 // functions and build the ExplodedGraph at the expression level. 148 ExplodedGraph &G; 245 /// Visualize the ExplodedGraph created by executing the simulation. 248 /// Visualize a trimmed ExplodedGraph that only contains paths to the given 253 /// in the ExplodedGraph. 256 ExplodedGraph &getGraph() { return G; } in getGraph() 257 const ExplodedGraph &getGraph() const { return G; } in getGraph()
|
| H A D | CoreEngine.h | 24 #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" 49 /// It traverses the CFG and generates the ExplodedGraph. 70 mutable ExplodedGraph G; 79 /// These are used to record for key nodes in the ExplodedGraph the 147 ExplodedGraph &getGraph() { return G; } 233 /// ExplodedGraph. 292 /// Generates a node in the ExplodedGraph. in generateNode() 301 /// Generates a sink in the ExplodedGraph.
|
| H A D | ProgramState.h | 79 friend class ExplodedGraph; 80 friend class ExplodedGraph; global() variable
|
| /llvm-project/clang/lib/StaticAnalyzer/ |
| H A D | README.txt | 25 node in an exploded graph (ExplodedGraph). The term "exploded" comes 29 ExplodedGraph. We start at a root node, which has the entry program 32 state to change, resulting in a new node in the ExplodedGraph with an 49 existing node. Thus the ExplodedGraph is not a DAG; it can contain 54 ProgramState. This immutability is key since the ExplodedGraph represents 116 third generates a graphviz dot file of the ExplodedGraph. This is
|
| /llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | AnalyzerStatsChecker.cpp | 38 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B,ExprEngine &Eng) const; 42 void AnalyzerStatsChecker::checkEndAnalysis(ExplodedGraph &G, in checkEndAnalysis()
|
| H A D | UnreachableCodeChecker.cpp | 35 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B, 49 void UnreachableCodeChecker::checkEndAnalysis(ExplodedGraph &G, in checkEndAnalysis()
|
| H A D | CheckerDocumentation.cpp | 208 void checkEndAnalysis(ExplodedGraph &G, in checkEndAnalysis()
|
| H A D | AnalysisOrderChecker.cpp | 175 void checkEndAnalysis(ExplodedGraph &G, BugReporter &BR, in checkEndAnalysis()
|
| H A D | DebugCheckers.cpp | 303 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B,ExprEngine &Eng) const { in checkEndAnalysis()
|
| H A D | ExprInspectionChecker.cpp | 73 void checkEndAnalysis(ExplodedGraph &G, BugReporter &BR, 411 void ExprInspectionChecker::checkEndAnalysis(ExplodedGraph &G, BugReporter &BR, in checkEndAnalysis()
|
| /llvm-project/clang/test/Analysis/exploded-graph-rewriter/ |
| H A D | empty.dot | 9 // CHECK: digraph "ExplodedGraph" {
|
| /llvm-project/llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/ |
| H A D | BUILD.gn | 37 "ExplodedGraph.cpp",
|
| /llvm-project/clang/include/clang/StaticAnalyzer/Core/ |
| H A D | CheckerManager.h | 46 class ExplodedGraph; variable 348 void runCheckersForEndAnalysis(ExplodedGraph &G, BugReporter &BR, 500 CheckerFn<void (ExplodedGraph &, BugReporter &, ExprEngine &)>;
|
| H A D | Checker.h | 226 static void _checkEndAnalysis(void *checker, ExplodedGraph &G, in _checkEndAnalysis()
|
| H A D | AnalyzerOptions.def | 415 "How often nodes in the ExplodedGraph should be recycled to save memory. "
|
| /llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/ |
| H A D | BugReporter.h | 25 #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" 59 class ExplodedGraph; variable 296 /// The ExplodedGraph node against which the report was thrown. It corresponds 697 const ExplodedGraph &getGraph() const; 809 // and display them in the ExplodedGraph dump by in getTagDescription()
|
| /llvm-project/clang/unittests/StaticAnalyzer/ |
| H A D | SValTest.cpp | 75 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B, in checkEndAnalysis()
|
| /llvm-project/clang/utils/analyzer/ |
| H A D | exploded-graph-rewriter.py | 3 # ===- exploded-graph-rewriter.py - ExplodedGraph dump tool -----*- python -*--# 24 # These data structures represent a deserialized ExplodedGraph. 409 # A deserialized ExplodedGraph. Constructed by consuming a .dot file 411 class ExplodedGraph: 481 # Visitors traverse a deserialized ExplodedGraph and do different things 486 # A visitor that dumps the ExplodedGraph into a DOT file with fancy HTML-based 571 self._dump_raw('digraph "ExplodedGraph" {\n') 1041 # Explorers know how to traverse the ExplodedGraph in a certain order. 1060 # Trimmers cut out parts of the ExplodedGraph so that to focus on other parts. 1233 graph = ExplodedGraph() 404 class ExplodedGraph: global() class [all...] |