30#ifndef INCLUDE_UTIL_VFGEDGE_H_
31#define INCLUDE_UTIL_VFGEDGE_H_
129 o <<
edge.toString();
134 virtual const std::string
toString()
const;
169 virtual const std::string
toString()
const;
204 virtual const std::string
toString()
const;
248 virtual const std::string
toString()
const;
290 virtual const std::string
toString()
const;
CallDirSVFGEdge(VFGNode *s, VFGNode *d, CallSiteID id)
Constructor.
static bool classof(const CallDirSVFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
static bool classof(const DirectSVFGEdge *edge)
static bool classof(const GenericVFGEdgeTy *edge)
CallSiteID getCallSiteId() const
Return callsite ID.
virtual const std::string toString() const
static bool classof(const VFGEdge *edge)
static bool classof(const DirectSVFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
static bool classof(const GenericVFGEdgeTy *edge)
DirectSVFGEdge(VFGNode *s, VFGNode *d, GEdgeFlag k)
Constructor.
virtual const std::string toString() const
static bool classof(const VFGEdge *edge)
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 bool classof(const DirectSVFGEdge *edge)
virtual const std::string toString() const
IntraDirSVFGEdge(VFGNode *s, VFGNode *d)
Constructor.
static bool classof(const IntraDirSVFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
static bool classof(const VFGEdge *edge)
static bool classof(const GenericVFGEdgeTy *edge)
static bool classof(const GenericVFGEdgeTy *edge)
static bool classof(const VFGEdge *edge)
RetDirSVFGEdge(VFGNode *s, VFGNode *d, CallSiteID id)
Constructor.
virtual const std::string toString() const
CallSiteID getCallSiteId() const
Return callsite ID.
static bool classof(const DirectSVFGEdge *edge)
static bool classof(const RetDirSVFGEdge *)
Methods for support type inquiry through isa, cast, and dyn_cast:
static GEdgeFlag makeEdgeFlagWithInvokeID(GEdgeKind k, CallSiteID cs)
Compute the unique edgeFlag value from edge kind and CallSiteID.
bool isRetVFGEdge() const
bool isCallVFGEdge() const
bool isRetDirectVFGEdge() const
GenericNode< VFGNode, VFGEdge >::GEdgeSetTy VFGEdgeSetTy
VFGEdgeSetTy SVFGEdgeSetTy
bool isIntraVFGEdge() const
friend OutStream & operator<<(OutStream &o, const VFGEdge &edge)
Overloading operator << for dumping ICFG node ID.
bool isDirectVFGEdge() const
Get methods of the components.
virtual const std::string toString() const
bool isCallDirectVFGEdge() const
VFGEdge(VFGNode *s, VFGNode *d, GEdgeFlag k)
Constructor.
bool isIndirectVFGEdge() const
bool isThreadMHPIndirectVFGEdge() const
bool isRetIndirectVFGEdge() const
bool isCallIndirectVFGEdge() const
GenericEdge< VFGNode > GenericVFGEdgeTy
llvm::IRBuilder IRBuilder