|
Static Value-Flow Analysis
|
#include <ThreadCallGraph.h>
Public Types | |
| typedef GenericNode< CallGraphNode, HareParForEdge >::GEdgeSetTy | ParForEdgeSet |
| Public Types inherited from SVF::CallGraphEdge | |
| enum | CEDGEK { CallRetEdge , TDForkEdge , TDJoinEdge , HareParForEdge } |
| typedef Set< const CallICFGNode * > | CallInstSet |
| typedef GenericNode< CallGraphNode, CallGraphEdge >::GEdgeSetTy | CallGraphEdgeSet |
| Public Types inherited from SVF::GenericEdge< CallGraphNode > | |
| typedef CallGraphNode | NodeType |
| Node type. | |
| typedef u64_t | GEdgeFlag |
| typedef s64_t | GEdgeKind |
| typedef struct SVF::GenericEdge::equalGEdge | equalGEdge |
| Add the hash function for std::set (we also can overload operator< to implement this). | |
Public Member Functions | |
| HareParForEdge (CallGraphNode *s, CallGraphNode *d, CallSiteID csId) | |
| Constructor. | |
| virtual | ~HareParForEdge () |
| Destructor. | |
| Public Member Functions inherited from SVF::CallGraphEdge | |
| CallGraphEdge (CallGraphNode *s, CallGraphNode *d, CEDGEK kind, CallSiteID cs) | |
| Constructor. | |
| virtual | ~CallGraphEdge () |
| Destructor. | |
| CallSiteID | getCallSiteID () const |
| Get direct and indirect calls. | |
| bool | isDirectCallEdge () const |
| bool | isIndirectCallEdge () const |
| CallInstSet & | getDirectCalls () |
| CallInstSet & | getIndirectCalls () |
| const CallInstSet & | getDirectCalls () const |
| const CallInstSet & | getIndirectCalls () const |
| void | addDirectCallSite (const CallICFGNode *call) |
| Add direct and indirect callsite. | |
| void | addInDirectCallSite (const CallICFGNode *call) |
| CallInstSet::const_iterator | directCallsBegin () const |
| Iterators for direct and indirect callsites. | |
| CallInstSet::const_iterator | directCallsEnd () const |
| CallInstSet::const_iterator | indirectCallsBegin () const |
| CallInstSet::const_iterator | indirectCallsEnd () const |
| virtual const std::string | toString () const |
| Public Member Functions inherited from SVF::GenericEdge< CallGraphNode > | |
| GenericEdge (CallGraphNode *s, CallGraphNode *d, GEdgeFlag k) | |
| Constructor. | |
| virtual | ~GenericEdge () |
| Destructor. | |
| NodeID | getSrcID () const |
| get methods of the components | |
| NodeID | getDstID () const |
| GEdgeKind | getEdgeKind () const |
| GEdgeKind | getEdgeKindWithoutMask () const |
| NodeType * | getSrcNode () const |
| NodeType * | getDstNode () const |
| virtual bool | operator== (const GenericEdge< NodeType > *rhs) const |
Static Public Member Functions | |
| static bool | classof (const HareParForEdge *) |
| ClassOf. | |
| static bool | classof (const CallGraphEdge *edge) |
| Static Public Member Functions inherited from SVF::CallGraphEdge | |
| static GEdgeFlag | makeEdgeFlagWithInvokeID (GEdgeKind k, CallSiteID cs) |
| Compute the unique edgeFlag value from edge kind and CallSiteID. | |
| static bool | classof (const CallGraphEdge *) |
| ClassOf. | |
| static bool | classof (const GenericPTACallGraphEdgeTy *edge) |
Additional Inherited Members | |
| Static Protected Attributes inherited from SVF::GenericEdge< CallGraphNode > | |
| static constexpr unsigned char | EdgeKindMaskBits |
| We use the lower 8 bits to denote edge kind. | |
| static constexpr u64_t | EdgeKindMask |
hare_parallel_for edge from fork site to the entry of a start routine function
Definition at line 108 of file ThreadCallGraph.h.
Definition at line 134 of file ThreadCallGraph.h.
|
inline |
Constructor.
Definition at line 113 of file ThreadCallGraph.h.
|
inlinevirtual |
|
inlinestatic |
Definition at line 128 of file ThreadCallGraph.h.
|
inlinestatic |