#include <SVFStatements.h>
|
| | TDForkPE (ValVar *res, const OPVars &opnds, const CallICFGNodeVec &icfgNodes, const FunEntryICFGNode *e) |
| | constructor
|
| virtual const std::string | toString () const |
| | CallPE (ValVar *res, const OPVars &opnds, const CallICFGNodeVec &icfgNodes, const FunEntryICFGNode *e, GEdgeKind k=SVFStmt::Call) |
| | constructor
|
| void | addOpVar (ValVar *op, const CallICFGNode *call) |
| | Add an operand (actual param) from a call site.
|
| const CallICFGNode * | getOpCallICFGNode (u32_t op_idx) const |
| | Return the CallICFGNode of the i-th operand.
|
| const CallICFGNodeVec & | getOpCallICFGNodes () const |
| | Return all call site ICFGNodes.
|
| const FunEntryICFGNode * | getFunEntryICFGNode () const |
| | Return the function entry node.
|
| const ValVar * | getOpVar (u32_t pos) const |
| | Operand SVFVars.
|
| const ValVar * | getRes () const |
| | Result SVFVar.
|
| NodeID | getOpVarID (u32_t pos) const |
| NodeID | getResID () const |
| u32_t | getOpVarNum () const |
| const OPVars & | getOpndVars () const |
| OPVars::const_iterator | opVarBegin () const |
| OPVars::const_iterator | opVerEnd () const |
| | SVFStmt (SVFVar *s, SVFVar *d, GEdgeFlag k, bool real=true) |
| | Constructor.
|
| | ~SVFStmt () |
| | Destructor.
|
| EdgeID | getEdgeID () const |
| | Return Edge ID.
|
| virtual bool | isPTAEdge () const |
| | Whether src and dst nodes are both of pointer type.
|
| void | setValue (const SVFVar *val) |
| | Get/set methods for llvm instruction.
|
| const SVFVar * | getValue () const |
| void | setBB (const SVFBasicBlock *bb) |
| const SVFBasicBlock * | getBB () const |
| void | setICFGNode (ICFGNode *node) |
| ICFGNode * | getICFGNode () const |
| | GenericEdge (SVFVar *s, SVFVar *d, GEdgeFlag k) |
| | Constructor.
|
| virtual | ~GenericEdge () |
| | Destructor.
|
| NodeID | getSrcID () const |
| | get methods of the components
|
| NodeID | getDstID () const |
| GEdgeKind | getEdgeKind () const |
| GEdgeKind | getEdgeKindWithoutMask () const |
| NodeType * | getSrcNode () const |
| NodeType * | getDstNode () const |
| virtual bool | operator== (const GenericEdge< NodeType > *rhs) const |
|
| typedef std::vector< const CallICFGNode * > | CallICFGNodeVec |
| typedef std::vector< ValVar * > | OPVars |
| enum | PEDGEK {
Addr
, Copy
, Store
, Load
,
Call
, Ret
, Gep
, Phi
,
Select
, Cmp
, BinaryOp
, UnaryOp
,
Branch
, ThreadFork
, ThreadJoin
} |
| typedef GenericNode< SVFVar, SVFStmt >::GEdgeSetTy | SVFStmtSetTy |
| typedef Map< EdgeID, SVFStmtSetTy > | PAGEdgeToSetMapTy |
| typedef PAGEdgeToSetMapTy | KindToSVFStmtMapTy |
| typedef SVFStmtSetTy | PAGEdgeSetTy |
| typedef SVFVar | NodeType |
| | Node type.
|
| typedef u64_t | GEdgeFlag |
| typedef s64_t | GEdgeKind |
| typedef struct SVF::GenericEdge::equalGEdge | equalGEdge |
| | Add the hash function for std::set (we also can overload operator< to implement this).
|
| | MultiOpndStmt (ValVar *r, const OPVars &opnds, GEdgeFlag k) |
| | Constructor, only used by subclasses but not external users.
|
| | SVFStmt (GEdgeFlag k) |
| | Private constructor for reading SVFIR from file without side-effect.
|
| | SVFStmt (SVFVar *s, SVFVar *d, GEdgeFlag k, EdgeID eid, SVFVar *value, ICFGNode *icfgNode, bool real=true) |
| void | setBasicBlock (const SVFBasicBlock *bb) |
| void | setCallEdgeLabelCounter (u64_t counter) |
| void | setStoreEdgeLabelCounter (u64_t counter) |
| void | setMultiOpndLabelCounter (u64_t counter) |
| static void | addInst2Labeled (const ICFGNode *cs, u32_t label) |
| static void | addVar2Labeled (const SVFVar *var, u32_t label) |
| OPVars | opVars |
| static constexpr unsigned char | EdgeKindMaskBits |
| | We use the lower 8 bits to denote edge kind.
|
| static constexpr u64_t | EdgeKindMask |
Thread Fork
Definition at line 1330 of file SVFStatements.h.
◆ TDForkPE() [1/2]
| SVF::TDForkPE::TDForkPE |
( |
const TDForkPE & | | ) |
|
|
private |
◆ TDForkPE() [2/2]
constructor
Definition at line 1357 of file SVFStatements.h.
1361 {
1362 }
CallPE(const CallPE &)
place holder
◆ classof() [1/3]
◆ classof() [2/3]
| bool SVF::TDForkPE::classof |
( |
const SVFStmt * | edge | ) |
|
|
inlinestatic |
◆ classof() [3/3]
| bool SVF::TDForkPE::classof |
( |
const TDForkPE * | | ) |
|
|
inlinestatic |
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 1342 of file SVFStatements.h.
1343 {
1344 return true;
1345 }
◆ operator=()
| void SVF::TDForkPE::operator= |
( |
const TDForkPE & | | ) |
|
|
private |
◆ toString()
| const std::string TDForkPE::toString |
( |
| ) |
const |
|
virtual |
Reimplemented from SVF::CallPE.
Definition at line 274 of file SVFStatements.cpp.
275{
276 std::string str;
277 std::stringstream rawstr(str);
278 rawstr <<
"TDForkPE: [Var" <<
getResID() <<
" <-- (";
280 {
283 rawstr << ", ";
284 }
285 rawstr << ")] ";
287 {
288 rawstr << "\n";
290 }
291 return rawstr.str();
292}
const CallICFGNode * getOpCallICFGNode(u32_t op_idx) const
Return the CallICFGNode of the i-th operand.
NodeID getOpVarID(u32_t pos) const
u32_t getOpVarNum() const
static const Option< bool > ShowSVFIRValue
const SVFVar * getValue() const
NodeID getId() const
Get ID.
virtual const std::string toString() const
Get string representation.
◆ GraphDBClient
| friend class GraphDBClient |
|
friend |
The documentation for this class was generated from the following files: