Home
last modified time | relevance | path

Searched refs:ExplodedGraph (Results 1 – 25 of 26) sorted by relevance

12

/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DExplodedGraph.cpp1 //===- 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 DCMakeLists.txt28 ExplodedGraph.cpp
H A DBugReporter.cpp42 #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 DExprEngine.cpp11 // 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 DCheckerManager.cpp387 void CheckerManager::runCheckersForEndAnalysis(ExplodedGraph &G,
H A DBugReporterVisitors.cpp40 #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 DExplodedGraph.h55 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 DExprEngine.h11 // 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 DCoreEngine.h24 #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 DProgramState.h79 friend class ExplodedGraph;
80 friend class ExplodedGraph; global() variable
/llvm-project/clang/lib/StaticAnalyzer/
H A DREADME.txt25 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 DAnalyzerStatsChecker.cpp38 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B,ExprEngine &Eng) const;
42 void AnalyzerStatsChecker::checkEndAnalysis(ExplodedGraph &G, in checkEndAnalysis()
H A DUnreachableCodeChecker.cpp35 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B,
49 void UnreachableCodeChecker::checkEndAnalysis(ExplodedGraph &G, in checkEndAnalysis()
H A DCheckerDocumentation.cpp208 void checkEndAnalysis(ExplodedGraph &G, in checkEndAnalysis()
H A DAnalysisOrderChecker.cpp175 void checkEndAnalysis(ExplodedGraph &G, BugReporter &BR, in checkEndAnalysis()
H A DDebugCheckers.cpp303 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B,ExprEngine &Eng) const { in checkEndAnalysis()
H A DExprInspectionChecker.cpp73 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 Dempty.dot9 // CHECK: digraph "ExplodedGraph" {
/llvm-project/llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/
H A DBUILD.gn37 "ExplodedGraph.cpp",
/llvm-project/clang/include/clang/StaticAnalyzer/Core/
H A DCheckerManager.h46 class ExplodedGraph; variable
348 void runCheckersForEndAnalysis(ExplodedGraph &G, BugReporter &BR,
500 CheckerFn<void (ExplodedGraph &, BugReporter &, ExprEngine &)>;
H A DChecker.h226 static void _checkEndAnalysis(void *checker, ExplodedGraph &G, in _checkEndAnalysis()
H A DAnalyzerOptions.def415 "How often nodes in the ExplodedGraph should be recycled to save memory. "
/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/
H A DBugReporter.h25 #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 DSValTest.cpp75 void checkEndAnalysis(ExplodedGraph &G, BugReporter &B, in checkEndAnalysis()
/llvm-project/clang/utils/analyzer/
H A Dexploded-graph-rewriter.py3 # ===- 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...]

12