A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1ento_1_1ExplodedGraph.html below:

clang: clang::ento::ExplodedGraph Class Reference

#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"

  ExplodedGraph ()     ~ExplodedGraph ()   ExplodedNodegetNode (const ProgramPoint &L, ProgramStateRef State, bool IsSink=false, bool *IsNew=nullptr)   Retrieve the node associated with a (Location,State) pair, where the 'Location' is a ProgramPoint in the CFG.
  ExplodedNodecreateUncachedNode (const ProgramPoint &L, ProgramStateRef State, int64_t Id, bool IsSink=false)   Create a node for a (Location, State) pair, but don't store it for deduplication later.
  std::unique_ptr< ExplodedGraphMakeEmptyGraph () const   ExplodedNodeaddRoot (ExplodedNode *V)   addRoot - Add an untyped node to the set of roots.
  ExplodedNodeaddEndOfPath (ExplodedNode *V)   addEndOfPath - Add an untyped node to the set of EOP nodes.
  unsigned  num_roots () const   unsigned  num_eops () const   bool  empty () const   unsigned  size () const   void  reserve (unsigned NodeCount)   llvm::iterator_range< node_iteratornodes ()   llvm::iterator_range< const_node_iteratornodes () const   roots_iterator  roots_begin ()   roots_iterator  roots_end ()   const_roots_iterator  roots_begin () const   const_roots_iterator  roots_end () const   eop_iterator  eop_begin ()   eop_iterator  eop_end ()   const_eop_iterator  eop_begin () const   const_eop_iterator  eop_end () const   llvm::BumpPtrAllocator &  getAllocator ()   BumpVectorContextgetNodeAllocator ()   std::unique_ptr< ExplodedGraphtrim (ArrayRef< const NodeTy * > Nodes, InterExplodedGraphMap *ForwardMap=nullptr, InterExplodedGraphMap *InverseMap=nullptr) const   Creates a trimmed version of the graph that only contains paths leading to the given nodes.
  void  enableNodeReclamation (unsigned Interval)   Enable tracking of recently allocated nodes for potential reclamation when calling reclaimRecentlyAllocatedNodes().
  void  reclaimRecentlyAllocatedNodes ()   Reclaim "uninteresting" nodes created since the last time this method was called.
 

Definition at line 303 of file ExplodedGraph.h.

◆ AllNodesTy ◆ const_eop_iterator ◆ const_node_iterator ◆ const_roots_iterator ◆ eop_iterator ◆ node_iterator ◆ NodeMap ◆ NodeTy ◆ NodeVector ◆ roots_iterator ◆ ExplodedGraph() ExplodedGraph::ExplodedGraph ( ) default ◆ ~ExplodedGraph() ExplodedGraph::~ExplodedGraph ( ) default ◆ addEndOfPath() ◆ addRoot() ◆ createUncachedNode()

Create a node for a (Location, State) pair, but don't store it for deduplication later.

This is useful when copying an already completed ExplodedGraph for further processing.

Definition at line 432 of file ExplodedGraph.cpp.

References getAllocator(), Id, and V.

◆ empty() bool clang::ento::ExplodedGraph::empty ( ) const inline ◆ enableNodeReclamation() void clang::ento::ExplodedGraph::enableNodeReclamation ( unsigned  Interval ) inline ◆ eop_begin() [1/2] ◆ eop_begin() [2/2] ◆ eop_end() [1/2] ◆ eop_end() [2/2] ◆ getAllocator() llvm::BumpPtrAllocator & clang::ento::ExplodedGraph::getAllocator ( ) inline ◆ getNode()

Retrieve the node associated with a (Location,State) pair, where the 'Location' is a ProgramPoint in the CFG.

If no node for this pair exists, it is created. IsNew is set to true if the node was freshly created.

Definition at line 394 of file ExplodedGraph.cpp.

References ChangedNodes, FreeNodes, getAllocator(), Nodes, NumNodes, clang::ento::ExplodedNode::Profile(), ReclaimNodeInterval, and V.

Referenced by clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::CoreEngine::ExecuteWorkList(), clang::ento::SwitchNodeBuilder::generateCaseStmtNode(), clang::ento::SwitchNodeBuilder::generateDefaultCaseNode(), clang::ento::IndirectGotoNodeBuilder::generateNode(), clang::ento::NodeBuilder::generateNodeImpl(), clang::ento::ExprEngine::processCallEnter(), and clang::ento::ExprEngine::processCallExit().

◆ getNodeAllocator() ◆ isInterestingLValueExpr() bool ExplodedGraph::isInterestingLValueExpr ( const ExprEx ) static ◆ MakeEmptyGraph() std::unique_ptr< ExplodedGraph > clang::ento::ExplodedGraph::MakeEmptyGraph ( ) const inline ◆ nodes() [1/2] llvm::iterator_range< node_iterator > clang::ento::ExplodedGraph::nodes ( ) inline ◆ nodes() [2/2] ◆ num_eops() unsigned clang::ento::ExplodedGraph::num_eops ( ) const inline ◆ num_roots() unsigned clang::ento::ExplodedGraph::num_roots ( ) const inline ◆ reclaimRecentlyAllocatedNodes() void ExplodedGraph::reclaimRecentlyAllocatedNodes ( ) ◆ reserve() void clang::ento::ExplodedGraph::reserve ( unsigned  NodeCount ) inline ◆ roots_begin() [1/2] ◆ roots_begin() [2/2] ◆ roots_end() [1/2] ◆ roots_end() [2/2] ◆ size() unsigned clang::ento::ExplodedGraph::size ( ) const inline ◆ trim() ◆ CoreEngine ◆ BVC ◆ ChangedNodes NodeVector clang::ento::ExplodedGraph::ChangedNodes protected ◆ EndNodes ◆ FreeNodes ◆ Nodes llvm::FoldingSet<ExplodedNode> clang::ento::ExplodedGraph::Nodes protected ◆ NumNodes int64_t clang::ento::ExplodedGraph::NumNodes = 0 protected ◆ ReclaimCounter unsigned clang::ento::ExplodedGraph::ReclaimCounter protected ◆ ReclaimNodeInterval unsigned clang::ento::ExplodedGraph::ReclaimNodeInterval = 0 protected ◆ Roots

The roots of the simulation graph.

Usually there will be only one, but clients are free to establish multiple subgraphs within a single SimulGraph. Moreover, these subgraphs can often merge when paths from different roots reach the same state at the same program location.

Definition at line 314 of file ExplodedGraph.h.

Referenced by addRoot(), num_roots(), roots_begin(), and roots_end().

The documentation for this class was generated from the following files:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4