svf-lib 1.0.2154 → 1.0.2156

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.
Files changed (29) hide show
  1. package/SVF-linux/Release-build/bin/ae +0 -0
  2. package/SVF-linux/Release-build/bin/cfl +0 -0
  3. package/SVF-linux/Release-build/bin/dvf +0 -0
  4. package/SVF-linux/Release-build/bin/llvm2svf +0 -0
  5. package/SVF-linux/Release-build/bin/mta +0 -0
  6. package/SVF-linux/Release-build/bin/saber +0 -0
  7. package/SVF-linux/Release-build/bin/svf-ex +0 -0
  8. package/SVF-linux/Release-build/bin/wpa +0 -0
  9. package/SVF-linux/Release-build/include/AE/Svfexe/AbstractInterpretation.h +2 -2
  10. package/SVF-linux/Release-build/include/Graphs/CallGraph.h +2 -0
  11. package/SVF-linux/Release-build/include/SVF-LLVM/LLVMModule.h +1 -1
  12. package/SVF-linux/Release-build/include/SVFIR/SVFValue.h +12 -1
  13. package/SVF-linux/Release-build/lib/libSvfCore.a +0 -0
  14. package/SVF-linux/Release-build/lib/libSvfLLVM.a +0 -0
  15. package/SVF-osx/Release-build/bin/ae +0 -0
  16. package/SVF-osx/Release-build/bin/cfl +0 -0
  17. package/SVF-osx/Release-build/bin/dvf +0 -0
  18. package/SVF-osx/Release-build/bin/llvm2svf +0 -0
  19. package/SVF-osx/Release-build/bin/mta +0 -0
  20. package/SVF-osx/Release-build/bin/saber +0 -0
  21. package/SVF-osx/Release-build/bin/svf-ex +0 -0
  22. package/SVF-osx/Release-build/bin/wpa +0 -0
  23. package/SVF-osx/Release-build/include/AE/Svfexe/AbstractInterpretation.h +2 -2
  24. package/SVF-osx/Release-build/include/Graphs/CallGraph.h +2 -0
  25. package/SVF-osx/Release-build/include/SVF-LLVM/LLVMModule.h +1 -1
  26. package/SVF-osx/Release-build/include/SVFIR/SVFValue.h +12 -1
  27. package/SVF-osx/Release-build/lib/libSvfCore.a +0 -0
  28. package/SVF-osx/Release-build/lib/libSvfLLVM.a +0 -0
  29. package/package.json +1 -1
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 SVFFunction*, ICFGWTO*> funcToWTO;
255
- Set<const SVFFunction*> recursiveFuns;
254
+ Map<const CallGraphNode*, ICFGWTO*> funcToWTO;
255
+ Set<const CallGraphNode*> recursiveFuns;
256
256
 
257
257
 
258
258
  AbstractState& getAbsStateFromTrace(const ICFGNode* node)
@@ -202,6 +202,8 @@ public:
202
202
 
203
203
  void addCallGraphNode(const SVFFunction* fun);
204
204
 
205
+ const CallGraphNode* getCallGraphNode(const std::string& name);
206
+
205
207
  /// Destructor
206
208
  virtual ~CallGraph()
207
209
  {
@@ -172,7 +172,7 @@ public:
172
172
  LLVMFunc2SVFFunc[func] = svfFunc;
173
173
  setValueAttr(func,svfFunc);
174
174
  }
175
- void addFunctionMap(const Function* func, CallGraphNode* svfFunc);
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
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 SVFFunction*, ICFGWTO*> funcToWTO;
255
- Set<const SVFFunction*> recursiveFuns;
254
+ Map<const CallGraphNode*, ICFGWTO*> funcToWTO;
255
+ Set<const CallGraphNode*> recursiveFuns;
256
256
 
257
257
 
258
258
  AbstractState& getAbsStateFromTrace(const ICFGNode* node)
@@ -202,6 +202,8 @@ public:
202
202
 
203
203
  void addCallGraphNode(const SVFFunction* fun);
204
204
 
205
+ const CallGraphNode* getCallGraphNode(const std::string& name);
206
+
205
207
  /// Destructor
206
208
  virtual ~CallGraph()
207
209
  {
@@ -172,7 +172,7 @@ public:
172
172
  LLVMFunc2SVFFunc[func] = svfFunc;
173
173
  setValueAttr(func,svfFunc);
174
174
  }
175
- void addFunctionMap(const Function* func, CallGraphNode* svfFunc);
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.2154",
3
+ "version": "1.0.2156",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {