svf-lib 1.0.2154 → 1.0.2155
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-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/AE/Svfexe/AbstractInterpretation.h +2 -2
- package/SVF-osx/Release-build/include/Graphs/CallGraph.h +2 -0
- package/SVF-osx/Release-build/include/SVF-LLVM/LLVMModule.h +1 -1
- package/SVF-osx/Release-build/include/SVFIR/SVFValue.h +12 -1
- 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
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -251,8 +251,8 @@ private:
|
|
|
251
251
|
AEStat* stat;
|
|
252
252
|
|
|
253
253
|
std::vector<const CallICFGNode*> callSiteStack;
|
|
254
|
-
Map<const
|
|
255
|
-
Set<const
|
|
254
|
+
Map<const CallGraphNode*, ICFGWTO*> funcToWTO;
|
|
255
|
+
Set<const CallGraphNode*> recursiveFuns;
|
|
256
256
|
|
|
257
257
|
|
|
258
258
|
AbstractState& getAbsStateFromTrace(const ICFGNode* node)
|
|
@@ -172,7 +172,7 @@ public:
|
|
|
172
172
|
LLVMFunc2SVFFunc[func] = svfFunc;
|
|
173
173
|
setValueAttr(func,svfFunc);
|
|
174
174
|
}
|
|
175
|
-
void addFunctionMap(const Function* func, CallGraphNode*
|
|
175
|
+
void addFunctionMap(const Function* func, CallGraphNode* cgNode);
|
|
176
176
|
|
|
177
177
|
inline void addBasicBlockMap(const BasicBlock* bb, SVFBasicBlock* svfBB)
|
|
178
178
|
{
|
|
@@ -40,7 +40,7 @@ namespace SVF
|
|
|
40
40
|
/// LLVM Aliases and constants
|
|
41
41
|
typedef SVF::GraphPrinter GraphPrinter;
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
class CallGraphNode;
|
|
44
44
|
class SVFInstruction;
|
|
45
45
|
class SVFBasicBlock;
|
|
46
46
|
class SVFArgument;
|
|
@@ -320,8 +320,14 @@ private:
|
|
|
320
320
|
std::vector<const SVFBasicBlock*> allBBs; /// all BasicBlocks of this function
|
|
321
321
|
std::vector<const SVFArgument*> allArgs; /// all formal arguments of this function
|
|
322
322
|
SVFBasicBlock *exitBlock; /// a 'single' basic block having no successors and containing return instruction in a function
|
|
323
|
+
const CallGraphNode *callGraphNode; /// call graph node for this function
|
|
323
324
|
|
|
324
325
|
protected:
|
|
326
|
+
inline void setCallGraphNode(CallGraphNode *cgn)
|
|
327
|
+
{
|
|
328
|
+
callGraphNode = cgn;
|
|
329
|
+
}
|
|
330
|
+
|
|
325
331
|
///@{ attributes to be set only through Module builders e.g., LLVMModule
|
|
326
332
|
inline void addBasicBlock(const SVFBasicBlock* bb)
|
|
327
333
|
{
|
|
@@ -354,6 +360,11 @@ public:
|
|
|
354
360
|
SVFFunction(void) = delete;
|
|
355
361
|
virtual ~SVFFunction();
|
|
356
362
|
|
|
363
|
+
inline const CallGraphNode* getCallGraphNode() const
|
|
364
|
+
{
|
|
365
|
+
return callGraphNode;
|
|
366
|
+
}
|
|
367
|
+
|
|
357
368
|
static inline bool classof(const SVFValue *node)
|
|
358
369
|
{
|
|
359
370
|
return node->getKind() == SVFFunc;
|
|
Binary file
|
|
Binary file
|