svf-tools 1.0.894 → 1.0.896

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 (305) hide show
  1. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/AbstractExecution_8h_source.html +1 -1
  3. package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
  4. package/SVF-doxygen/html/AbstractValue_8h_source.html +1 -1
  5. package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/AccessPath_8h_source.html +1 -1
  7. package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
  8. package/SVF-doxygen/html/AndersenPWC_8h_source.html +1 -1
  9. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/Andersen_8h_source.html +1 -1
  15. package/SVF-doxygen/html/Annotator_8h_source.html +4 -4
  16. package/SVF-doxygen/html/BasicTypes_8h.html +1 -0
  17. package/SVF-doxygen/html/BasicTypes_8h_source.html +345 -344
  18. package/SVF-doxygen/html/BitVector_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/BitVector_8h_source.html +1 -1
  20. package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +1 -1
  22. package/SVF-doxygen/html/BreakConstantExpr_8cpp.html +2 -2
  23. package/SVF-doxygen/html/BreakConstantExpr_8cpp_source.html +6 -6
  24. package/SVF-doxygen/html/BreakConstantExpr_8h_source.html +5 -5
  25. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
  27. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
  29. package/SVF-doxygen/html/CDG_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/CDG_8h_source.html +1 -1
  31. package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/CFGNormalizer_8h_source.html +1 -1
  33. package/SVF-doxygen/html/CFGrammar_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/CFGrammar_8h_source.html +2 -2
  35. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/CFLAlias_8h_source.html +1 -1
  37. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/CFLBase_8h_source.html +1 -1
  39. package/SVF-doxygen/html/CFLGramGraphChecker_8h_source.html +1 -1
  40. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
  42. package/SVF-doxygen/html/CFLGraph_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/CFLGraph_8h_source.html +1 -1
  44. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
  45. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +1 -1
  46. package/SVF-doxygen/html/CFLSolver_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
  48. package/SVF-doxygen/html/CFLStat_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/CFLStat_8h_source.html +1 -1
  50. package/SVF-doxygen/html/CFLVF_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/CFLVF_8h_source.html +1 -1
  52. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +304 -303
  53. package/SVF-doxygen/html/CHGBuilder_8h_source.html +10 -10
  54. package/SVF-doxygen/html/CHG_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/CHG_8h_source.html +1 -1
  56. package/SVF-doxygen/html/CSC_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/CSC_8h_source.html +1 -1
  58. package/SVF-doxygen/html/CallGraphBuilder_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/CallGraphBuilder_8h_source.html +1 -1
  60. package/SVF-doxygen/html/Casting_8h_source.html +1 -1
  61. package/SVF-doxygen/html/ConditionalPT_8h_source.html +1 -1
  62. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/ConsExeState_8h_source.html +1 -1
  64. package/SVF-doxygen/html/ConsGEdge_8h_source.html +1 -1
  65. package/SVF-doxygen/html/ConsGNode_8h_source.html +1 -1
  66. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/ConsG_8h_source.html +1 -1
  68. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
  69. package/SVF-doxygen/html/ContextDDA_8h_source.html +1 -1
  70. package/SVF-doxygen/html/CoreBitVector_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
  72. package/SVF-doxygen/html/CppUtil_8cpp_source.html +17 -17
  73. package/SVF-doxygen/html/CppUtil_8h_source.html +6 -6
  74. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  75. package/SVF-doxygen/html/DCHG_8cpp_source.html +22 -22
  76. package/SVF-doxygen/html/DCHG_8h_source.html +7 -7
  77. package/SVF-doxygen/html/DDAClient_8cpp_source.html +1 -1
  78. package/SVF-doxygen/html/DDAClient_8h_source.html +1 -1
  79. package/SVF-doxygen/html/DDAPass_8cpp_source.html +1 -1
  80. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  81. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/DDAStat_8h_source.html +1 -1
  83. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +1 -1
  84. package/SVF-doxygen/html/DOTGraphTraits_8h_source.html +1 -1
  85. package/SVF-doxygen/html/DPItem_8h_source.html +1 -1
  86. package/SVF-doxygen/html/DoubleFreeChecker_8cpp_source.html +1 -1
  87. package/SVF-doxygen/html/DoubleFreeChecker_8h_source.html +1 -1
  88. package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
  89. package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
  90. package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
  91. package/SVF-doxygen/html/ExtAPI_8h_source.html +1 -1
  92. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
  93. package/SVF-doxygen/html/FSMPTA_8h_source.html +1 -1
  94. package/SVF-doxygen/html/FileChecker_8cpp_source.html +1 -1
  95. package/SVF-doxygen/html/FileChecker_8h_source.html +1 -1
  96. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +1 -1
  97. package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
  98. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
  99. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/FlowSensitive_8h_source.html +1 -1
  101. package/SVF-doxygen/html/GEPTypeBridgeIterator_8h_source.html +3 -3
  102. package/SVF-doxygen/html/GeneralType_8h_source.html +1 -1
  103. package/SVF-doxygen/html/GenericGraph_8h_source.html +1 -1
  104. package/SVF-doxygen/html/GrammarBuilder_8cpp_source.html +1 -1
  105. package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
  106. package/SVF-doxygen/html/GraphPrinter_8h_source.html +1 -1
  107. package/SVF-doxygen/html/GraphReachSolver_8h_source.html +1 -1
  108. package/SVF-doxygen/html/GraphTraits_8h_source.html +1 -1
  109. package/SVF-doxygen/html/GraphWriter_8h_source.html +1 -1
  110. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +8 -8
  111. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +2 -2
  112. package/SVF-doxygen/html/ICFGEdge_8h_source.html +1 -1
  113. package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
  114. package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +1 -1
  115. package/SVF-doxygen/html/ICFGSimplification_8h_source.html +1 -1
  116. package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
  117. package/SVF-doxygen/html/ICFGWTO_8h_source.html +1 -1
  118. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  119. package/SVF-doxygen/html/ICFG_8h_source.html +1 -1
  120. package/SVF-doxygen/html/IRGraph_8cpp_source.html +1 -1
  121. package/SVF-doxygen/html/IRGraph_8h_source.html +1 -1
  122. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +1 -1
  123. package/SVF-doxygen/html/IntervalExeState_8h_source.html +1 -1
  124. package/SVF-doxygen/html/IntervalValue_8h_source.html +1 -1
  125. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +7 -7
  126. package/SVF-doxygen/html/LLVMLoopAnalysis_8h_source.html +1 -1
  127. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +37 -37
  128. package/SVF-doxygen/html/LLVMModule_8h_source.html +15 -15
  129. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +32 -32
  130. package/SVF-doxygen/html/LLVMUtil_8h_source.html +20 -20
  131. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  132. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  133. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +1 -1
  134. package/SVF-doxygen/html/LockAnalysis_8h_source.html +1 -1
  135. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +12 -12
  136. package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
  137. package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
  138. package/SVF-doxygen/html/MHP_8h_source.html +1 -1
  139. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +1 -1
  140. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +7 -7
  141. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +3 -3
  142. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +12 -12
  143. package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
  144. package/SVF-doxygen/html/MTAStat_8h_source.html +2 -2
  145. package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
  146. package/SVF-doxygen/html/MTA_8h_source.html +1 -1
  147. package/SVF-doxygen/html/MemPartition_8cpp_source.html +1 -1
  148. package/SVF-doxygen/html/MemPartition_8h_source.html +1 -1
  149. package/SVF-doxygen/html/MemRegion_8cpp_source.html +1 -1
  150. package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
  151. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  152. package/SVF-doxygen/html/MemSSA_8h_source.html +1 -1
  153. package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
  154. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +1 -1
  155. package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +1 -1
  156. package/SVF-doxygen/html/NumericLiteral_8h_source.html +1 -1
  157. package/SVF-doxygen/html/ObjTypeInference_8cpp.html +1 -1
  158. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +525 -501
  159. package/SVF-doxygen/html/ObjTypeInference_8h_source.html +17 -17
  160. package/SVF-doxygen/html/Options_8cpp_source.html +1 -1
  161. package/SVF-doxygen/html/Options_8h_source.html +1 -1
  162. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  163. package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +1 -1
  164. package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
  165. package/SVF-doxygen/html/PCG_8h_source.html +1 -1
  166. package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
  167. package/SVF-doxygen/html/PTACallGraph_8h_source.html +1 -1
  168. package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
  169. package/SVF-doxygen/html/PTAStat_8h_source.html +1 -1
  170. package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +1 -1
  171. package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +1 -1
  172. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  173. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +1 -1
  174. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
  175. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
  176. package/SVF-doxygen/html/PointsTo_8cpp_source.html +1 -1
  177. package/SVF-doxygen/html/PointsTo_8h_source.html +1 -1
  178. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
  179. package/SVF-doxygen/html/ProgSlice_8h_source.html +1 -1
  180. package/SVF-doxygen/html/RelExeState_8cpp_source.html +1 -1
  181. package/SVF-doxygen/html/RelExeState_8h_source.html +1 -1
  182. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +1 -1
  183. package/SVF-doxygen/html/RelationSolver_8h_source.html +1 -1
  184. package/SVF-doxygen/html/SCC_8h_source.html +1 -1
  185. package/SVF-doxygen/html/SVFBugReport_8cpp_source.html +2 -2
  186. package/SVF-doxygen/html/SVFBugReport_8h_source.html +2 -2
  187. package/SVF-doxygen/html/SVFFileSystem_8cpp.html +1 -1
  188. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1 -1
  189. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +1 -1
  190. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +1 -1
  191. package/SVF-doxygen/html/SVFGBuilder_8h_source.html +1 -1
  192. package/SVF-doxygen/html/SVFGEdge_8h_source.html +1 -1
  193. package/SVF-doxygen/html/SVFGNode_8h_source.html +1 -1
  194. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
  195. package/SVF-doxygen/html/SVFGOPT_8h_source.html +1 -1
  196. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
  197. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  198. package/SVF-doxygen/html/SVFGStat_8h_source.html +1 -1
  199. package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
  200. package/SVF-doxygen/html/SVFG_8h_source.html +1 -1
  201. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +1 -1
  202. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +1 -1
  203. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1 -1
  204. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +1 -1
  205. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +1 -1
  206. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +41 -41
  207. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +47 -47
  208. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +8 -8
  209. package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
  210. package/SVF-doxygen/html/SVFIR_8h_source.html +1 -1
  211. package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
  212. package/SVF-doxygen/html/SVFModule_8cpp_source.html +1 -1
  213. package/SVF-doxygen/html/SVFModule_8h_source.html +1 -1
  214. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  215. package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
  216. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  217. package/SVF-doxygen/html/SVFStatements_8h_source.html +1 -1
  218. package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
  219. package/SVF-doxygen/html/SVFType_8h_source.html +1 -1
  220. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +1 -1
  221. package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
  222. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  223. package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
  224. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  225. package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
  226. package/SVF-doxygen/html/SaberCheckerAPI_8cpp_source.html +1 -1
  227. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  228. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +1 -1
  229. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +1 -1
  230. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  231. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +1 -1
  232. package/SVF-doxygen/html/SingleAbsValue_8h_source.html +1 -1
  233. package/SVF-doxygen/html/SparseBitVector_8h_source.html +2 -2
  234. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
  235. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +1 -1
  236. package/SVF-doxygen/html/SrcSnkSolver_8h_source.html +1 -1
  237. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
  238. package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
  239. package/SVF-doxygen/html/SymState_8cpp_source.html +1 -1
  240. package/SVF-doxygen/html/SymState_8h_source.html +1 -1
  241. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +34 -34
  242. package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +7 -7
  243. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
  244. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  245. package/SVF-doxygen/html/TCT_8cpp_source.html +1 -1
  246. package/SVF-doxygen/html/TCT_8h_source.html +1 -1
  247. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
  248. package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
  249. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
  250. package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +1 -1
  251. package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +1 -1
  252. package/SVF-doxygen/html/TypeAnalysis_8h_source.html +1 -1
  253. package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
  254. package/SVF-doxygen/html/VFGNode_8h_source.html +1 -1
  255. package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
  256. package/SVF-doxygen/html/VFG_8h_source.html +1 -1
  257. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  258. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  259. package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +1 -1
  260. package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
  261. package/SVF-doxygen/html/WPAPass_8cpp_source.html +1 -1
  262. package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
  263. package/SVF-doxygen/html/WPASolver_8h_source.html +1 -1
  264. package/SVF-doxygen/html/WPAStat_8h_source.html +1 -1
  265. package/SVF-doxygen/html/WTO_8h_source.html +1 -1
  266. package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
  267. package/SVF-doxygen/html/Z3Expr_8cpp_source.html +1 -1
  268. package/SVF-doxygen/html/Z3Expr_8h_source.html +1 -1
  269. package/SVF-doxygen/html/ae_8cpp_source.html +1 -1
  270. package/SVF-doxygen/html/cfl_8cpp_source.html +1 -1
  271. package/SVF-doxygen/html/classSVF_1_1Annotator.html +1 -1
  272. package/SVF-doxygen/html/classSVF_1_1BreakConstantGEPs.html +4 -4
  273. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +299 -298
  274. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +20 -20
  275. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +7 -7
  276. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +6 -6
  277. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +36 -36
  278. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +11 -11
  279. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +5 -5
  280. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +10 -10
  281. package/SVF-doxygen/html/classSVF_1_1MergeFunctionRets.html +2 -2
  282. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +509 -485
  283. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +7 -7
  284. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +22 -22
  285. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +35 -35
  286. package/SVF-doxygen/html/classllvm_1_1generic__bridge__gep__type__iterator.html +2 -2
  287. package/SVF-doxygen/html/dda_8cpp_source.html +1 -1
  288. package/SVF-doxygen/html/iterator_8h_source.html +1 -1
  289. package/SVF-doxygen/html/iterator__range_8h_source.html +1 -1
  290. package/SVF-doxygen/html/llvm2svf_8cpp_source.html +1 -1
  291. package/SVF-doxygen/html/mta_8cpp_source.html +1 -1
  292. package/SVF-doxygen/html/namespaceSVF.html +115 -115
  293. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +33 -33
  294. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +12 -12
  295. package/SVF-doxygen/html/saber_8cpp_source.html +1 -1
  296. package/SVF-doxygen/html/structSVF_1_1PopulationCounter.html +1 -1
  297. package/SVF-doxygen/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
  298. package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
  299. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +5 -5
  300. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +8 -8
  301. package/SVF-doxygen/html/wpa_8cpp_source.html +1 -1
  302. package/package.json +1 -1
  303. package/svf-llvm/include/SVF-LLVM/BasicTypes.h +1 -0
  304. package/svf-llvm/lib/CHGBuilder.cpp +1 -0
  305. package/svf-llvm/lib/ObjTypeInference.cpp +51 -27
@@ -483,22 +483,22 @@ $(function() {
483
483
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a615623a08324ee155cb527a3b57e8c19"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a615623a08324ee155cb527a3b57e8c19">SVF::MTAResultValidator::rthdTovthd</a></div><div class="ttdeci">rthdTovthdMap rthdTovthd</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00140">MTAResultValidator.h:140</a></div></div>
484
484
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a909e66d94d4f3ce6e0c1e0fe5b50483a"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a909e66d94d4f3ce6e0c1e0fe5b50483a">SVF::MTAResultValidator::CXT_THREAD</a></div><div class="ttdeci">static constexpr const char * CXT_THREAD</div><div class="ttdoc">Map a statement to its thread interleavings.</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00131">MTAResultValidator.h:131</a></div></div>
485
485
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_aeb24aa510c7073ef71062e89a11fe00a"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#aeb24aa510c7073ef71062e89a11fe00a">SVF::RaceResultValidator::protectedByCommonLocks</a></div><div class="ttdeci">virtual bool protectedByCommonLocks(const Instruction *I1, const Instruction *I2)</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00255">MTAResultValidator.h:255</a></div></div>
486
- <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
486
+ <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
487
487
  <div class="ttc" id="aMHP_8h_html"><div class="ttname"><a href="MHP_8h.html">MHP.h</a></div></div>
488
488
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a6306899b5360e106dd090bea571027bf"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a6306899b5360e106dd090bea571027bf">SVF::MTAResultValidator::matchCxt</a></div><div class="ttdeci">bool matchCxt(const CallStrCxt cxt1, const CallStrCxt cxt2) const</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00182">MTAResultValidator.cpp:182</a></div></div>
489
489
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a373b5227fbfa82ac070f55db999afb28"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a373b5227fbfa82ac070f55db999afb28">SVF::MTAResultValidator::validateInterleaving</a></div><div class="ttdeci">INTERLEV_FLAG validateInterleaving()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00498">MTAResultValidator.cpp:498</a></div></div>
490
490
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_aec8b923a0da580113a13bf94ffb3ebd7"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#aec8b923a0da580113a13bf94ffb3ebd7">SVF::RaceResultValidator::init</a></div><div class="ttdeci">void init(SVFModule *M)</div><div class="ttdoc">Initialization.</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00215">MTAResultValidator.h:215</a></div></div>
491
491
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_afd9f0901b8474c35011eeb57e9bd15e9"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#afd9f0901b8474c35011eeb57e9bd15e9">SVF::MTAResultValidator::~MTAResultValidator</a></div><div class="ttdeci">~MTAResultValidator()</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00034">MTAResultValidator.h:34</a></div></div>
492
- <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
492
+ <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
493
493
  <div class="ttc" id="aclassSVF_1_1ThreadCallGraph_html_adcad8524a53baf256cd45503ec568c10"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#adcad8524a53baf256cd45503ec568c10">SVF::ThreadCallGraph::getThreadAPI</a></div><div class="ttdeci">ThreadAPI * getThreadAPI() const</div><div class="ttdoc">Thread API.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00324">ThreadCallGraph.h:324</a></div></div>
494
494
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a7fc576e83fa259d0ab06d54c3537c4ac"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a7fc576e83fa259d0ab06d54c3537c4ac">SVF::MTAResultValidator::vthdTorthdMap</a></div><div class="ttdeci">Map&lt; NodeID, NodeID &gt; vthdTorthdMap</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00122">MTAResultValidator.h:122</a></div></div>
495
495
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a1af033b5742fa9cc1e4f9873184775b7"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1af033b5742fa9cc1e4f9873184775b7">SVF::MTAResultValidator::dumpInterlev</a></div><div class="ttdeci">void dumpInterlev(NodeBS &amp;lev)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00204">MTAResultValidator.cpp:204</a></div></div>
496
496
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a462f1554e058b656861abfb0aa2e47ff"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">SVF::MTAResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00040">MTAResultValidator.cpp:40</a></div></div>
497
497
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_afdd89e26a7c168762bfe85746252827f"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#afdd89e26a7c168762bfe85746252827f">SVF::RaceResultValidator::getOutput</a></div><div class="ttdeci">std::string getOutput(const char *scenario, bool analysisRes, bool expectedRes)</div><div class="ttdoc">Get the validation result string of a single validation scenario.</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00281">MTAResultValidator.h:281</a></div></div>
498
- <div class="ttc" id="anamespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
498
+ <div class="ttc" id="anamespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00085">BasicTypes.h:85</a></div></div>
499
499
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
500
500
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00141">SVFModule.h:141</a></div></div>
501
- <div class="ttc" id="anamespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00145">BasicTypes.h:145</a></div></div>
501
+ <div class="ttc" id="anamespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00146">BasicTypes.h:146</a></div></div>
502
502
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a58e07fcd0d9a611dfd31ab62802c5990"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a58e07fcd0d9a611dfd31ab62802c5990">SVF::RaceResultValidator::validateAll</a></div><div class="ttdeci">void validateAll()</div><div class="ttdoc">Perform validation for all targets.</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00325">MTAResultValidator.h:325</a></div></div>
503
503
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a542f2f41c90698270687fc7858a26555"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a542f2f41c90698270687fc7858a26555">SVF::MTAResultValidator::rthdToChildren</a></div><div class="ttdeci">rthdToChildrenMap rthdToChildren</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00142">MTAResultValidator.h:142</a></div></div>
504
504
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_ac57ae430ee5b6868fe810172ec658853"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#ac57ae430ee5b6868fe810172ec658853">SVF::RaceResultValidator::RC_FLAG</a></div><div class="ttdeci">int RC_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00171">MTAResultValidator.h:171</a></div></div>
@@ -517,12 +517,12 @@ $(function() {
517
517
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a4327af2795a9aa336543d8b3c3a7bfdf"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a4327af2795a9aa336543d8b3c3a7bfdf">SVF::RaceResultValidator::validateAll</a></div><div class="ttdeci">void validateAll()</div><div class="ttdoc">Perform validation for all targets.</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00650">MTAResultValidator.cpp:650</a></div></div>
518
518
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a1294cb90b073ba25a8ffc06180c09419"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a1294cb90b073ba25a8ffc06180c09419">SVF::RaceResultValidator::selectedValidationScenarios</a></div><div class="ttdeci">RC_FLAG selectedValidationScenarios</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00300">MTAResultValidator.h:300</a></div></div>
519
519
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
520
- <div class="ttc" id="anamespaceSVF_html_a334998718813a19a7697daf4ba282faf"><div class="ttname"><a href="namespaceSVF.html#a334998718813a19a7697daf4ba282faf">SVF::Use</a></div><div class="ttdeci">llvm::Use Use</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
520
+ <div class="ttc" id="anamespaceSVF_html_a334998718813a19a7697daf4ba282faf"><div class="ttname"><a href="namespaceSVF.html#a334998718813a19a7697daf4ba282faf">SVF::Use</a></div><div class="ttdeci">llvm::Use Use</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
521
521
  <div class="ttc" id="aclassSVF_1_1TCT_html_aabc2c84e951ed9ae64207e379acb3074"><div class="ttname"><a href="classSVF_1_1TCT.html#aabc2c84e951ed9ae64207e379acb3074">SVF::TCT::getSVFModule</a></div><div class="ttdeci">SVFModule * getSVFModule() const</div><div class="ttdoc">Get SVFFModule.</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00176">TCT.h:176</a></div></div>
522
522
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a2fbfa7dffd33fa23fdddc60b94af8467"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a2fbfa7dffd33fa23fdddc60b94af8467">SVF::RaceResultValidator::compare</a></div><div class="ttdeci">static bool compare(const CallBase *CI1, const CallBase *CI2)</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00306">MTAResultValidator.h:306</a></div></div>
523
523
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_ae7d61becd14123f60976fd7261d0c84d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#ae7d61becd14123f60976fd7261d0c84d">SVF::MTAResultValidator::dumpCxt</a></div><div class="ttdeci">void dumpCxt(const CallStrCxt &amp;cxt) const</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00189">MTAResultValidator.cpp:189</a></div></div>
524
524
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_aa4129053b7248d4e95763f0b41044e4c"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#aa4129053b7248d4e95763f0b41044e4c">SVF::RaceResultValidator::RC_MHP</a></div><div class="ttdeci">static const RC_FLAG RC_MHP</div><div class="ttdoc">Constant RC_FLAG values.</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00326">MTAResultValidator.h:326</a></div></div>
525
- <div class="ttc" id="anamespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00086">BasicTypes.h:86</a></div></div>
525
+ <div class="ttc" id="anamespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00087">BasicTypes.h:87</a></div></div>
526
526
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
527
527
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_abdf31e8fca824b56a53788de525042a6"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#abdf31e8fca824b56a53788de525042a6">SVF::MTAResultValidator::collectTCTTargets</a></div><div class="ttdeci">bool collectTCTTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00284">MTAResultValidator.cpp:284</a></div></div>
528
528
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a64f61b58f59eba5f3e7c69f90edc68df"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a64f61b58f59eba5f3e7c69f90edc68df">SVF::RaceResultValidator::release</a></div><div class="ttdeci">void release()</div><div class="ttdoc">Release resource.</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00230">MTAResultValidator.h:230</a></div></div>
@@ -538,11 +538,11 @@ $(function() {
538
538
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a749793355ab8390a1e6577d7b05efddf"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a749793355ab8390a1e6577d7b05efddf">SVF::RaceResultValidator::hasValidationTarget</a></div><div class="ttdeci">bool hasValidationTarget() const</div><div class="ttdoc">Check if the input program has validation target.</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00234">MTAResultValidator.h:234</a></div></div>
539
539
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a0095d23a9c9d5d62ec4a23c56824b5f0"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a0095d23a9c9d5d62ec4a23c56824b5f0">SVF::LLVMUtil::getLLVMCallSite</a></div><div class="ttdeci">const CallBase * getLLVMCallSite(const Value *value)</div><div class="ttdoc">Return LLVM callsite given a value.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00059">LLVMUtil.h:59</a></div></div>
540
540
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a3c3eacff786230d093d27615ff360ed4"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a3c3eacff786230d093d27615ff360ed4">SVF::MTAResultValidator::collectInterleavingTargets</a></div><div class="ttdeci">bool collectInterleavingTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00322">MTAResultValidator.cpp:322</a></div></div>
541
- <div class="ttc" id="anamespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
541
+ <div class="ttc" id="anamespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
542
542
  <div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_ade9f150c970aa2cc481c878aebf71662"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#ade9f150c970aa2cc481c878aebf71662">SVF::RaceResultValidator::mayAccessAliases</a></div><div class="ttdeci">virtual bool mayAccessAliases(const Instruction *I1, const Instruction *I2)</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00243">MTAResultValidator.h:243</a></div></div>
543
543
  <div class="ttc" id="aclassSVF_1_1MHP_html_a20e740d4b96ef086b6b5778acd38ca88"><div class="ttname"><a href="classSVF_1_1MHP.html#a20e740d4b96ef086b6b5778acd38ca88">SVF::MHP::getThreadCallGraph</a></div><div class="ttdeci">ThreadCallGraph * getThreadCallGraph() const</div><div class="ttdoc">Get ThreadCallGraph.</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00076">MHP.h:76</a></div></div>
544
544
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a2a21cbdf9513e9fe4fa6c6ae56618b18"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a2a21cbdf9513e9fe4fa6c6ae56618b18">SVF::MTAResultValidator::mhp</a></div><div class="ttdeci">MHP * mhp</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00137">MTAResultValidator.h:137</a></div></div>
545
- <div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
545
+ <div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
546
546
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a1fc4116b134aa87420d055b193208e68"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1fc4116b134aa87420d055b193208e68">SVF::MTAResultValidator::collectCallsiteTargets</a></div><div class="ttdeci">bool collectCallsiteTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00215">MTAResultValidator.cpp:215</a></div></div>
547
547
  <div class="ttc" id="aclassSVF_1_1MHP_html_ac30f283cb2ad020a054ee6525ca94025"><div class="ttname"><a href="classSVF_1_1MHP.html#ac30f283cb2ad020a054ee6525ca94025">SVF::MHP::ThreadStmtToThreadInterleav</a></div><div class="ttdeci">Map&lt; CxtThreadStmt, NodeBS &gt; ThreadStmtToThreadInterleav</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00054">MHP.h:54</a></div></div>
548
548
  <div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00118">GeneralType.h:118</a></div></div>
@@ -145,7 +145,7 @@ $(function() {
145
145
  </div><!-- fragment --></div><!-- contents -->
146
146
  <div class="ttc" id="anamespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="GEPTypeBridgeIterator_8h_source.html#l00013">GEPTypeBridgeIterator.h:13</a></div></div>
147
147
  <div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
148
- <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
148
+ <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
149
149
  <div class="ttc" id="aSVFFileSystem_8h_html"><div class="ttname"><a href="SVFFileSystem_8h.html">SVFFileSystem.h</a></div></div>
150
150
  <div class="ttc" id="aCommandLine_8h_html"><div class="ttname"><a href="CommandLine_8h.html">CommandLine.h</a></div></div>
151
151
  <div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.894",
3
+ "version": "1.0.896",
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": {
@@ -41,6 +41,7 @@
41
41
  #include <llvm/IR/GetElementPtrTypeIterator.h>
42
42
  #include <llvm/IR/DerivedTypes.h>
43
43
  #include <llvm/IR/Statepoint.h>
44
+ #include <llvm/IR/Intrinsics.h>
44
45
 
45
46
  #include <llvm/Analysis/MemoryLocation.h>
46
47
  #include <llvm/Analysis/DominanceFrontier.h>
@@ -453,6 +453,7 @@ void CHGBuilder::analyzeVTables(const Module &M)
453
453
  if (dname.className.size() > 0 &&
454
454
  vtblClassName.compare(dname.className) != 0)
455
455
  {
456
+ if(!chg->getNode(dname.className)) createNode(dname.className);
456
457
  chg->addEdge(vtblClassName, dname.className, CHEdge::INHERITANCE);
457
458
  }
458
459
  }
@@ -207,9 +207,9 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
207
207
  }
208
208
  if (const auto *gepInst = SVFUtil::dyn_cast<GetElementPtrInst>(curValue))
209
209
  insertInferSite(gepInst);
210
- for (const auto &it: curValue->uses())
210
+ for (const auto &it: curValue->users())
211
211
  {
212
- if (const auto *loadInst = SVFUtil::dyn_cast<LoadInst>(it.getUser()))
212
+ if (const auto *loadInst = SVFUtil::dyn_cast<LoadInst>(it))
213
213
  {
214
214
  /*
215
215
  * infer based on load, e.g.,
@@ -219,7 +219,7 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
219
219
  */
220
220
  insertInferSite(loadInst);
221
221
  }
222
- else if (const auto *storeInst = SVFUtil::dyn_cast<StoreInst>(it.getUser()))
222
+ else if (const auto *storeInst = SVFUtil::dyn_cast<StoreInst>(it))
223
223
  {
224
224
  if (storeInst->getPointerOperand() == curValue)
225
225
  {
@@ -233,7 +233,7 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
233
233
  }
234
234
  else
235
235
  {
236
- for (const auto &nit: storeInst->getPointerOperand()->uses())
236
+ for (const auto &nit: storeInst->getPointerOperand()->users())
237
237
  {
238
238
  /*
239
239
  * propagate across store (value operand) and load
@@ -242,8 +242,8 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
242
242
  %q = load i8*, i8** %p
243
243
  ..infer based on %q..
244
244
  */
245
- if (SVFUtil::isa<LoadInst>(nit.getUser()))
246
- insertInferSitesOrPushWorklist(nit.getUser());
245
+ if (SVFUtil::isa<LoadInst>(nit))
246
+ insertInferSitesOrPushWorklist(nit);
247
247
  }
248
248
  /*
249
249
  * infer based on store (value operand) <- gep (result element)
@@ -263,18 +263,18 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
263
263
  const Value *gepBase = gepInst->getPointerOperand();
264
264
  if (!SVFUtil::isa<LoadInst>(gepBase)) continue;
265
265
  const auto *load = SVFUtil::dyn_cast<LoadInst>(gepBase);
266
- for (const auto &loadUse: load->getPointerOperand()->uses())
266
+ for (const auto &loadUse: load->getPointerOperand()->users())
267
267
  {
268
- if (loadUse.getUser() == load || !SVFUtil::isa<LoadInst>(loadUse.getUser()))
268
+ if (loadUse == load || !SVFUtil::isa<LoadInst>(loadUse))
269
269
  continue;
270
- for (const auto &gepUse: loadUse.getUser()->uses())
270
+ for (const auto &gepUse: loadUse->users())
271
271
  {
272
- if (!SVFUtil::isa<GetElementPtrInst>(gepUse.getUser())) continue;
273
- for (const auto &loadUse2: gepUse.getUser()->uses())
272
+ if (!SVFUtil::isa<GetElementPtrInst>(gepUse)) continue;
273
+ for (const auto &loadUse2: gepUse->users())
274
274
  {
275
- if (SVFUtil::isa<LoadInst>(loadUse2.getUser()))
275
+ if (SVFUtil::isa<LoadInst>(loadUse2))
276
276
  {
277
- insertInferSitesOrPushWorklist(loadUse2.getUser());
277
+ insertInferSitesOrPushWorklist(loadUse2);
278
278
  }
279
279
  }
280
280
  }
@@ -284,7 +284,7 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
284
284
  }
285
285
 
286
286
  }
287
- else if (const auto *gepInst = SVFUtil::dyn_cast<GetElementPtrInst>(it.getUser()))
287
+ else if (const auto *gepInst = SVFUtil::dyn_cast<GetElementPtrInst>(it))
288
288
  {
289
289
  /*
290
290
  * infer based on gep (pointer operand)
@@ -295,17 +295,17 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
295
295
  if (gepInst->getPointerOperand() == curValue)
296
296
  insertInferSite(gepInst);
297
297
  }
298
- else if (const auto *bitcast = SVFUtil::dyn_cast<BitCastInst>(it.getUser()))
298
+ else if (const auto *bitcast = SVFUtil::dyn_cast<BitCastInst>(it))
299
299
  {
300
300
  // continue on bitcast
301
301
  insertInferSitesOrPushWorklist(bitcast);
302
302
  }
303
- else if (const auto *phiNode = SVFUtil::dyn_cast<PHINode>(it.getUser()))
303
+ else if (const auto *phiNode = SVFUtil::dyn_cast<PHINode>(it))
304
304
  {
305
305
  // continue on bitcast
306
306
  insertInferSitesOrPushWorklist(phiNode);
307
307
  }
308
- else if (const auto *retInst = SVFUtil::dyn_cast<ReturnInst>(it.getUser()))
308
+ else if (const auto *retInst = SVFUtil::dyn_cast<ReturnInst>(it))
309
309
  {
310
310
  /*
311
311
  * propagate from return to caller
@@ -318,9 +318,9 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
318
318
  %call = call i8* @malloc_wrapper()
319
319
  ..infer based on %call..
320
320
  */
321
- for (const auto &callsite: retInst->getFunction()->uses())
321
+ for (const auto &callsite: retInst->getFunction()->users())
322
322
  {
323
- if (const auto *callBase = SVFUtil::dyn_cast<CallBase>(callsite.getUser()))
323
+ if (const auto *callBase = SVFUtil::dyn_cast<CallBase>(callsite))
324
324
  {
325
325
  // skip function as parameter
326
326
  // e.g., call void @foo(%struct.ssl_ctx_st* %9, i32 (i8*, i32, i32, i8*)* @passwd_callback)
@@ -329,7 +329,7 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
329
329
  }
330
330
  }
331
331
  }
332
- else if (const auto *callBase = SVFUtil::dyn_cast<CallBase>(it.getUser()))
332
+ else if (const auto *callBase = SVFUtil::dyn_cast<CallBase>(it))
333
333
  {
334
334
  /*
335
335
  * propagate from callsite to callee
@@ -350,9 +350,33 @@ const Type *ObjTypeInference::fwInferObjType(const Value *var)
350
350
  if (Function *calleeFunc = callBase->getCalledFunction())
351
351
  {
352
352
  u32_t pos = getArgPosInCall(callBase, curValue);
353
- // for variable argument, conservatively collect all params
354
- if (calleeFunc->isVarArg()) pos = 0;
355
- if (!calleeFunc->isDeclaration())
353
+ // for varargs function, we cannot directly get the value-flow between actual and formal args
354
+ // e.g., consider the following vararg function @callee
355
+ // 1: call void @callee(%arg)
356
+ // 2: define dso_local i32 @callee(...) #0 !dbg !17 {
357
+ // 3: .......
358
+ // 4: %5 = load i32, ptr %vaarg.addr, align 4, !dbg !55
359
+ // 5: .......
360
+ // 6: }
361
+ // it is challenging to precisely identify the forward value-flow of %arg (Line 2)
362
+ // because the function definition of callee (Line 2) does not have any formal args related to the actual arg %arg
363
+ // therefore we track all possible instructions like ``load i32, ptr %vaarg.addr''
364
+ if (calleeFunc->isVarArg())
365
+ {
366
+ // conservatively track all var args
367
+ for (auto &I: instructions(calleeFunc))
368
+ {
369
+ if (auto *load = llvm::dyn_cast<llvm::LoadInst>(&I))
370
+ {
371
+ llvm::Value* loadPointer = load->getPointerOperand();
372
+ if (loadPointer->getName().compare("vaarg.addr") == 0)
373
+ {
374
+ insertInferSitesOrPushWorklist(load);
375
+ }
376
+ }
377
+ }
378
+ }
379
+ else if (!calleeFunc->isDeclaration())
356
380
  {
357
381
  insertInferSitesOrPushWorklist(calleeFunc->getArg(pos));
358
382
  }
@@ -449,9 +473,9 @@ Set<const Value *> &ObjTypeInference::bwfindAllocOfVar(const Value *var)
449
473
  }
450
474
  else if (const auto *loadInst = SVFUtil::dyn_cast<LoadInst>(curValue))
451
475
  {
452
- for (const auto &use: loadInst->getPointerOperand()->uses())
476
+ for (const auto &use: loadInst->getPointerOperand()->users())
453
477
  {
454
- if (const StoreInst *storeInst = SVFUtil::dyn_cast<StoreInst>(use.getUser()))
478
+ if (const StoreInst *storeInst = SVFUtil::dyn_cast<StoreInst>(use))
455
479
  {
456
480
  if (storeInst->getPointerOperand() == loadInst->getPointerOperand())
457
481
  {
@@ -462,9 +486,9 @@ Set<const Value *> &ObjTypeInference::bwfindAllocOfVar(const Value *var)
462
486
  }
463
487
  else if (const auto *argument = SVFUtil::dyn_cast<Argument>(curValue))
464
488
  {
465
- for (const auto &use: argument->getParent()->uses())
489
+ for (const auto &use: argument->getParent()->users())
466
490
  {
467
- if (const CallBase *callBase = SVFUtil::dyn_cast<CallBase>(use.getUser()))
491
+ if (const CallBase *callBase = SVFUtil::dyn_cast<CallBase>(use))
468
492
  {
469
493
  // skip function as parameter
470
494
  // e.g., call void @foo(%struct.ssl_ctx_st* %9, i32 (i8*, i32, i32, i8*)* @passwd_callback)