|
| typedef Map< u32_t, const ICFGNode * > | OPIncomingBBs |
| |
| typedef Map< u32_t, const PAGNode * > | OPVers |
| |
| typedef GNodeK | VFGNodeK |
| |
| typedef VFGEdge::VFGEdgeSetTy::iterator | iterator |
| |
| typedef VFGEdge::VFGEdgeSetTy::const_iterator | const_iterator |
| |
| typedef Set< const CallPE * > | CallPESet |
| |
| typedef Set< const RetPE * > | RetPESet |
| |
| typedef NodeTy | NodeType |
| |
| typedef EdgeTy | EdgeType |
| |
| typedef OrderedSet< EdgeType *, typename EdgeType::equalGEdge > | GEdgeSetTy |
| | Edge kind.
|
| |
| typedef GEdgeSetTy::iterator | iterator |
| |
| typedef GEdgeSetTy::const_iterator | const_iterator |
| |
| enum | GNodeK {
IntraBlock
, GlobalBlock
, FunEntryBlock
, FunExitBlock
,
FunCallBlock
, FunRetBlock
, ValNode
, ArgValNode
,
FunValNode
, GepValNode
, RetValNode
, VarargValNode
,
GlobalValNode
, ConstAggValNode
, ConstDataValNode
, BlackHoleValNode
,
ConstFPValNode
, ConstIntValNode
, ConstNullptrValNode
, DummyValNode
,
ObjNode
, GepObjNode
, BaseObjNode
, FunObjNode
,
HeapObjNode
, StackObjNode
, GlobalObjNode
, ConstAggObjNode
,
ConstDataObjNode
, ConstFPObjNode
, ConstIntObjNode
, ConstNullptrObjNode
,
DummyObjNode
, Cmp
, BinaryOp
, UnaryOp
,
Branch
, DummyVProp
, NPtr
, FRet
,
ARet
, AParm
, FParm
, Addr
,
Copy
, Gep
, Store
, Load
,
TPhi
, TIntraPhi
, TInterPhi
, FPIN
,
FPOUT
, APIN
, APOUT
, MPhi
,
MIntraPhi
, MInterPhi
, CallNodeKd
, CDNodeKd
,
CFLNodeKd
, CHNodeKd
, ConstraintNodeKd
, TCTNodeKd
,
DCHNodeKd
, BasicBlockKd
, OtherKd
} |
| |
|
| | IntraPHIVFGNode (NodeID id, const PAGNode *r) |
| | Constructor.
|
| |
| const ICFGNode * | getOpIncomingBB (u32_t pos) const |
| |
| void | setOpVerAndBB (u32_t pos, const PAGNode *node, const ICFGNode *bb) |
| |
| const std::string | toString () const override |
| |
| | PHIVFGNode (NodeID id, const PAGNode *r, VFGNodeK k=TPhi) |
| | Constructor.
|
| |
| bool | isPTANode () const |
| | Whether this phi node is of pointer type (used for pointer analysis).
|
| |
| const PAGNode * | getOpVer (u32_t pos) const |
| | Operands at a llvm PHINode.
|
| |
| void | setOpVer (u32_t pos, const PAGNode *node) |
| |
| const PAGNode * | getRes () const |
| |
| u32_t | getOpVerNum () const |
| |
| OPVers::const_iterator | opVerBegin () const |
| |
| OPVers::const_iterator | opVerEnd () const |
| |
| const NodeBS | getDefSVFVars () const override |
| | Return the left hand side SVF Vars.
|
| |
| const SVFVar * | getValue () const override |
| | Return the corresponding LLVM value, if possible, nullptr otherwise.
|
| |
| const std::string | toString () const override |
| |
| | VFGNode (NodeID i, VFGNodeK k) |
| | Constructor.
|
| |
| virtual const ICFGNode * | getICFGNode () const |
| | Return corresponding ICFG node.
|
| |
| virtual void | setICFGNode (const ICFGNode *node) |
| | Set corresponding ICFG node.
|
| |
| virtual const FunObjVar * | getFun () const |
| | Get the function of this SVFGNode.
|
| |
| | GenericNode (NodeID i, GNodeK k, const SVFType *svfType=nullptr) |
| | Constructor.
|
| |
| virtual | ~GenericNode () |
| | Destructor.
|
| |
| bool | hasIncomingEdge () const |
| | Has incoming/outgoing edge set.
|
| |
| bool | hasOutgoingEdge () const |
| |
| iterator | OutEdgeBegin () |
| | iterators
|
| |
| iterator | OutEdgeEnd () |
| |
| iterator | InEdgeBegin () |
| |
| iterator | InEdgeEnd () |
| |
| const_iterator | OutEdgeBegin () const |
| |
| const_iterator | OutEdgeEnd () const |
| |
| const_iterator | InEdgeBegin () const |
| |
| const_iterator | InEdgeEnd () const |
| |
| virtual iterator | directOutEdgeBegin () |
| | Iterators used for SCC detection, overwrite it in child class if necessary.
|
| |
| virtual iterator | directOutEdgeEnd () |
| |
| virtual iterator | directInEdgeBegin () |
| |
| virtual iterator | directInEdgeEnd () |
| |
| virtual const_iterator | directOutEdgeBegin () const |
| |
| virtual const_iterator | directOutEdgeEnd () const |
| |
| virtual const_iterator | directInEdgeBegin () const |
| |
| virtual const_iterator | directInEdgeEnd () const |
| |
| bool | addIncomingEdge (EdgeType *inEdge) |
| | Add incoming and outgoing edges.
|
| |
| bool | addOutgoingEdge (EdgeType *outEdge) |
| |
| EdgeType * | hasIncomingEdge (EdgeType *edge) const |
| | Find incoming and outgoing edges.
|
| |
| EdgeType * | hasOutgoingEdge (EdgeType *edge) const |
| |
| const GEdgeSetTy & | getOutEdges () const |
| |
| const GEdgeSetTy & | getInEdges () const |
| |
| u32_t | removeIncomingEdge (EdgeType *edge) |
| |
| u32_t | removeOutgoingEdge (EdgeType *edge) |
| |
| | SVFValue (NodeID i, GNodeK k, const SVFType *ty=nullptr) |
| |
| NodeID | getId () const |
| | Get ID.
|
| |
| GNodeK | getNodeKind () const |
| | Get node kind.
|
| |
| virtual const SVFType * | getType () const |
| |
| virtual void | setName (const std::string &nameInfo) |
| |
| virtual void | setName (std::string &&nameInfo) |
| |
| virtual const std::string & | getName () const |
| |
| virtual void | setSourceLoc (const std::string &sourceCodeInfo) |
| |
| virtual const std::string | getSourceLoc () const |
| |
| const std::string | valueOnlyToString () const |
| |
Definition at line 749 of file VFGNode.h.