|
Static Value-Flow Analysis
|
whether this is an argument in dead function
Definition at line 176 of file LLVMUtil.h.
Return true if this is an argument of a program entry function (e.g. main)
Definition at line 184 of file LLVMUtil.h.
| bool SVF::LLVMUtil::basicBlockHasRetInst | ( | const BasicBlock * | bb | ) |
Return true if the function has a return instruction.
Return true if the basic block has a return instruction
Definition at line 110 of file LLVMUtil.cpp.
Definition at line 355 of file LLVMUtil.h.
Definition at line 638 of file LLVMUtil.cpp.
Return true if the function has a return instruction reachable from function entry
Definition at line 124 of file LLVMUtil.cpp.
Get all called funcions in a parent function.
Definition at line 365 of file LLVMUtil.cpp.
Definition at line 114 of file LLVMUtil.h.
|
inlinestatic |
Definition at line 333 of file LLVMUtil.h.
|
inline |
Definition at line 71 of file LLVMUtil.h.
Return the bitcast instruction right next to val, otherwise return nullptr
If type is void* (i8*) and val is immediately used at a bitcast instruction
Definition at line 279 of file LLVMUtil.cpp.
Definition at line 437 of file LLVMUtil.cpp.
| void SVF::LLVMUtil::getFunReachableBBs | ( | const Function * | fun, |
| std::vector< const SVFBasicBlock * > & | reachableBBs | ||
| ) |
Get reachable basic block from function entry.
Return reachable bbs from function entry
Definition at line 76 of file LLVMUtil.cpp.
find the unique defined global across multiple modules
Definition at line 441 of file LLVMUtil.cpp.
Definition at line 402 of file LLVMUtil.cpp.
|
inline |
Return LLVM callsite given a value.
Definition at line 108 of file LLVMUtil.h.
Return LLVM function if this value is.
Definition at line 121 of file LLVMUtil.h.
| void SVF::LLVMUtil::getNextInsts | ( | const Instruction * | curInst, |
| std::vector< const Instruction * > & | instList | ||
| ) |
Get the next instructions following control flow.
Definition at line 589 of file LLVMUtil.cpp.
Return size of this object based on LLVM value.
Return size of this Object
Definition at line 297 of file LLVMUtil.cpp.
Get program entry function from module.
Definition at line 465 of file LLVMUtil.h.
Get program entry function from module.
Definition at line 41 of file LLVMUtil.cpp.
|
inlinestatic |
Definition at line 148 of file LLVMUtil.h.
Get the meta data (line number and file name) info of a LLVM value
Definition at line 454 of file LLVMUtil.cpp.
Get source code line number of a function according to debug info
Definition at line 572 of file LLVMUtil.cpp.
Return true if the argument in a function does not have a caller.
Definition at line 205 of file LLVMUtil.h.
|
inline |
Definition at line 310 of file LLVMUtil.h.
Check whether this value is a black hole.
Definition at line 137 of file LLVMUtil.h.
|
inline |
Whether an instruction is a call or invoke instruction.
Definition at line 61 of file LLVMUtil.h.
Whether an instruction is a call or invoke instruction.
Definition at line 66 of file LLVMUtil.h.
|
inline |
Definition at line 265 of file LLVMUtil.h.
|
inline |
Definition at line 299 of file LLVMUtil.h.
Check whether this value points-to a constant object.
Check whether this value points-to a constant object
Definition at line 684 of file CppUtil.cpp.
Return true if the value refers to constant data, e.g., i32 0.
Definition at line 415 of file LLVMUtil.h.
Definition at line 385 of file LLVMUtil.cpp.
|
inline |
Return corresponding constant expression, otherwise return nullptr.
Definition at line 235 of file LLVMUtil.h.
|
inline |
Definition at line 443 of file LLVMUtil.h.
| bool SVF::LLVMUtil::isHeapAllocExtCallViaArg | ( | const Instruction * | inst | ) |
Definition at line 664 of file LLVMUtil.cpp.
| bool SVF::LLVMUtil::isHeapAllocExtCallViaRet | ( | const Instruction * | inst | ) |
Definition at line 649 of file LLVMUtil.cpp.
Check if a given value represents a heap object.
| val | The value to check. |
Definition at line 698 of file LLVMUtil.cpp.
|
inline |
Definition at line 245 of file LLVMUtil.h.
Definition at line 191 of file LLVMUtil.cpp.
| bool SVF::LLVMUtil::isIntrinsicInst | ( | const Instruction * | inst | ) |
Return true if it is an intrinsic instruction.
Definition at line 204 of file LLVMUtil.cpp.
Check whether a file is an LLVM IR file.
Definition at line 316 of file LLVMUtil.cpp.
Definition at line 390 of file LLVMUtil.cpp.
Definition at line 396 of file LLVMUtil.cpp.
Function does not have any possible caller in the call graph.
Return true if the function does not have a caller (either it is a main function or a dead function)
Definition at line 199 of file LLVMUtil.h.
| bool SVF::LLVMUtil::isNonInstricCallSite | ( | const Instruction * | inst | ) |
Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls.
Definition at line 736 of file LLVMUtil.cpp.
|
inline |
Basic block does not have predecessors map-1.cpp.bc try.cont: ; No predecessors! call void @llvm.trap() unreachable
Definition at line 378 of file LLVMUtil.h.
Check whether this value is a black hole.
Definition at line 143 of file LLVMUtil.h.
Return true if this value refers to a object.
A value represents an object if it is 1) function, 2) global 3) stack 4) heap
Definition at line 61 of file LLVMUtil.cpp.
Check whether a function is an entry function (i.e., main)
Definition at line 130 of file LLVMUtil.h.
|
inline |
Definition at line 255 of file LLVMUtil.h.
Return true if this is value in a dead function (function without any caller)
Return true if this is a value in a dead function (function without any caller)
Definition at line 176 of file LLVMUtil.cpp.
|
inline |
Definition at line 275 of file LLVMUtil.h.
|
inline |
Definition at line 450 of file LLVMUtil.h.
| bool SVF::LLVMUtil::isStackAllocExtCallViaRet | ( | const Instruction * | inst | ) |
Definition at line 678 of file LLVMUtil.cpp.
| val | The value to check. |
Definition at line 720 of file LLVMUtil.cpp.
|
inline |
|
inline |
Definition at line 321 of file LLVMUtil.h.
whether this is a function without any possible caller?
Method for dead function, which does not have any possible caller function address is not taken and never be used in call or invoke instruction
Return true if this is a function without any possible caller
Definition at line 159 of file LLVMUtil.cpp.
| void SVF::LLVMUtil::processArguments | ( | int | argc, |
| char ** | argv, | ||
| int & | arg_num, | ||
| char ** | arg_value, | ||
| std::vector< std::string > & | moduleNameVec | ||
| ) |
Parse argument for multi-module analysis.
Get the names of all modules into a vector And process arguments
Definition at line 337 of file LLVMUtil.cpp.
| std::string SVF::LLVMUtil::restoreFuncName | ( | std::string | funcName | ) |
Definition at line 408 of file LLVMUtil.cpp.
Strip off the all casts.
Strip all casts
Definition at line 251 of file LLVMUtil.cpp.
Strip off the constant casts.
Strip constant casts
Definition at line 220 of file LLVMUtil.cpp.
Definition at line 232 of file LLVMUtil.cpp.
Definition at line 240 of file LLVMUtil.cpp.