102 o <<
edge.toString();
107 virtual const std::string
toString()
const;
153 virtual const std::string
toString()
const;
205 return SVFUtil::cast<CallICFGNode>(
getSrcNode());
227 virtual const std::string
toString()
const;
250 assert(!
retPE &&
"we can only have one retPE for each RetCFGEdge");
276 virtual const std::string
toString()
const;
virtual const std::string toString() const
static bool classof(const ICFGEdge *edge)
static bool classof(const CallCFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
const CallICFGNode * getCallSite() const
Return call ICFGNode at the callsite.
std::vector< const CallPE * > callPEs
const std::vector< const CallPE * > & getCallPEs() const
Add get parameter edge to this CallCFGEdge.
void addCallPE(const CallPE *callPE)
Add call parameter edge to this CallCFGEdge.
CallCFGEdge(ICFGNode *s, ICFGNode *d)
Constructor.
static bool classof(const GenericICFGEdgeTy *edge)
NodeType * getSrcNode() const
GEdgeKind getEdgeKind() const
static constexpr unsigned char EdgeKindMaskBits
We use the lower 8 bits to denote edge kind.
OrderedSet< EdgeType *, typename EdgeType::equalGEdge > GEdgeSetTy
Edge kind.
static GEdgeFlag makeEdgeFlagWithInvokeID(GEdgeKind k, CallSiteID cs)
Compute the unique edgeFlag value from edge kind and CallSiteID.
bool isCallCFGEdge() const
bool isCFGEdge() const
Get methods of the components.
GenericNode< ICFGNode, ICFGEdge >::GEdgeSetTy ICFGEdgeSetTy
bool isIntraCFGEdge() const
virtual const std::string toString() const
friend OutStream & operator<<(OutStream &o, const ICFGEdge &edge)
Overloading operator << for dumping ICFG node ID.
ICFGEdge(ICFGNode *s, ICFGNode *d, GEdgeFlag k)
Constructor.
ICFGEdgeSetTy SVFGEdgeSetTy
bool isRetCFGEdge() const
s64_t getSuccessorCondValue() const
virtual const std::string toString() const
void setConditionVar(const SVFVar *c)
const SVFVar * conditionVar
static bool classof(const IntraCFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
void setBranchCondVal(s64_t bVal)
static bool classof(const GenericICFGEdgeTy *edge)
const SVFVar * getCondition() const
static bool classof(const ICFGEdge *edge)
IntraCFGEdge(ICFGNode *s, ICFGNode *d)
Constructor.
const CallICFGNode * getCallSite() const
Return call ICFGNode at the callsite.
static bool classof(const GenericICFGEdgeTy *edge)
void addRetPE(const RetPE *ret)
Add call parameter edge to this CallCFGEdge.
RetCFGEdge(ICFGNode *s, ICFGNode *d)
Constructor.
static bool classof(const RetCFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
const RetPE * getRetPE() const
Add get parameter edge to this CallCFGEdge.
virtual const std::string toString() const
static bool classof(const ICFGEdge *edge)
GenericEdge< ICFGNode > GenericICFGEdgeTy
llvm::IRBuilder IRBuilder