|
Static Value-Flow Analysis
|
#include <BasicBlockG.h>
Public Member Functions | |
| SVFBasicBlock (NodeID id, const FunObjVar *f) | |
| Constructor without name. | |
| SVFBasicBlock ()=delete | |
| ~SVFBasicBlock () | |
| const std::vector< const ICFGNode * > & | getICFGNodeList () const |
| const_iterator | begin () const |
| const_iterator | end () const |
| void | setFun (const FunObjVar *f) |
| void | addSuccBasicBlock (const SVFBasicBlock *succ2) |
| void | addPredBasicBlock (const SVFBasicBlock *pred2) |
| const FunObjVar * | getParent () const |
| const FunObjVar * | getFunction () const |
| const ICFGNode * | front () const |
| const ICFGNode * | back () const |
| std::vector< const SVFBasicBlock * > | getSuccessors () const |
| std::vector< const SVFBasicBlock * > | getPredecessors () const |
| u32_t | getNumSuccessors () const |
| u32_t | getBBSuccessorPos (const SVFBasicBlock *Succ) |
| u32_t | getBBSuccessorPos (const SVFBasicBlock *Succ) const |
| u32_t | getBBPredecessorPos (const SVFBasicBlock *succbb) |
| u32_t | getBBPredecessorPos (const SVFBasicBlock *succbb) const |
| const std::string | toString () const |
| Public Member Functions inherited from SVF::GenericNode< SVFBasicBlock, BasicBlockEdge > | |
| 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) |
| Public Member Functions inherited from SVF::SVFValue | |
| 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 |
| const bool | hasLLVMValue () const |
Static Public Member Functions | |
| static bool | classof (const SVFValue *node) |
| static bool | classof (const SVFBasicBlock *node) |
| Static Public Member Functions inherited from SVF::GenericNode< SVFBasicBlock, BasicBlockEdge > | |
| static bool | classof (const GenericNode< SVFBasicBlock, BasicBlockEdge > *) |
| static bool | classof (const SVFValue *) |
Public Attributes | |
| std::vector< const SVFBasicBlock * > | succBBs |
| std::vector< const SVFBasicBlock * > | predBBs |
Protected Member Functions | |
| const std::vector< const SVFBasicBlock * > | getSuccBBs () const |
| const std::vector< const SVFBasicBlock * > | getPredBBs () const |
| void | addICFGNode (const ICFGNode *icfgNode) |
| Function where this BasicBlock is. | |
Private Attributes | |
| std::vector< const ICFGNode * > | allICFGNodes |
| all ICFGNodes in this BasicBlock | |
| const FunObjVar * | fun |
Friends | |
| class | LLVMModuleSet |
| class | SVFIRBuilder |
| class | FunObjVar |
| class | ICFGBuilder |
| class | ICFG |
| class | GraphDBClient |
| OutStream & | operator<< (OutStream &o, const SVFBasicBlock &node) |
Additional Inherited Members | |
| Static Protected Member Functions inherited from SVF::SVFValue | |
| static bool | isICFGNodeKinds (GNodeK n) |
| Helper functions to check node kinds. | |
| static bool | isInterICFGNodeKind (GNodeK n) |
| static bool | isSVFVarKind (GNodeK n) |
| static bool | isValVarKinds (GNodeK n) |
| static bool | isConstantDataValVar (GNodeK n) |
| static bool | isObjVarKinds (GNodeK n) |
| static bool | isBaseObjVarKinds (GNodeK n) |
| static bool | isConstantDataObjVarKinds (GNodeK n) |
| static bool | isVFGNodeKinds (GNodeK n) |
| static bool | isArgumentVFGNodeKinds (GNodeK n) |
| static bool | isStmtVFGNodeKinds (GNodeK n) |
| static bool | isPHIVFGNodeKinds (GNodeK n) |
| static bool | isMRSVFGNodeKinds (GNodeK n) |
| static bool | isMSSAPHISVFGNodeKinds (GNodeK n) |
| Protected Attributes inherited from SVF::SVFValue | |
| NodeID | id |
| Node ID. | |
| GNodeK | nodeKind |
| Node kind. | |
| const SVFType * | type |
| SVF type. | |
| std::string | name |
| std::string | sourceLoc |
| Source code information of this value. | |
Definition at line 70 of file BasicBlockG.h.
| typedef std::vector<constICFGNode*>::const_iterator SVF::SVFBasicBlock::const_iterator |
Definition at line 80 of file BasicBlockG.h.
Constructor without name.
Definition at line 115 of file BasicBlockG.h.
|
delete |
|
inline |
Definition at line 120 of file BasicBlockG.h.
|
inlineprotected |
Function where this BasicBlock is.
attributes to be set only through Module builders e.g., LLVMModule
Definition at line 93 of file BasicBlockG.h.
|
inline |
Definition at line 182 of file BasicBlockG.h.
|
inline |
Definition at line 165 of file BasicBlockG.h.
|
inline |
Definition at line 216 of file BasicBlockG.h.
|
inline |
Definition at line 149 of file BasicBlockG.h.
|
inlinestatic |
Definition at line 130 of file BasicBlockG.h.
|
inlinestatic |
Definition at line 125 of file BasicBlockG.h.
|
inline |
Definition at line 154 of file BasicBlockG.h.
|
inline |
Definition at line 210 of file BasicBlockG.h.
|
inline |
Definition at line 270 of file BasicBlockG.h.
|
inline |
Definition at line 282 of file BasicBlockG.h.
|
inline |
Definition at line 245 of file BasicBlockG.h.
|
inline |
Definition at line 257 of file BasicBlockG.h.
|
inline |
Definition at line 204 of file BasicBlockG.h.
|
inline |
Definition at line 144 of file BasicBlockG.h.
|
inline |
Definition at line 241 of file BasicBlockG.h.
|
inline |
Definition at line 198 of file BasicBlockG.h.
|
inlineprotected |
Definition at line 108 of file BasicBlockG.h.
|
inline |
Definition at line 232 of file BasicBlockG.h.
|
inlineprotected |
Definition at line 103 of file BasicBlockG.h.
|
inline |
Definition at line 222 of file BasicBlockG.h.
|
inline |
Definition at line 160 of file BasicBlockG.h.
| const std::string SVFBasicBlock::toString | ( | ) | const |
Definition at line 13 of file BasicBlockG.cpp.
|
friend |
Definition at line 74 of file BasicBlockG.h.
|
friend |
Definition at line 77 of file BasicBlockG.h.
|
friend |
Definition at line 76 of file BasicBlockG.h.
|
friend |
Definition at line 75 of file BasicBlockG.h.
|
friend |
Definition at line 72 of file BasicBlockG.h.
|
friend |
Definition at line 136 of file BasicBlockG.h.
|
friend |
Definition at line 73 of file BasicBlockG.h.
|
private |
all ICFGNodes in this BasicBlock
Definition at line 85 of file BasicBlockG.h.
|
private |
Definition at line 86 of file BasicBlockG.h.
| std::vector<const SVFBasicBlock*> SVF::SVFBasicBlock::predBBs |
Definition at line 82 of file BasicBlockG.h.
| std::vector<const SVFBasicBlock*> SVF::SVFBasicBlock::succBBs |
Definition at line 81 of file BasicBlockG.h.