Static Value-Flow Analysis
|
#include <SVFValue.h>
Public Types | |
typedef std::vector< constSVFBasicBlock * >::const_iterator | const_iterator |
typedef SVFLoopAndDomInfo::BBSet | BBSet |
typedef SVFLoopAndDomInfo::BBList | BBList |
typedef SVFLoopAndDomInfo::LoopBBs | LoopBBs |
Public Types inherited from SVF::SVFValue | |
enum | SVFValKind { SVFVal , SVFFunc , SVFBB , SVFInst , SVFCall , SVFVCall , SVFGlob , SVFArg , SVFConst , SVFConstData , SVFConstInt , SVFConstFP , SVFNullPtr , SVFBlackHole , SVFMetaAsValue , SVFOther } |
typedef s64_t | GNodeK |
Static Public Member Functions | |
static bool | classof (const SVFValue *node) |
Protected Member Functions | |
void | setCallGraphNode (CallGraphNode *cgn) |
call graph node for this function | |
void | addBasicBlock (const SVFBasicBlock *bb) |
attributes to be set only through Module builders e.g., LLVMModule | |
void | addArgument (SVFArgument *arg) |
void | setIsUncalledFunction (bool uncalledFunction) |
void | setIsNotRet (bool notRet) |
void | setDefFunForMultipleModule (const SVFFunction *deffun) |
Protected Member Functions inherited from SVF::SVFValue | |
SVFValue (const SVFType *ty, SVFValKind k) | |
Constructor without name. | |
void | setConstDataOrAggData () |
void | setPtrInUncalledFunction () |
Private Attributes | |
bool | isDecl |
bool | intrinsic |
return true if this function does not have a body | |
bool | addrTaken |
return true if this function is an intrinsic function (e.g., llvm.dbg), which does not reside in the application code | |
bool | isUncalled |
return true if this function is address-taken (for indirect call purposes) | |
bool | isNotRet |
return true if this function is never called | |
bool | varArg |
return true if this function never returns | |
const SVFFunctionType * | funcType |
return true if this function supports variable arguments | |
SVFLoopAndDomInfo * | loopAndDom |
FunctionType, which is different from the type (PointerType) of this SVFFunction. | |
const SVFFunction * | realDefFun |
the loop and dominate information | |
std::vector< const SVFBasicBlock * > | allBBs |
the definition of a function across multiple modules | |
std::vector< const SVFArgument * > | allArgs |
all BasicBlocks of this function | |
SVFBasicBlock * | exitBlock |
all formal arguments of this function | |
const CallGraphNode * | callGraphNode |
a 'single' basic block having no successors and containing return instruction in a function | |
Friends | |
class | LLVMModuleSet |
class | SVFIRWriter |
class | SVFIRReader |
class | SVFIRBuilder |
Additional Inherited Members | |
Protected Attributes inherited from SVF::SVFValue | |
const SVFType * | type |
Type of this SVFValue. | |
std::string | name |
Short name of value for printing & debugging. | |
std::string | sourceLoc |
Definition at line 297 of file SVFValue.h.
Definition at line 307 of file SVFValue.h.
Definition at line 306 of file SVFValue.h.
typedef std::vector<constSVFBasicBlock*>::const_iterator SVF::SVFFunction::const_iterator |
Definition at line 305 of file SVFValue.h.
Definition at line 308 of file SVFValue.h.
SVFFunction::SVFFunction | ( | const SVFType * | ty, |
const SVFFunctionType * | ft, | ||
bool | declare, | ||
bool | intrinsic, | ||
bool | addrTaken, | ||
bool | varg, | ||
SVFLoopAndDomInfo * | ld | ||
) |
Definition at line 152 of file SVFValue.cpp.
|
delete |
|
virtual |
Definition at line 161 of file SVFValue.cpp.
|
inlineprotected |
Definition at line 337 of file SVFValue.h.
|
inlineprotected |
attributes to be set only through Module builders e.g., LLVMModule
Definition at line 332 of file SVFValue.h.
u32_t SVFFunction::arg_size | ( | ) | const |
Definition at line 170 of file SVFValue.cpp.
|
inline |
Carefully! 'back' is just the last basic block of function, but not necessarily a exit basic block more refer to: https://github.com/SVF-tools/SVF/pull/1262
Definition at line 437 of file SVFValue.h.
|
inline |
Definition at line 446 of file SVFValue.h.
Definition at line 368 of file SVFValue.h.
|
inline |
Definition at line 516 of file SVFValue.h.
|
inline |
Definition at line 451 of file SVFValue.h.
|
inline |
Definition at line 432 of file SVFValue.h.
const SVFArgument * SVFFunction::getArg | ( | u32_t | idx | ) | const |
|
inline |
Definition at line 456 of file SVFValue.h.
|
inline |
Definition at line 363 of file SVFValue.h.
|
inline |
Definition at line 404 of file SVFValue.h.
|
inline |
Definition at line 506 of file SVFValue.h.
|
inline |
Definition at line 501 of file SVFValue.h.
|
inline |
Definition at line 420 of file SVFValue.h.
const SVFBasicBlock * SVFFunction::getExitBB | ( | ) | const |
Carefully! when you call getExitBB, you need ensure the function has return instruction more refer to: https://github.com/SVF-tools/SVF/pull/1262
Definition at line 186 of file SVFValue.cpp.
|
inline |
Definition at line 476 of file SVFValue.h.
|
inline |
Returns the FunctionType.
Definition at line 393 of file SVFValue.h.
|
inline |
Definition at line 373 of file SVFValue.h.
|
inline |
Definition at line 491 of file SVFValue.h.
|
inline |
Definition at line 486 of file SVFValue.h.
|
inline |
Definition at line 461 of file SVFValue.h.
|
inline |
Definition at line 387 of file SVFValue.h.
|
inline |
Definition at line 415 of file SVFValue.h.
|
inline |
Definition at line 481 of file SVFValue.h.
|
inline |
Definition at line 471 of file SVFValue.h.
|
inline |
Definition at line 377 of file SVFValue.h.
|
inline |
Definition at line 382 of file SVFValue.h.
|
inline |
Definition at line 511 of file SVFValue.h.
|
inline |
Definition at line 466 of file SVFValue.h.
bool SVFFunction::isVarArg | ( | ) | const |
Definition at line 181 of file SVFValue.cpp.
|
inline |
Definition at line 496 of file SVFValue.h.
|
inline |
Definition at line 521 of file SVFValue.h.
|
inlineprotected |
call graph node for this function
Definition at line 326 of file SVFValue.h.
|
inlineprotected |
Definition at line 352 of file SVFValue.h.
void SVFFunction::setExitBlock | ( | SVFBasicBlock * | bb | ) |
Definition at line 193 of file SVFValue.cpp.
|
inlineprotected |
Definition at line 347 of file SVFValue.h.
|
inlineprotected |
Definition at line 342 of file SVFValue.h.
|
friend |
Definition at line 299 of file SVFValue.h.
|
friend |
Definition at line 302 of file SVFValue.h.
|
friend |
Definition at line 301 of file SVFValue.h.
|
friend |
Definition at line 300 of file SVFValue.h.
|
private |
return true if this function is an intrinsic function (e.g., llvm.dbg), which does not reside in the application code
Definition at line 313 of file SVFValue.h.
|
private |
all BasicBlocks of this function
Definition at line 321 of file SVFValue.h.
|
private |
the definition of a function across multiple modules
Definition at line 320 of file SVFValue.h.
|
private |
a 'single' basic block having no successors and containing return instruction in a function
Definition at line 323 of file SVFValue.h.
|
private |
all formal arguments of this function
Definition at line 322 of file SVFValue.h.
|
private |
return true if this function supports variable arguments
Definition at line 317 of file SVFValue.h.
|
private |
return true if this function does not have a body
Definition at line 312 of file SVFValue.h.
|
private |
Definition at line 311 of file SVFValue.h.
|
private |
return true if this function is never called
Definition at line 315 of file SVFValue.h.
|
private |
return true if this function is address-taken (for indirect call purposes)
Definition at line 314 of file SVFValue.h.
|
private |
FunctionType, which is different from the type (PointerType) of this SVFFunction.
Definition at line 318 of file SVFValue.h.
|
private |
the loop and dominate information
Definition at line 319 of file SVFValue.h.
|
private |
return true if this function never returns
Definition at line 316 of file SVFValue.h.