|
Static Value-Flow Analysis
|
#include <SVFStatements.h>
Public Types | |
| enum | OpCode : unsigned { Add = 13 , FAdd = 14 , Sub = 15 , FSub = 16 , Mul = 17 , FMul = 18 , UDiv = 19 , SDiv = 20 , FDiv = 21 , URem = 22 , SRem = 23 , FRem = 24 , Shl = 25 , LShr = 26 , AShr = 27 , And = 28 , Or = 29 , Xor = 30 } |
| OpCode for BinaryOPStmt, enum value is same to llvm BinaryOperator (llvm/IR/Instruction.def) More... | |
Public Types inherited from SVF::MultiOpndStmt | |
| typedef std::vector< SVFVar * > | OPVars |
Public Types inherited from SVF::SVFStmt | |
| 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 |
Public Types inherited from SVF::GenericEdge< NodeTy > | |
| typedef NodeTy | 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) | |
Private Member Functions | |
| BinaryOPStmt (const BinaryOPStmt &) | |
| place holder | |
| void | operator= (const BinaryOPStmt &) |
| place holder | |
Private Attributes | |
| u32_t | opcode |
Friends | |
| class | GraphDBClient |
Additional Inherited Members | |
Protected Member Functions inherited from SVF::MultiOpndStmt | |
| MultiOpndStmt (SVFVar *r, const OPVars &opnds, GEdgeFlag k) | |
| Constructor, only used by subclasses but not external users. | |
Protected Member Functions inherited from SVF::SVFStmt | |
| 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 Protected Member Functions inherited from SVF::SVFStmt | |
| static void | addInst2Labeled (const ICFGNode *cs, u32_t label) |
| static void | addVar2Labeled (const SVFVar *var, u32_t label) |
Protected Attributes inherited from SVF::MultiOpndStmt | |
| OPVars | opVars |
Static Protected Attributes inherited from SVF::GenericEdge< NodeTy > | |
| static constexpr unsigned char | EdgeKindMaskBits = 8 |
| We use the lower 8 bits to denote edge kind. | |
| static constexpr u64_t | EdgeKindMask = (~0ULL) >> (64 - EdgeKindMaskBits) |
Binary statement
Definition at line 1078 of file SVFStatements.h.
OpCode for BinaryOPStmt, enum value is same to llvm BinaryOperator (llvm/IR/Instruction.def)
| Enumerator | |
|---|---|
| Add | |
| FAdd | |
| Sub | |
| FSub | |
| Mul | |
| FMul | |
| UDiv | |
| SDiv | |
| FDiv | |
| URem | |
| SRem | |
| FRem | |
| Shl | |
| LShr | |
| AShr | |
| And | |
| Or | |
| Xor | |
Definition at line 1088 of file SVFStatements.h.
|
private |
place holder
constructor
Definition at line 378 of file SVFStatements.cpp.
|
inlinestatic |
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 1112 of file SVFStatements.h.
|
inlinestatic |
Definition at line 1124 of file SVFStatements.h.
|
inlinestatic |
Definition at line 1120 of file SVFStatements.h.
Definition at line 1116 of file SVFStatements.h.
|
inline |
Definition at line 1133 of file SVFStatements.h.
|
private |
place holder
|
overridevirtual |
Reimplemented from SVF::SVFStmt.
Definition at line 155 of file SVFStatements.cpp.
Definition at line 1080 of file SVFStatements.h.
|
private |
Definition at line 1084 of file SVFStatements.h.