svf-lib 1.0.2213 → 1.0.2215
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-linux/Release-build/bin/ae +0 -0
- package/SVF-linux/Release-build/bin/cfl +0 -0
- package/SVF-linux/Release-build/bin/dvf +0 -0
- package/SVF-linux/Release-build/bin/llvm2svf +0 -0
- package/SVF-linux/Release-build/bin/mta +0 -0
- package/SVF-linux/Release-build/bin/saber +0 -0
- package/SVF-linux/Release-build/bin/svf-ex +0 -0
- package/SVF-linux/Release-build/bin/wpa +0 -0
- package/SVF-linux/Release-build/include/DDA/DDAClient.h +6 -11
- package/SVF-linux/Release-build/include/DDA/DDAPass.h +1 -1
- package/SVF-linux/Release-build/include/Graphs/CHG.h +2 -3
- package/SVF-linux/Release-build/include/Graphs/GenericGraph.h +1 -286
- package/SVF-linux/Release-build/include/MTA/MTA.h +2 -2
- package/SVF-linux/Release-build/include/MTA/TCT.h +0 -6
- package/SVF-linux/Release-build/include/MemoryModel/PointerAnalysis.h +1 -7
- package/SVF-linux/Release-build/include/SABER/DoubleFreeChecker.h +1 -1
- package/SVF-linux/Release-build/include/SABER/FileChecker.h +1 -1
- package/SVF-linux/Release-build/include/SABER/LeakChecker.h +1 -1
- package/SVF-linux/Release-build/include/SABER/SaberCondAllocator.h +1 -2
- package/SVF-linux/Release-build/include/SABER/SrcSnkDDA.h +2 -2
- package/SVF-linux/Release-build/include/SVF-LLVM/BreakConstantExpr.h +1 -1
- package/SVF-linux/Release-build/include/SVF-LLVM/CppUtil.h +1 -1
- package/SVF-linux/Release-build/include/SVF-LLVM/DCHG.h +1 -1
- package/SVF-linux/Release-build/include/SVF-LLVM/LLVMLoopAnalysis.h +1 -1
- package/SVF-linux/Release-build/include/SVF-LLVM/LLVMModule.h +2 -2
- package/SVF-linux/Release-build/include/SVF-LLVM/LLVMUtil.h +1 -1
- package/SVF-linux/Release-build/include/SVF-LLVM/ObjTypeInference.h +1 -1
- package/SVF-linux/Release-build/include/{SVFIR → SVF-LLVM}/SVFModule.h +1 -36
- package/SVF-linux/Release-build/include/SVFIR/ObjTypeInfo.h +0 -1
- package/SVF-linux/Release-build/include/SVFIR/SVFIR.h +38 -11
- package/SVF-linux/Release-build/include/SVFIR/SVFStatements.h +1 -0
- package/SVF-linux/Release-build/include/SVFIR/SVFValue.h +202 -799
- package/SVF-linux/Release-build/include/Util/CDGBuilder.h +1 -1
- package/SVF-linux/Release-build/include/Util/GeneralType.h +1 -0
- package/SVF-linux/Release-build/include/Util/SVFLoopAndDomInfo.h +169 -0
- package/SVF-linux/Release-build/include/Util/SVFUtil.h +3 -1
- package/SVF-linux/Release-build/include/Util/ThreadAPI.h +2 -1
- package/SVF-linux/Release-build/include/WPA/FlowSensitive.h +1 -1
- package/SVF-linux/Release-build/lib/libSvfCore.a +0 -0
- package/SVF-linux/Release-build/lib/libSvfLLVM.a +0 -0
- package/SVF-osx/Release-build/bin/ae +0 -0
- package/SVF-osx/Release-build/bin/cfl +0 -0
- package/SVF-osx/Release-build/bin/dvf +0 -0
- package/SVF-osx/Release-build/bin/llvm2svf +0 -0
- package/SVF-osx/Release-build/bin/mta +0 -0
- package/SVF-osx/Release-build/bin/saber +0 -0
- package/SVF-osx/Release-build/bin/svf-ex +0 -0
- package/SVF-osx/Release-build/bin/wpa +0 -0
- package/SVF-osx/Release-build/include/Graphs/BasicBlockG.h +2 -2
- package/SVF-osx/Release-build/include/Graphs/CDG.h +1 -1
- package/SVF-osx/Release-build/include/Graphs/CFLGraph.h +1 -1
- package/SVF-osx/Release-build/include/Graphs/CHG.h +1 -1
- package/SVF-osx/Release-build/include/Graphs/CallGraph.h +1 -1
- package/SVF-osx/Release-build/include/Graphs/ConsGNode.h +1 -1
- package/SVF-osx/Release-build/include/Graphs/GenericGraph.h +3 -3
- package/SVF-osx/Release-build/include/Graphs/ICFGNode.h +6 -6
- package/SVF-osx/Release-build/include/Graphs/VFGNode.h +20 -20
- package/SVF-osx/Release-build/include/MTA/TCT.h +1 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/BreakConstantExpr.h +1 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/CppUtil.h +1 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/LLVMModule.h +12 -12
- package/SVF-osx/Release-build/include/SVF-LLVM/LLVMUtil.h +2 -2
- package/SVF-osx/Release-build/include/SVF-LLVM/ObjTypeInference.h +1 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/SVFIRBuilder.h +6 -6
- package/SVF-osx/Release-build/include/SVF-LLVM/SVFLLVMValue.h +805 -0
- package/SVF-osx/Release-build/include/SVF-LLVM/SVFModule.h +1 -1
- package/SVF-osx/Release-build/include/SVFIR/SVFValue.h +2 -2
- package/SVF-osx/Release-build/include/SVFIR/SVFVariables.h +28 -28
- package/SVF-osx/Release-build/lib/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/lib/libSvfLLVM.a +0 -0
- package/package.json +1 -1
- /package/{SVF-osx → SVF-linux}/Release-build/include/SVF-LLVM/SVFValue.h +0 -0
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
#include "Util/SVFUtil.h"
|
|
34
34
|
#include "SVF-LLVM/BasicTypes.h"
|
|
35
|
-
#include "SVF-LLVM/
|
|
35
|
+
#include "SVF-LLVM/SVFLLVMValue.h"
|
|
36
36
|
#include "Util/ThreadAPI.h"
|
|
37
37
|
|
|
38
38
|
namespace SVF
|
|
@@ -377,7 +377,7 @@ inline bool isConstDataOrAggData(const Value* val)
|
|
|
377
377
|
const Value* getGlobalRep(const Value* val);
|
|
378
378
|
|
|
379
379
|
/// Check whether this value points-to a constant object
|
|
380
|
-
bool isConstantObjSym(const
|
|
380
|
+
bool isConstantObjSym(const SVFLLVMValue* val);
|
|
381
381
|
|
|
382
382
|
/// Check whether this value points-to a constant object
|
|
383
383
|
bool isConstantObjSym(const Value* val);
|
|
@@ -50,7 +50,7 @@ private:
|
|
|
50
50
|
SVFIR* pag;
|
|
51
51
|
SVFModule* svfModule;
|
|
52
52
|
const SVFBasicBlock* curBB; ///< Current basic block during SVFIR construction when visiting the module
|
|
53
|
-
const
|
|
53
|
+
const SVFLLVMValue* curVal; ///< Current Value during SVFIR construction when visiting the module
|
|
54
54
|
|
|
55
55
|
public:
|
|
56
56
|
/// Constructor
|
|
@@ -93,14 +93,14 @@ public:
|
|
|
93
93
|
processCE(V);
|
|
94
94
|
|
|
95
95
|
// strip off the constant cast and return the value node
|
|
96
|
-
|
|
96
|
+
SVFLLVMValue* svfVal = llvmModuleSet()->getSVFValue(V);
|
|
97
97
|
return llvmModuleSet()->getValueNode(svfVal);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
/// GetObject - Return the object node (stack/global/heap/function) according to a LLVM Value
|
|
101
101
|
inline NodeID getObjectNode(const Value* V)
|
|
102
102
|
{
|
|
103
|
-
|
|
103
|
+
SVFLLVMValue* svfVal = llvmModuleSet()->getSVFValue(V);
|
|
104
104
|
return llvmModuleSet()->getObjectNode(svfVal);
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -246,12 +246,12 @@ protected:
|
|
|
246
246
|
curBB = (bb == nullptr? nullptr : llvmModuleSet()->getSVFBasicBlock(bb));
|
|
247
247
|
curVal = (val == nullptr ? nullptr: llvmModuleSet()->getSVFValue(val));
|
|
248
248
|
}
|
|
249
|
-
inline void setCurrentLocation(const
|
|
249
|
+
inline void setCurrentLocation(const SVFLLVMValue* val, const SVFBasicBlock* bb)
|
|
250
250
|
{
|
|
251
251
|
curBB = bb;
|
|
252
252
|
curVal = val;
|
|
253
253
|
}
|
|
254
|
-
inline const
|
|
254
|
+
inline const SVFLLVMValue* getCurrentValue() const
|
|
255
255
|
{
|
|
256
256
|
return curVal;
|
|
257
257
|
}
|
|
@@ -263,7 +263,7 @@ protected:
|
|
|
263
263
|
/// Add global black hole Address edge
|
|
264
264
|
void addGlobalBlackHoleAddrEdge(NodeID node, const ConstantExpr *int2Ptrce)
|
|
265
265
|
{
|
|
266
|
-
const
|
|
266
|
+
const SVFLLVMValue* cval = getCurrentValue();
|
|
267
267
|
const SVFBasicBlock* cbb = getCurrentBB();
|
|
268
268
|
setCurrentLocation(int2Ptrce,nullptr);
|
|
269
269
|
addBlackHoleAddrEdge(node);
|