Static Value-Flow Analysis
Loading...
Searching...
No Matches
SVF::HareParForEdge Class Reference

#include <ThreadCallGraph.h>

Inheritance diagram for SVF::HareParForEdge:
SVF::CallGraphEdge SVF::GenericEdge< CallGraphNode >

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

Detailed Description

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

Definition at line 108 of file ThreadCallGraph.h.

Member Typedef Documentation

◆ ParForEdgeSet

Constructor & Destructor Documentation

◆ HareParForEdge()

SVF::HareParForEdge::HareParForEdge ( CallGraphNode * s,
CallGraphNode * d,
CallSiteID csId )
inline

Constructor.

Definition at line 113 of file ThreadCallGraph.h.

113 :
115 {
116 }
CallSiteID csId
Definition CallGraph.h:65
CallGraphEdge(CallGraphNode *s, CallGraphNode *d, CEDGEK kind, CallSiteID cs)
Constructor.
Definition CallGraph.h:68

◆ ~HareParForEdge()

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

Destructor.

Definition at line 118 of file ThreadCallGraph.h.

119 {
120 }

Member Function Documentation

◆ classof() [1/2]

bool SVF::HareParForEdge::classof ( const CallGraphEdge * edge)
inlinestatic

Definition at line 128 of file ThreadCallGraph.h.

129 {
130 return edge->getEdgeKind() == CallGraphEdge::HareParForEdge;
131 }

◆ classof() [2/2]

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

ClassOf.

Definition at line 124 of file ThreadCallGraph.h.

125 {
126 return true;
127 }

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