svf-lib 1.0.1760 → 1.0.1762

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.
@@ -67,7 +67,7 @@ private:
67
67
  static bool preProcessed;
68
68
  SymbolTableInfo* symInfo;
69
69
  SVFModule* svfModule; ///< Borrowed from singleton SVFModule::svfModule
70
- std::unique_ptr<LLVMContext> cxts;
70
+ std::unique_ptr<LLVMContext> owned_ctx;
71
71
  std::vector<std::unique_ptr<Module>> owned_modules;
72
72
  std::vector<std::reference_wrapper<Module>> modules;
73
73
 
@@ -111,8 +111,10 @@ public:
111
111
  llvmModuleSet = nullptr;
112
112
  }
113
113
 
114
- // The parameter of context should be the llvm context of the mod, the llvm context of mod and extapi module should be the same
115
- static SVFModule* buildSVFModule(Module& mod, std::unique_ptr<LLVMContext> context);
114
+ // Build an SVF module from a given LLVM Module instance (for use e.g. in a LLVM pass)
115
+ static SVFModule* buildSVFModule(Module& mod);
116
+
117
+ // Build an SVF module from the bitcode files provided in `moduleNameVec`
116
118
  static SVFModule* buildSVFModule(const std::vector<std::string>& moduleNameVec);
117
119
 
118
120
  inline SVFModule* getSVFModule()
@@ -357,8 +359,8 @@ private:
357
359
  std::vector<const Function*> getLLVMGlobalFunctions(const GlobalVariable* global);
358
360
 
359
361
  void loadModules(const std::vector<std::string>& moduleNameVec);
360
- // The llvm context of app module and extapi module should be the same
361
- void loadExtAPIModules(std::unique_ptr<LLVMContext> context = nullptr);
362
+ // Loads ExtAPI bitcode file; uses LLVMContext made while loading module bitcode files or from Module
363
+ void loadExtAPIModules();
362
364
  void addSVFMain();
363
365
 
364
366
  void createSVFDataStructure();
@@ -225,9 +225,9 @@ const Value* stripAllCasts(const Value* val);
225
225
  /// Get the type of the heap allocation
226
226
  const Type* getTypeOfHeapAlloc(const Instruction* inst);
227
227
 
228
- /// Return the bitcast instruction which is val's only use site, otherwise
228
+ /// Return the bitcast instruction right next to val, otherwise
229
229
  /// return nullptr
230
- const Value* getUniqueUseViaCastInst(const Value* val);
230
+ const Value* getFirstUseViaCastInst(const Value* val);
231
231
 
232
232
  /// Return corresponding constant expression, otherwise return nullptr
233
233
  //@{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.1760",
3
+ "version": "1.0.1762",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {