svf-tools 1.0.471 → 1.0.472

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 (138) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
  7. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +5 -5
  9. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/IRGraph_8h_source.html +15 -15
  15. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +29 -21
  16. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  17. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +40 -37
  18. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  20. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
  22. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +5 -5
  23. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
  26. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
  27. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +6 -6
  29. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
  30. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +25 -25
  31. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -5
  32. package/SVF-doxygen/html/html/SVFIR_8h_source.html +9 -9
  33. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +5 -5
  35. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +51 -49
  37. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +14 -14
  38. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +77 -82
  39. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +110 -108
  40. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  43. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  45. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  46. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
  48. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  49. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  50. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  51. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  53. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  54. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +5 -5
  55. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  56. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +4 -4
  58. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +2 -2
  60. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  61. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
  62. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +16 -16
  63. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  64. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +4 -4
  65. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +5 -5
  66. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  67. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  68. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +4 -4
  69. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +94 -94
  70. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
  73. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +7 -7
  74. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +8 -8
  75. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +17 -17
  76. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +33 -33
  77. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +36 -36
  80. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +97 -95
  81. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +52 -50
  82. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +232 -177
  83. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  84. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
  85. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  86. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  87. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  88. package/SVF-doxygen/html/html/functions_b.html +6 -3
  89. package/SVF-doxygen/html/html/functions_func_i.html +5 -5
  90. package/SVF-doxygen/html/html/functions_i.html +6 -6
  91. package/SVF-doxygen/html/html/functions_l.html +1 -1
  92. package/SVF-doxygen/html/html/functions_n.html +3 -0
  93. package/SVF-doxygen/html/html/functions_o.html +3 -3
  94. package/SVF-doxygen/html/html/functions_p.html +19 -15
  95. package/SVF-doxygen/html/html/functions_r.html +5 -3
  96. package/SVF-doxygen/html/html/functions_s.html +12 -10
  97. package/SVF-doxygen/html/html/functions_v.html +3 -3
  98. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  99. package/SVF-doxygen/html/html/functions_vars_n.html +3 -0
  100. package/SVF-doxygen/html/html/functions_w.html +10 -6
  101. package/SVF-doxygen/html/html/globals_r.html +3 -3
  102. package/SVF-doxygen/html/html/globals_s.html +6 -10
  103. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  104. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  105. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +152 -85
  106. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +2 -2
  107. package/SVF-doxygen/html/html/namespacemembers_func.html +14 -8
  108. package/SVF-doxygen/html/html/namespacemembers_i.html +10 -4
  109. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  110. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  111. package/SVF-doxygen/html/html/search/all_10.js +9 -9
  112. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  113. package/SVF-doxygen/html/html/search/all_13.js +11 -11
  114. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  115. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  116. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  117. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  118. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  119. package/SVF-doxygen/html/html/search/all_9.js +5 -5
  120. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  121. package/SVF-doxygen/html/html/search/all_e.js +2 -1
  122. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  123. package/SVF-doxygen/html/html/search/functions_8.js +3 -3
  124. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  125. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  126. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  127. package/SVF-doxygen/html/html/search/variables_e.js +2 -1
  128. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  129. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  130. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  131. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  132. package/include/MemoryModel/SymbolTableInfo.h +3 -2
  133. package/include/SVF-FE/LLVMUtil.h +13 -3
  134. package/lib/MemoryModel/SymbolTableInfo.cpp +7 -36
  135. package/lib/SVF-FE/LLVMUtil.cpp +34 -0
  136. package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
  137. package/lib/SVF-FE/SymbolTableBuilder.cpp +13 -5
  138. package/package.json +1 -1
@@ -205,8 +205,16 @@ void SymbolTableBuilder::collectSym(const Value *val)
205
205
  DBOUT(DMemModel, outs() << "collect sym from ##" << SVFUtil::value2String(val) << " \n");
206
206
 
207
207
  // special sym here
208
- if (symInfo->isNullPtrSym(val) || SVFUtil::isBlackholeSym(val))
208
+ if (SVFUtil::isNullPtrSym(val))
209
+ {
210
+ symInfo->nullPtrSyms.insert(val);
209
211
  return;
212
+ }
213
+ if (SVFUtil::isBlackholeSym(val))
214
+ {
215
+ symInfo->blackholeSyms.insert(val);
216
+ return;
217
+ }
210
218
 
211
219
  //TODO handle constant expression value here??
212
220
  handleCE(val);
@@ -239,7 +247,7 @@ void SymbolTableBuilder::collectVal(const Value *val)
239
247
  handleGlobalCE(globalVar);
240
248
  }
241
249
 
242
- if (symInfo->isConstantObjSym(val))
250
+ if (SVFUtil::isConstantObjSym(val))
243
251
  collectObj(val);
244
252
  }
245
253
 
@@ -254,7 +262,7 @@ void SymbolTableBuilder::collectObj(const Value *val)
254
262
  {
255
263
  // if the object pointed by the pointer is a constant data (e.g., i32 0) or a global constant object (e.g. string)
256
264
  // then we treat them as one ConstantObj
257
- if((symInfo->isConstantObjSym(val) && !symInfo->getModelConstants()))
265
+ if((SVFUtil::isConstantObjSym(val) && !symInfo->getModelConstants()))
258
266
  {
259
267
  symInfo->objSymMap.insert(std::make_pair(val, symInfo->constantSymID()));
260
268
  }
@@ -513,7 +521,7 @@ ObjTypeInfo* SymbolTableBuilder::createObjTypeInfo(const Value *val)
513
521
  writeWrnMsg("try to create an object with a non-pointer type.");
514
522
  writeWrnMsg(val->getName().str());
515
523
  writeWrnMsg("(" + getSourceLoc(val) + ")");
516
- if(symInfo->isConstantObjSym(val))
524
+ if(SVFUtil::isConstantObjSym(val))
517
525
  {
518
526
  ObjTypeInfo* typeInfo = new ObjTypeInfo(val->getType(), 0);
519
527
  initTypeInfo(typeInfo,val);
@@ -637,7 +645,7 @@ void SymbolTableBuilder::initTypeInfo(ObjTypeInfo* typeinfo, const Value* val)
637
645
  else if(SVFUtil::isa<GlobalVariable>(val))
638
646
  {
639
647
  typeinfo->setFlag(ObjTypeInfo::GLOBVAR_OBJ);
640
- if(SymbolTableInfo::SymbolInfo()->isConstantObjSym(val))
648
+ if(SVFUtil::isConstantObjSym(val))
641
649
  typeinfo->setFlag(ObjTypeInfo::CONST_GLOBAL_OBJ);
642
650
  analyzeObjType(typeinfo,val);
643
651
  objSize = getObjSize(typeinfo->getType());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.471",
3
+ "version": "1.0.472",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {