|
| typedef SVFLoopAndDomInfo::BBSet | BBSet |
| |
| typedef SVFLoopAndDomInfo::BBList | BBList |
| |
| typedef SVFLoopAndDomInfo::LoopBBs | LoopBBs |
| |
| typedef BasicBlockGraph::IDToNodeMapTy::const_iterator | const_bb_iterator |
| |
| typedef GNodeK | PNODEK |
| |
| typedef s64_t | GEdgeKind |
| |
| 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
} |
| |
|
| | FunObjVar (NodeID i, ObjTypeInfo *ti, const SVFType *svfType, const ICFGNode *node) |
| | Constructor.
|
| |
| virtual | ~FunObjVar () |
| |
| void | initFunObjVar (bool decl, bool intrinc, bool addr, bool uncalled, bool notret, bool vararg, const SVFFunctionType *ft, SVFLoopAndDomInfo *ld, const FunObjVar *real, BasicBlockGraph *bbg, const std::vector< const ArgValVar * > &allarg, const SVFBasicBlock *exit) |
| |
| void | setRelDefFun (const FunObjVar *real) |
| |
| virtual const FunObjVar * | getFunction () const |
| | Get containing function, or null for globals/constants.
|
| |
| void | addArgument (const ArgValVar *arg) |
| |
| bool | isDeclaration () const |
| |
| bool | isIntrinsic () const |
| |
| bool | hasAddressTaken () const |
| |
| bool | isVarArg () const |
| |
| bool | isUncalledFunction () const |
| |
| bool | hasReturn () const |
| |
| const SVFFunctionType * | getFunctionType () const |
| | Returns the FunctionType.
|
| |
| const SVFType * | getReturnType () const |
| | Returns the FunctionType.
|
| |
| SVFLoopAndDomInfo * | getLoopAndDomInfo () const |
| |
| const std::vector< const SVFBasicBlock * > & | getReachableBBs () const |
| |
| void | getExitBlocksOfLoop (const SVFBasicBlock *bb, BBList &exitbbs) const |
| |
| bool | hasLoopInfo (const SVFBasicBlock *bb) const |
| |
| const LoopBBs & | getLoopInfo (const SVFBasicBlock *bb) const |
| |
| const SVFBasicBlock * | getLoopHeader (const BBList &lp) const |
| |
| bool | loopContainsBB (const BBList &lp, const SVFBasicBlock *bb) const |
| |
| const Map< const SVFBasicBlock *, BBSet > & | getDomTreeMap () const |
| |
| const Map< const SVFBasicBlock *, BBSet > & | getDomFrontierMap () const |
| |
| bool | isLoopHeader (const SVFBasicBlock *bb) const |
| |
| bool | dominate (const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const |
| |
| bool | postDominate (const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const |
| |
| const FunObjVar * | getDefFunForMultipleModule () const |
| |
| void | setBasicBlockGraph (BasicBlockGraph *graph) |
| |
| BasicBlockGraph * | getBasicBlockGraph () |
| |
| const BasicBlockGraph * | getBasicBlockGraph () const |
| |
| bool | hasBasicBlock () const |
| |
| const SVFBasicBlock * | getEntryBlock () const |
| |
| const SVFBasicBlock * | getExitBB () const |
| |
| void | setExitBlock (SVFBasicBlock *bb) |
| |
| u32_t | arg_size () const |
| |
| const ArgValVar * | getArg (u32_t idx) const |
| |
| const SVFBasicBlock * | front () const |
| |
| const SVFBasicBlock * | back () const |
| |
| const_bb_iterator | begin () const |
| |
| const_bb_iterator | end () const |
| |
| virtual bool | isIsolatedNode () const |
| | Check if this node is isolated (no edges) in the SVFIR graph.
|
| |
| virtual const std::string | toString () const |
| | Get string representation.
|
| |
| | BaseObjVar (NodeID i, ObjTypeInfo *ti, const SVFType *svfType, const ICFGNode *node, PNODEK ty=BaseObjNode) |
| | Constructor.
|
| |
| virtual const BaseObjVar * | getBaseMemObj () const |
| |
| const ICFGNode * | getICFGNode () const |
| | Get the ICFGNode related to the creation of this object.
|
| |
| const std::string | getValueName () const |
| | Return name of a LLVM value.
|
| |
| NodeID | getId () const |
| | Get the memory object id.
|
| |
| const SVFType * | getType () const |
| | Get obj type.
|
| |
| u32_t | getNumOfElements () const |
| | Get the number of elements of this object.
|
| |
| void | setNumOfElements (u32_t num) |
| | Set the number of elements of this object.
|
| |
| u32_t | getMaxFieldOffsetLimit () const |
| | Get max field offset limit.
|
| |
| bool | isFieldInsensitive () const |
| | Return true if its field limit is 0.
|
| |
| void | setFieldInsensitive () |
| | Set the memory object to be field insensitive.
|
| |
| void | setFieldSensitive () |
| | Set the memory object to be field sensitive (up to max field limit)
|
| |
| bool | isBlackHoleObj () const |
| | Whether it is a black hole object.
|
| |
| u32_t | getByteSizeOfObj () const |
| | Get the byte size of this object.
|
| |
| bool | isConstantByteSize () const |
| | Check if byte size is a const value.
|
| |
| bool | isFunction () const |
| | object attributes methods
|
| |
| bool | isGlobalObj () const |
| |
| bool | isStaticObj () const |
| |
| bool | isStack () const |
| |
| bool | isHeap () const |
| |
| bool | isStruct () const |
| |
| bool | isArray () const |
| |
| bool | isVarStruct () const |
| |
| bool | isVarArray () const |
| |
| bool | isConstantStruct () const |
| |
| bool | isConstantArray () const |
| |
| bool | isConstDataOrConstGlobal () const |
| |
| virtual bool | isConstDataOrAggData () const |
| | Check if this variable represents constant/aggregate data.
|
| |
| void | destroy () |
| | Clean up memory.
|
| |
| | SVFVar (NodeID i, const SVFType *svfType, PNODEK k) |
| | Standard constructor with ID, type and kind.
|
| |
| virtual | ~SVFVar () |
| | Virtual destructor.
|
| |
| virtual bool | isPointer () const |
| | Check if this variable represents a pointer.
|
| |
| virtual bool | isConstDataOrAggDataButNotNullPtr () const |
| | Check if this variable represents constant data/metadata but not null pointer.
|
| |
| SVFStmt::SVFStmtSetTy & | getIncomingEdges (SVFStmt::PEDGEK kind) |
| | Edge accessors and checkers.
|
| |
| SVFStmt::SVFStmtSetTy & | getOutgoingEdges (SVFStmt::PEDGEK kind) |
| |
| bool | hasIncomingEdges (SVFStmt::PEDGEK kind) const |
| |
| bool | hasOutgoingEdges (SVFStmt::PEDGEK kind) const |
| |
| SVFStmt::SVFStmtSetTy::iterator | getIncomingEdgesBegin (SVFStmt::PEDGEK kind) const |
| | Edge iterators.
|
| |
| SVFStmt::SVFStmtSetTy::iterator | getIncomingEdgesEnd (SVFStmt::PEDGEK kind) const |
| |
| SVFStmt::SVFStmtSetTy::iterator | getOutgoingEdgesBegin (SVFStmt::PEDGEK kind) const |
| |
| SVFStmt::SVFStmtSetTy::iterator | getOutgoingEdgesEnd (SVFStmt::PEDGEK kind) const |
| |
| virtual bool | ptrInUncalledFunction () const |
| | Check if this pointer is in an uncalled function.
|
| |
| void | dump () const |
| | Debug dump to console.
|
| |
| | 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 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 908 of file SVFVariables.h.