Static Value-Flow Analysis
Public Types | Public Member Functions | Static Public Member Functions | List of all members
SVF::HareParForEdge Class Reference

#include <ThreadCallGraph.h>

Inheritance diagram for SVF::HareParForEdge:
SVF::PTACallGraphEdge SVF::GenericEdge< NodeTy >

Public Types

typedef GenericNode< PTACallGraphNode, HareParForEdge >::GEdgeSetTy ParForEdgeSet
 
- Public Types inherited from SVF::PTACallGraphEdge
enum  CEDGEK { CallRetEdge , TDForkEdge , TDJoinEdge , HareParForEdge }
 
typedef Set< const CallICFGNode * > CallInstSet
 
typedef GenericNode< PTACallGraphNode, PTACallGraphEdge >::GEdgeSetTy CallGraphEdgeSet
 
- Public Types inherited from SVF::GenericEdge< NodeTy >
typedef NodeTy NodeType
 Node type. More...
 
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) More...
 

Public Member Functions

 HareParForEdge (PTACallGraphNode *s, PTACallGraphNode *d, CallSiteID csId)
 Constructor. More...
 
virtual ~HareParForEdge ()
 Destructor. More...
 
- Public Member Functions inherited from SVF::PTACallGraphEdge
 PTACallGraphEdge (PTACallGraphNode *s, PTACallGraphNode *d, CEDGEK kind, CallSiteID cs)
 Constructor. More...
 
virtual ~PTACallGraphEdge ()
 Destructor. More...
 
CallSiteID getCallSiteID () const
 Get direct and indirect calls. More...
 
bool isDirectCallEdge () const
 
bool isIndirectCallEdge () const
 
CallInstSetgetDirectCalls ()
 
CallInstSetgetIndirectCalls ()
 
const CallInstSetgetDirectCalls () const
 
const CallInstSetgetIndirectCalls () const
 
void addDirectCallSite (const CallICFGNode *call)
 Add direct and indirect callsite. More...
 
void addInDirectCallSite (const CallICFGNode *call)
 
CallInstSet::const_iterator directCallsBegin () const
 Iterators for direct and indirect callsites. More...
 
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< NodeTy >
 GenericEdge (NodeTy *s, NodeTy *d, GEdgeFlag k)
 Constructor. More...
 
virtual ~GenericEdge ()
 Destructor. More...
 
NodeID getSrcID () const
 get methods of the components More...
 
NodeID getDstID () const
 
GEdgeKind getEdgeKind () const
 
GEdgeKind getEdgeKindWithoutMask () const
 
NodeTypegetSrcNode () const
 
NodeTypegetDstNode () const
 
virtual bool operator== (const GenericEdge< NodeType > *rhs) const
 

Static Public Member Functions

static bool classof (const HareParForEdge *)
 ClassOf. More...
 
static bool classof (const PTACallGraphEdge *edge)
 
- Static Public Member Functions inherited from SVF::PTACallGraphEdge
static GEdgeFlag makeEdgeFlagWithInvokeID (GEdgeKind k, CallSiteID cs)
 Compute the unique edgeFlag value from edge kind and CallSiteID. More...
 
static bool classof (const PTACallGraphEdge *)
 ClassOf. More...
 
static bool classof (const GenericCallGraphEdgeTy *edge)
 

Additional Inherited Members

- Static Protected Attributes inherited from SVF::GenericEdge< NodeTy >
static constexpr unsigned char EdgeKindMaskBits = 8
 We use the lower 8 bits to denote edge kind. More...
 
static constexpr u64_t EdgeKindMask = (~0ULL) >> (64 - EdgeKindMaskBits)
 

Detailed Description

hare_parallel_for edge from fork site to the entry of a start routine function

Definition at line 127 of file ThreadCallGraph.h.

Member Typedef Documentation

◆ ParForEdgeSet

Definition at line 153 of file ThreadCallGraph.h.

Constructor & Destructor Documentation

◆ HareParForEdge()

SVF::HareParForEdge::HareParForEdge ( PTACallGraphNode s,
PTACallGraphNode d,
CallSiteID  csId 
)
inline

Constructor.

Definition at line 132 of file ThreadCallGraph.h.

132  :
134  {
135  }
PTACallGraphEdge(PTACallGraphNode *s, PTACallGraphNode *d, CEDGEK kind, CallSiteID cs)
Constructor.
Definition: PTACallGraph.h:68

◆ ~HareParForEdge()

virtual SVF::HareParForEdge::~HareParForEdge ( )
inlinevirtual

Destructor.

Definition at line 137 of file ThreadCallGraph.h.

138  {
139  }

Member Function Documentation

◆ classof() [1/2]

static bool SVF::HareParForEdge::classof ( const HareParForEdge )
inlinestatic

ClassOf.

Definition at line 143 of file ThreadCallGraph.h.

144  {
145  return true;
146  }

◆ classof() [2/2]

static bool SVF::HareParForEdge::classof ( const PTACallGraphEdge edge)
inlinestatic

Definition at line 147 of file ThreadCallGraph.h.

148  {
149  return edge->getEdgeKind() == PTACallGraphEdge::HareParForEdge;
150  }

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