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) | |
Static Public Member Functions | |
static bool | classof (const BinaryOPStmt *) |
Methods for support type inquiry through isa, cast, and dyn_cast: | |
static bool | classof (const SVFStmt *edge) |
static bool | classof (const MultiOpndStmt *edge) |
static bool | classof (const GenericPAGEdgeTy *edge) |
Static Public Member Functions inherited from SVF::MultiOpndStmt | |
static bool | classof (const MultiOpndStmt *) |
Methods for support type inquiry through isa, cast, and dyn_cast: | |
static bool | classof (const SVFStmt *node) |
static bool | classof (const GenericPAGEdgeTy *node) |
Static Public Member Functions inherited from SVF::SVFStmt | |
static bool | classof (const SVFStmt *) |
ClassOf. | |
static bool | classof (const GenericPAGEdgeTy *edge) |
static GEdgeFlag | makeEdgeFlagWithAddionalOpnd (GEdgeKind k, const SVFVar *var) |
static GEdgeFlag | makeEdgeFlagWithCallInst (GEdgeKind k, const ICFGNode *cs) |
static GEdgeFlag | makeEdgeFlagWithStoreInst (GEdgeKind k, const ICFGNode *store) |
Private Member Functions | |
BinaryOPStmt () | |
Constructs empty BinaryOPStmt (for SVFIRReader/serialization) | |
BinaryOPStmt (const BinaryOPStmt &) | |
place holder | |
void | operator= (const BinaryOPStmt &) |
place holder | |
Private Attributes | |
u32_t | opcode |
Friends | |
class | SVFIRWriter |
class | SVFIRReader |
Additional Inherited Members | |
Static Public Attributes inherited from SVF::SVFStmt | |
static u32_t | totalEdgeNum |
Total edge number. | |
Protected Member Functions inherited from SVF::MultiOpndStmt | |
MultiOpndStmt (SVFVar *r, const OPVars &opnds, GEdgeFlag k) | |
Constructor, only used by subclasses but not external users. | |
MultiOpndStmt (GEdgeFlag k) | |
Constructs empty MultiOpndStmt (for SVFIRReader/serialization) | |
Protected Member Functions inherited from SVF::SVFStmt | |
SVFStmt (GEdgeFlag k) | |
Private constructor for reading SVFIR from file without side-effect. | |
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 1023 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 1037 of file SVFStatements.h.
|
inlineprivate |
Constructs empty BinaryOPStmt (for SVFIRReader/serialization)
Definition at line 1030 of file SVFStatements.h.
|
private |
place holder
constructor
Definition at line 366 of file SVFStatements.cpp.
|
inlinestatic |
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 1061 of file SVFStatements.h.
|
inlinestatic |
Definition at line 1073 of file SVFStatements.h.
|
inlinestatic |
Definition at line 1069 of file SVFStatements.h.
Definition at line 1065 of file SVFStatements.h.
|
inline |
Definition at line 1082 of file SVFStatements.h.
|
private |
place holder
|
overridevirtual |
Reimplemented from SVF::SVFStmt.
Definition at line 145 of file SVFStatements.cpp.
|
friend |
Definition at line 1026 of file SVFStatements.h.
|
friend |
Definition at line 1025 of file SVFStatements.h.
|
private |
Definition at line 1033 of file SVFStatements.h.