svf-tools 1.0.587 → 1.0.589

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 (592) hide show
  1. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +6 -6
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +8 -8
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +20 -20
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +25 -25
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +17 -17
  9. package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
  10. package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +5 -5
  11. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
  12. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
  13. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
  14. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
  16. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +12 -12
  17. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +11 -11
  18. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +4 -4
  20. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +7 -7
  21. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +7 -7
  22. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +6 -6
  23. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +27 -27
  28. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
  29. package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
  30. package/SVF-doxygen/html/html/CHG_8cpp_source.html +13 -13
  31. package/SVF-doxygen/html/html/CHG_8h_source.html +8 -8
  32. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
  33. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +26 -26
  34. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
  35. package/SVF-doxygen/html/html/CSC_8cpp_source.html +7 -7
  36. package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
  37. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
  38. package/SVF-doxygen/html/html/Casting_8h.html +1 -0
  39. package/SVF-doxygen/html/html/Casting_8h_source.html +42 -42
  40. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +8 -8
  41. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +21 -21
  43. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +38 -38
  44. package/SVF-doxygen/html/html/ConsG_8h_source.html +28 -28
  45. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +25 -23
  46. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +11 -11
  47. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
  50. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +36 -36
  51. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -15
  52. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +13 -13
  53. package/SVF-doxygen/html/html/DDAClient_8h_source.html +4 -4
  54. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +12 -12
  55. package/SVF-doxygen/html/html/DDAPass_8h_source.html +4 -4
  56. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +8 -8
  57. package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
  58. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +16 -16
  59. package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
  60. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
  61. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
  62. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +6 -6
  65. package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
  66. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
  67. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +8 -8
  68. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +16 -16
  70. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +7 -7
  71. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
  73. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +13 -13
  74. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
  75. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +19 -19
  76. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +8 -8
  77. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
  78. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +61 -61
  79. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
  80. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  81. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
  83. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
  84. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
  85. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +5 -5
  86. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  87. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +37 -34
  88. package/SVF-doxygen/html/html/ICFG_8h_source.html +30 -30
  89. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +28 -28
  90. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
  91. package/SVF-doxygen/html/html/IRGraph_8h_source.html +10 -10
  92. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +8 -8
  93. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +28 -28
  94. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +7 -7
  95. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +26 -26
  96. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +18 -18
  97. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
  99. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +12 -12
  100. package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
  101. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +16 -16
  102. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
  103. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
  104. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  105. package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
  106. package/SVF-doxygen/html/html/MHP_8cpp_source.html +35 -36
  107. package/SVF-doxygen/html/html/MHP_8h_source.html +15 -15
  108. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
  109. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +13 -13
  110. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +8 -8
  111. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +28 -28
  112. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +11 -11
  113. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  114. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  115. package/SVF-doxygen/html/html/MTA_8cpp_source.html +14 -14
  116. package/SVF-doxygen/html/html/MTA_8h_source.html +7 -7
  117. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +11 -11
  118. package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
  119. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +41 -41
  120. package/SVF-doxygen/html/html/MemRegion_8h_source.html +14 -14
  121. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
  122. package/SVF-doxygen/html/html/MemSSA_8h_source.html +8 -8
  123. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -7
  124. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  125. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
  126. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  127. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
  128. package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
  129. package/SVF-doxygen/html/html/PCG_8h_source.html +7 -7
  130. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
  131. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +9 -9
  132. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +9 -9
  133. package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
  134. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
  135. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +3 -3
  136. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +34 -34
  137. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +31 -31
  138. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +63 -63
  139. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +83 -84
  140. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +15 -15
  141. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  142. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +10 -10
  143. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +10 -10
  144. package/SVF-doxygen/html/html/SCC_8h_source.html +6 -6
  145. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +5 -1
  146. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
  147. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -27
  148. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +73 -74
  149. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  150. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  151. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  152. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +5 -5
  153. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +8 -8
  154. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +14 -14
  155. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +8 -8
  156. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  157. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
  158. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +25 -25
  159. package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -12
  160. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +58 -58
  161. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +75 -75
  162. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
  163. package/SVF-doxygen/html/html/SVFIR_8h_source.html +34 -34
  164. package/SVF-doxygen/html/html/SVFLoop_8h_source.html +2 -2
  165. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +3 -3
  166. package/SVF-doxygen/html/html/SVFModule_8h_source.html +13 -13
  167. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +8 -8
  168. package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
  169. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +5 -5
  170. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
  171. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +18 -18
  172. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +23 -23
  173. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  174. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
  175. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
  176. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
  177. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +4 -4
  178. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +34 -34
  179. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +47 -47
  180. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +14 -14
  181. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +3 -3
  182. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +59 -59
  183. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +10 -10
  184. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +4 -4
  185. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -2
  186. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +3 -3
  187. package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
  188. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -40
  189. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
  190. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
  191. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
  192. package/SVF-doxygen/html/html/TCT_8cpp_source.html +22 -23
  193. package/SVF-doxygen/html/html/TCT_8h_source.html +21 -21
  194. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  195. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +8 -8
  196. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +14 -14
  197. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
  198. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +15 -15
  199. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +6 -6
  200. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -14
  201. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +97 -97
  202. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  203. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  204. package/SVF-doxygen/html/html/VFG_8cpp_source.html +72 -69
  205. package/SVF-doxygen/html/html/VFG_8h_source.html +57 -57
  206. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +9 -9
  207. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +24 -24
  208. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +7 -7
  209. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +5 -5
  210. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +13 -13
  211. package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
  212. package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
  213. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  214. package/SVF-doxygen/html/html/WorkList_8h_source.html +2 -2
  215. package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
  216. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  220. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  222. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
  224. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +2 -2
  225. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +249 -250
  227. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +64 -66
  228. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +216 -217
  229. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +15 -17
  230. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +259 -260
  231. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +16 -18
  232. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +271 -272
  233. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +12 -14
  234. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +35 -35
  235. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +257 -258
  236. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -8
  237. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
  239. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +164 -165
  240. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +67 -69
  241. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +5 -5
  243. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
  246. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +6 -6
  247. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +191 -192
  248. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +20 -22
  249. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +185 -186
  250. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -11
  251. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +3 -3
  254. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +2 -2
  255. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +189 -190
  257. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
  258. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +57 -57
  259. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
  260. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +9 -9
  261. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  264. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
  268. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +5 -5
  270. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +153 -154
  271. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +19 -21
  272. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
  273. package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
  274. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +80 -80
  275. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +12 -12
  276. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +120 -120
  277. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +255 -256
  279. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +52 -52
  280. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
  282. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
  283. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
  284. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  286. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  287. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +88 -88
  288. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +9 -9
  289. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +21 -21
  290. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
  291. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +35 -35
  292. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  293. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +12 -12
  294. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
  295. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
  298. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +9 -9
  299. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +12 -12
  300. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +283 -284
  302. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -5
  303. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +249 -250
  304. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +28 -30
  305. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +274 -275
  306. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +88 -90
  307. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +31 -31
  308. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +41 -42
  309. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  310. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  311. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +4 -4
  312. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +4 -4
  313. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
  314. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
  315. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
  316. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  317. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +7 -7
  318. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  319. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  320. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
  321. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  322. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  323. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +4 -4
  324. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
  325. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +71 -67
  326. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +22 -22
  327. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  328. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  329. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +5 -5
  330. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  331. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +60 -60
  332. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +8 -8
  333. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  334. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +3 -3
  335. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
  336. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  337. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  338. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  339. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +9 -9
  340. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
  341. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  342. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  343. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  344. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
  345. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +8 -8
  346. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -51
  347. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  348. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  349. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
  350. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +15 -15
  351. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +67 -67
  352. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +19 -19
  353. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +70 -71
  354. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +108 -108
  355. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  356. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  357. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +16 -16
  358. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +19 -19
  359. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +55 -55
  360. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +40 -40
  361. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  362. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  363. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
  364. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +52 -52
  365. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  366. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
  367. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +3 -3
  368. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
  369. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
  370. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  371. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  372. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +6 -6
  373. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +26 -26
  374. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +5 -5
  375. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
  376. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +10 -10
  377. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  378. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
  379. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +13 -13
  380. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +4 -4
  381. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
  382. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
  383. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
  384. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  385. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +120 -121
  386. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +258 -276
  387. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +14 -14
  388. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +8 -8
  389. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +23 -23
  390. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
  391. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  392. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  393. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
  394. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  395. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  397. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
  398. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
  399. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
  400. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +97 -97
  401. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +52 -52
  402. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  403. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +23 -23
  404. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +12 -12
  405. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
  406. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +79 -79
  407. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +255 -255
  408. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  409. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  410. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +8 -8
  411. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  412. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  413. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
  414. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +132 -132
  415. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +20 -20
  416. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  417. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +103 -103
  418. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +45 -45
  419. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +11 -11
  420. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
  421. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +228 -229
  422. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
  423. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
  424. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  425. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  426. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
  427. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +29 -29
  428. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +59 -60
  429. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  430. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  431. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  432. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +26 -26
  433. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +4 -4
  434. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  435. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  436. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  437. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +221 -222
  438. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +24 -26
  439. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  440. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  441. package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
  442. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +168 -165
  443. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  444. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  445. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  446. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  447. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +324 -325
  448. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +70 -72
  449. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +17 -17
  450. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
  451. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +3 -3
  452. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +5 -5
  453. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +15 -15
  454. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +3 -3
  455. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
  456. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1 -1
  457. package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
  458. package/SVF-doxygen/html/html/functions_a.html +9 -12
  459. package/SVF-doxygen/html/html/functions_func.html +4 -4
  460. package/SVF-doxygen/html/html/functions_func_i.html +3 -3
  461. package/SVF-doxygen/html/html/functions_func_r.html +8 -8
  462. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  463. package/SVF-doxygen/html/html/functions_i.html +2 -2
  464. package/SVF-doxygen/html/html/functions_l.html +8 -8
  465. package/SVF-doxygen/html/html/functions_n.html +4 -4
  466. package/SVF-doxygen/html/html/functions_o.html +8 -8
  467. package/SVF-doxygen/html/html/functions_p.html +14 -16
  468. package/SVF-doxygen/html/html/functions_r.html +10 -12
  469. package/SVF-doxygen/html/html/functions_s.html +7 -7
  470. package/SVF-doxygen/html/html/functions_type.html +0 -3
  471. package/SVF-doxygen/html/html/functions_v.html +6 -6
  472. package/SVF-doxygen/html/html/functions_w.html +11 -11
  473. package/SVF-doxygen/html/html/namespaceSVF.html +175 -193
  474. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +55 -55
  475. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +44 -44
  476. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
  477. package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
  478. package/SVF-doxygen/html/html/namespacemembers_type_s.html +0 -3
  479. package/SVF-doxygen/html/html/search/all_1.js +4 -5
  480. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  481. package/SVF-doxygen/html/html/search/all_11.js +10 -10
  482. package/SVF-doxygen/html/html/search/all_12.js +5 -6
  483. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  484. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  485. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  486. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  487. package/SVF-doxygen/html/html/search/all_c.js +5 -5
  488. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  489. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  490. package/SVF-doxygen/html/html/search/functions_0.js +4 -4
  491. package/SVF-doxygen/html/html/search/functions_10.js +8 -8
  492. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  493. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  494. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  495. package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
  496. package/SVF-doxygen/html/html/search/typedefs_10.js +0 -1
  497. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  498. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  499. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
  500. package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
  501. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  502. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
  503. package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter.html +1 -1
  504. package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
  505. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
  506. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
  507. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
  508. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
  509. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
  510. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
  511. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
  512. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
  513. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
  514. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
  515. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
  516. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
  517. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
  518. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01typename_01std_1_1enable__if_3_01std_1_1101a002941fb8432b76e90258f1ec6b7.html +3 -3
  519. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
  520. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
  521. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
  522. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
  523. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
  524. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
  525. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
  526. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
  527. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
  528. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
  529. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +6 -6
  530. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +15 -15
  531. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
  532. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +17 -17
  533. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +17 -17
  534. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  535. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  536. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
  537. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
  538. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +21 -21
  539. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
  540. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +1 -1
  541. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +1 -1
  542. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
  543. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
  544. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +1 -1
  545. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +2 -2
  546. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +1 -1
  547. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +2 -2
  548. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  549. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  550. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  551. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  552. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  553. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  554. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
  555. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
  556. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  557. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +6 -6
  558. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  559. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
  560. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  561. package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -8
  562. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +9 -9
  563. package/include/Graphs/ConsGNode.h +48 -24
  564. package/include/Graphs/GenericGraph.h +4 -2
  565. package/include/Graphs/ICFG.h +3 -2
  566. package/include/Graphs/SVFGOPT.h +7 -7
  567. package/include/Graphs/VFG.h +3 -2
  568. package/include/MSSA/MemSSA.h +6 -6
  569. package/include/MemoryModel/PersistentPointsToDS.h +1 -1
  570. package/include/MemoryModel/PointerAnalysis.h +0 -1
  571. package/include/MemoryModel/SVFIR.h +3 -1
  572. package/include/SABER/SaberCondAllocator.h +7 -2
  573. package/include/SVF-FE/BasicTypes.h +7 -1
  574. package/include/SVF-FE/IRAnnotator.h +3 -1
  575. package/include/Util/BasicTypes.h +1 -22
  576. package/include/Util/Casting.h +1 -0
  577. package/include/Util/SVFBasicTypes.h +0 -5
  578. package/include/Util/SparseBitVector.h +2 -0
  579. package/lib/DDA/ContextDDA.cpp +8 -5
  580. package/lib/Graphs/ConsG.cpp +46 -23
  581. package/lib/Graphs/ICFG.cpp +8 -4
  582. package/lib/Graphs/VFG.cpp +6 -3
  583. package/lib/MSSA/MemRegion.cpp +1 -0
  584. package/lib/MTA/MHP.cpp +4 -4
  585. package/lib/MTA/TCT.cpp +2 -1
  586. package/lib/MemoryModel/PointerAnalysisImpl.cpp +3 -1
  587. package/lib/SABER/SaberCondAllocator.cpp +3 -1
  588. package/lib/SVF-FE/CHGBuilder.cpp +2 -2
  589. package/lib/SVF-FE/SVFIRBuilder.cpp +4 -1
  590. package/lib/WPA/AndersenSFR.cpp +3 -0
  591. package/lib/WPA/TypeAnalysis.cpp +1 -0
  592. package/package.json +1 -1
@@ -324,9 +324,9 @@ public:
324
324
  {
325
325
  if (const LoadStmt* load = SVFUtil::dyn_cast<LoadStmt>(inst))
326
326
  {
327
- assert(0 != load2MuSetMap.count(load)
328
- && "not associated with mem region!");
329
- return true;
327
+ bool hasMu = load2MuSetMap.count(load) != 0;
328
+ assert(hasMu && "not associated with mem region!");
329
+ return hasMu;
330
330
  }
331
331
  else
332
332
  return false;
@@ -336,9 +336,9 @@ public:
336
336
  if (const StoreStmt* store = SVFUtil::dyn_cast<StoreStmt>(
337
337
  inst))
338
338
  {
339
- assert(0 != store2ChiSetMap.count(store)
340
- && "not associated with mem region!");
341
- return true;
339
+ bool has_store = store2ChiSetMap.count(store) != 0;
340
+ assert(has_store && "not associated with mem region!");
341
+ return has_store;
342
342
  }
343
343
  else
344
344
  return false;
@@ -363,7 +363,7 @@ public:
363
363
  virtual inline const KeySet& getRevPts(const Data&) override
364
364
  {
365
365
  assert(false && "PersistentDFPTData::getRevPts: not supported yet!");
366
- return *(KeySet*)nullptr; // suppress -Werror=return-type
366
+ abort();
367
367
  }
368
368
 
369
369
  virtual inline bool unionPts(const Key& dstKey, const Key& srcKey) override
@@ -99,7 +99,6 @@ public:
99
99
 
100
100
  /// Indirect call edges type, map a callsite to a set of callees
101
101
  //@{
102
- typedef llvm::AliasAnalysis AliasAnalysis;
103
102
  typedef Set<const CallICFGNode*> CallSiteSet;
104
103
  typedef SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap;
105
104
  typedef Set<const SVFFunction*> FunctionSet;
@@ -456,6 +456,7 @@ private:
456
456
  inline void addToStmt2TypeMap(SVFStmt* edge)
457
457
  {
458
458
  bool added = KindToSVFStmtSetMap[edge->getEdgeKind()].insert(edge).second;
459
+ (void)added; // Suppress warning of unused variable under release build
459
460
  assert(added && "duplicated edge, not added!!!");
460
461
  if (edge->isPTAEdge())
461
462
  {
@@ -494,7 +495,8 @@ private:
494
495
  /// Add indirect callsites
495
496
  inline void addIndirectCallsites(const CallICFGNode* cs,NodeID funPtr)
496
497
  {
497
- bool added = indCallSiteToFunPtrMap.insert(std::make_pair(cs,funPtr)).second;
498
+ bool added = indCallSiteToFunPtrMap.emplace(cs, funPtr).second;
499
+ (void) added;
498
500
  funPtrToCallSitesMap[funPtr].insert(cs);
499
501
  assert(added && "adding the same indirect callsite twice?");
500
502
  }
@@ -148,7 +148,9 @@ public:
148
148
  {
149
149
  const SVFFunction* keyFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbKey->getParent());
150
150
  const SVFFunction* valueFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbValue->getParent());
151
- assert((keyFunc == valueFunc) && "two basicblocks should be in the same function!");
151
+ bool funcEq = (keyFunc == valueFunc);
152
+ (void)funcEq; // Suppress warning of unused variable under release build
153
+ assert(funcEq && "two basicblocks should be in the same function!");
152
154
 
153
155
  return keyFunc->postDominate(bbKey,bbValue);
154
156
  }
@@ -157,7 +159,10 @@ public:
157
159
  {
158
160
  const SVFFunction* keyFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbKey->getParent());
159
161
  const SVFFunction* valueFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbValue->getParent());
160
- assert((keyFunc == valueFunc) && "two basicblocks should be in the same function!");
162
+ bool funcEq = (keyFunc == valueFunc);
163
+ (void)funcEq; // Suppress warning of unused variable under release build
164
+
165
+ assert(funcEq && "two basicblocks should be in the same function!");
161
166
 
162
167
  return keyFunc->dominate(bbKey,bbValue);
163
168
  }
@@ -27,7 +27,13 @@
27
27
 
28
28
  #include <llvm/Support/SourceMgr.h>
29
29
 
30
- #include "llvm/Analysis/LoopInfo.h"
30
+ #include <llvm/Bitcode/BitcodeWriter.h> // for WriteBitcodeToFile
31
+ #include <llvm/Bitcode/BitcodeReader.h> /// for isBitcode
32
+ #include <llvm/IRReader/IRReader.h> // IR reader for bit file
33
+ #include <llvm/IR/InstVisitor.h> // for instruction visitor
34
+ #include <llvm/IR/InstIterator.h> // for inst iteration
35
+
36
+ #include <llvm/Analysis/LoopInfo.h>
31
37
 
32
38
  namespace SVF
33
39
  {
@@ -101,7 +101,9 @@ private:
101
101
  LocationSet locationSet = LocationSet(locationSetOffset);
102
102
  SVF::NodeID gepnodeId = pag->getGepObjVar(baseNodeId, locationSet);
103
103
 
104
- assert(nodeId == gepnodeId && "nodeId != gepnodeId");
104
+ bool idEq = (nodeId == gepnodeId);
105
+ (void)idEq; // Suppress warning of unused variable under release build
106
+ assert(idEq && "nodeId is not equal to gepnodeId?");
105
107
  }
106
108
  }
107
109
 
@@ -33,37 +33,16 @@
33
33
  #include "Util/SVFBasicTypes.h"
34
34
  #include "Graphs/GraphPrinter.h"
35
35
  #include "Util/Casting.h"
36
- #include <llvm/ADT/SparseBitVector.h>
37
36
  #include <llvm/IR/Instructions.h>
38
- #include <llvm/IR/InstVisitor.h> // for instruction visitor
39
- #include <llvm/IR/InstIterator.h> // for inst iteration
40
37
  #include <llvm/IR/GetElementPtrTypeIterator.h> //for gep iterator
41
- #include <llvm/ADT/StringExtras.h> // for utostr_32
42
- #include <llvm/Analysis/AliasAnalysis.h>
43
- #include <llvm/Analysis/CallGraph.h> // call graph
44
38
  #include <llvm/IR/GlobalVariable.h> // for GlobalVariable
39
+ #include <llvm/IR/BasicBlock.h>
45
40
 
46
- #include <llvm/Bitcode/BitcodeWriter.h> // for WriteBitcodeToFile
47
- #include <llvm/Bitcode/BitcodeReader.h> /// for isBitcode
48
- #include <llvm/IRReader/IRReader.h> // IR reader for bit file
49
- #include <llvm/Analysis/DominanceFrontier.h>
50
- #include <llvm/Analysis/PostDominators.h>
51
- #include <llvm/ADT/GraphTraits.h> // for Graphtraits
52
- #include <llvm/Transforms/Utils/Local.h> // for FindDbgAddrUses
53
-
54
- #if (LLVM_VERSION_MAJOR >= 14)
55
- #include <llvm/BinaryFormat/Dwarf.h>
56
- #endif
57
-
58
- #include "llvm/IR/CFG.h"
59
41
  #include "llvm/BinaryFormat/Dwarf.h"
60
42
 
61
43
  namespace SVF
62
44
  {
63
45
 
64
- class BddCond;
65
-
66
-
67
46
  /// LLVM Basic classes
68
47
  typedef llvm::Type Type;
69
48
  typedef llvm::Function Function;
@@ -28,6 +28,7 @@
28
28
  #include <cassert>
29
29
  #include <memory>
30
30
  #include <type_traits>
31
+ #include <llvm/IR/BasicBlock.h>
31
32
 
32
33
  namespace SVF
33
34
  {
@@ -31,10 +31,6 @@
31
31
  #ifndef INCLUDE_UTIL_SVFBASICTYPES_H_
32
32
  #define INCLUDE_UTIL_SVFBASICTYPES_H_
33
33
 
34
- // TODO: these are just for SmallBBVector.
35
- #include <llvm/IR/BasicBlock.h>
36
- #include <llvm/ADT/SmallVector.h>
37
-
38
34
  #include <llvm/Support/CommandLine.h> // for command line options
39
35
 
40
36
  #include <Util/SparseBitVector.h>
@@ -116,7 +112,6 @@ template<typename Key, typename Value, typename Hash = Hash<Key>,
116
112
  typename Allocator = std::allocator<std::pair<const Key, Value>>>
117
113
  using OrderedMap = std::map<Key, Value, Compare, Allocator>;
118
114
 
119
- typedef llvm::SmallVector<llvm::BasicBlock*, 8> SmallBBVector;
120
115
  typedef std::pair<NodeID, NodeID> NodePair;
121
116
  typedef OrderedSet<NodeID> OrderedNodeSet;
122
117
  typedef Set<NodeID> NodeSet;
@@ -321,6 +321,7 @@ public:
321
321
  if (Bits[i] != 0)
322
322
  return i * BITWORD_SIZE + countTrailingZeros(Bits[i]);
323
323
  assert(false && "SBV: find_first: SBV cannot be empty");
324
+ abort();
324
325
  }
325
326
 
326
327
  /// find_last - Returns the index of the last set bit.
@@ -334,6 +335,7 @@ public:
334
335
  countLeadingZeros(Bits[Idx]) - 1;
335
336
  }
336
337
  assert(false && "SBV: find_last: SBV cannot be empty");
338
+ abort();
337
339
  }
338
340
 
339
341
  /// find_next - Returns the index of the next set bit starting from the
@@ -335,22 +335,25 @@ bool ContextDDA::isHeapCondMemObj(const CxtVar& var, const StoreSVFGNode*)
335
335
  {
336
336
  const MemObj* mem = _pag->getObject(getPtrNodeID(var));
337
337
  assert(mem && "memory object is null??");
338
- if(mem->isHeap())
338
+ if (mem->isHeap())
339
339
  {
340
340
  if (!mem->getValue())
341
341
  {
342
342
  PAGNode *pnode = _pag->getGNode(getPtrNodeID(var));
343
- if(GepObjVar* gepobj = SVFUtil::dyn_cast<GepObjVar>(pnode))
343
+ GepObjVar* gepobj = SVFUtil::dyn_cast<GepObjVar>(pnode);
344
+ if (gepobj != nullptr)
344
345
  {
345
- assert(SVFUtil::isa<DummyObjVar>(_pag->getGNode(gepobj->getBaseNode())) && "emtpy refVal in a gep object whose base is a non-dummy object");
346
+ assert(SVFUtil::isa<DummyObjVar>(_pag->getGNode(gepobj->getBaseNode()))
347
+ && "emtpy refVal in a gep object whose base is a non-dummy object");
346
348
  }
347
349
  else
348
350
  {
349
- assert((SVFUtil::isa<DummyObjVar>(pnode) || SVFUtil::isa<DummyValVar>(pnode)) && "empty refVal in non-dummy object");
351
+ assert((SVFUtil::isa<DummyObjVar>(pnode) || SVFUtil::isa<DummyValVar>(pnode))
352
+ && "empty refVal in non-dummy object");
350
353
  }
351
354
  return true;
352
355
  }
353
- else if(const Instruction* mallocSite = SVFUtil::dyn_cast<Instruction>(mem->getValue()))
356
+ else if (const Instruction* mallocSite = SVFUtil::dyn_cast<Instruction>(mem->getValue()))
354
357
  {
355
358
  const Function* fun = mallocSite->getFunction();
356
359
  const SVFFunction* svfFun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(fun);
@@ -157,8 +157,11 @@ AddrCGEdge::AddrCGEdge(ConstraintNode* s, ConstraintNode* d, EdgeID id)
157
157
  {
158
158
  // Retarget addr edges may lead s to be a dummy node
159
159
  PAGNode* node = SVFIR::getPAG()->getGNode(s->getId());
160
+ (void)node; // Suppress warning of unused variable under release build
160
161
  if (!SVFModule::pagReadFromTXT())
162
+ {
161
163
  assert(!SVFUtil::isa<DummyValVar>(node) && "a dummy node??");
164
+ }
162
165
  }
163
166
 
164
167
  /*!
@@ -168,11 +171,14 @@ AddrCGEdge* ConstraintGraph::addAddrCGEdge(NodeID src, NodeID dst)
168
171
  {
169
172
  ConstraintNode* srcNode = getConstraintNode(src);
170
173
  ConstraintNode* dstNode = getConstraintNode(dst);
171
- if(hasEdge(srcNode,dstNode,ConstraintEdge::Addr))
174
+ if (hasEdge(srcNode, dstNode, ConstraintEdge::Addr))
172
175
  return nullptr;
173
176
  AddrCGEdge* edge = new AddrCGEdge(srcNode, dstNode, edgeIndex++);
174
- bool added = AddrCGEdgeSet.insert(edge).second;
175
- assert(added && "not added??");
177
+
178
+ bool inserted = AddrCGEdgeSet.insert(edge).second;
179
+ (void)inserted; // Suppress warning of unused variable under release build
180
+ assert(inserted && "new AddrCGEdge not added??");
181
+
176
182
  srcNode->addOutgoingAddrEdge(edge);
177
183
  dstNode->addIncomingAddrEdge(edge);
178
184
  return edge;
@@ -186,13 +192,15 @@ CopyCGEdge* ConstraintGraph::addCopyCGEdge(NodeID src, NodeID dst)
186
192
 
187
193
  ConstraintNode* srcNode = getConstraintNode(src);
188
194
  ConstraintNode* dstNode = getConstraintNode(dst);
189
- if(hasEdge(srcNode,dstNode,ConstraintEdge::Copy)
190
- || srcNode == dstNode)
195
+ if (hasEdge(srcNode, dstNode, ConstraintEdge::Copy) || srcNode == dstNode)
191
196
  return nullptr;
192
197
 
193
198
  CopyCGEdge* edge = new CopyCGEdge(srcNode, dstNode, edgeIndex++);
194
- bool added = directEdgeSet.insert(edge).second;
195
- assert(added && "not added??");
199
+
200
+ bool inserted = directEdgeSet.insert(edge).second;
201
+ (void)inserted; // Suppress warning of unused variable under release build
202
+ assert(inserted && "new CopyCGEdge not added??");
203
+
196
204
  srcNode->addOutgoingCopyEdge(edge);
197
205
  dstNode->addIncomingCopyEdge(edge);
198
206
  return edge;
@@ -206,12 +214,15 @@ NormalGepCGEdge* ConstraintGraph::addNormalGepCGEdge(NodeID src, NodeID dst, co
206
214
  {
207
215
  ConstraintNode* srcNode = getConstraintNode(src);
208
216
  ConstraintNode* dstNode = getConstraintNode(dst);
209
- if(hasEdge(srcNode,dstNode,ConstraintEdge::NormalGep))
217
+ if (hasEdge(srcNode, dstNode, ConstraintEdge::NormalGep))
210
218
  return nullptr;
211
219
 
212
220
  NormalGepCGEdge* edge = new NormalGepCGEdge(srcNode, dstNode,ls, edgeIndex++);
213
- bool added = directEdgeSet.insert(edge).second;
214
- assert(added && "not added??");
221
+
222
+ bool inserted = directEdgeSet.insert(edge).second;
223
+ (void)inserted; // Suppress warning of unused variable under release build
224
+ assert(inserted && "new NormalGepCGEdge not added??");
225
+
215
226
  srcNode->addOutgoingGepEdge(edge);
216
227
  dstNode->addIncomingGepEdge(edge);
217
228
  return edge;
@@ -224,12 +235,15 @@ VariantGepCGEdge* ConstraintGraph::addVariantGepCGEdge(NodeID src, NodeID dst)
224
235
  {
225
236
  ConstraintNode* srcNode = getConstraintNode(src);
226
237
  ConstraintNode* dstNode = getConstraintNode(dst);
227
- if(hasEdge(srcNode,dstNode,ConstraintEdge::VariantGep))
238
+ if (hasEdge(srcNode, dstNode, ConstraintEdge::VariantGep))
228
239
  return nullptr;
229
240
 
230
241
  VariantGepCGEdge* edge = new VariantGepCGEdge(srcNode, dstNode, edgeIndex++);
231
- bool added = directEdgeSet.insert(edge).second;
232
- assert(added && "not added??");
242
+
243
+ bool inserted = directEdgeSet.insert(edge).second;
244
+ (void)inserted; // Suppress warning of unused variable under release build
245
+ assert(inserted && "new VariantGepCGEdge not added??");
246
+
233
247
  srcNode->addOutgoingGepEdge(edge);
234
248
  dstNode->addIncomingGepEdge(edge);
235
249
  return edge;
@@ -242,12 +256,15 @@ LoadCGEdge* ConstraintGraph::addLoadCGEdge(NodeID src, NodeID dst)
242
256
  {
243
257
  ConstraintNode* srcNode = getConstraintNode(src);
244
258
  ConstraintNode* dstNode = getConstraintNode(dst);
245
- if(hasEdge(srcNode,dstNode,ConstraintEdge::Load))
259
+ if (hasEdge(srcNode, dstNode, ConstraintEdge::Load))
246
260
  return nullptr;
247
261
 
248
262
  LoadCGEdge* edge = new LoadCGEdge(srcNode, dstNode, edgeIndex++);
249
- bool added = LoadCGEdgeSet.insert(edge).second;
250
- assert(added && "not added??");
263
+
264
+ bool inserted = LoadCGEdgeSet.insert(edge).second;
265
+ (void)inserted; // Suppress warning of unused variable under release build
266
+ assert(inserted && "new LoadCGEdge not added??");
267
+
251
268
  srcNode->addOutgoingLoadEdge(edge);
252
269
  dstNode->addIncomingLoadEdge(edge);
253
270
  return edge;
@@ -260,12 +277,15 @@ StoreCGEdge* ConstraintGraph::addStoreCGEdge(NodeID src, NodeID dst)
260
277
  {
261
278
  ConstraintNode* srcNode = getConstraintNode(src);
262
279
  ConstraintNode* dstNode = getConstraintNode(dst);
263
- if(hasEdge(srcNode,dstNode,ConstraintEdge::Store))
280
+ if (hasEdge(srcNode, dstNode, ConstraintEdge::Store))
264
281
  return nullptr;
265
282
 
266
283
  StoreCGEdge* edge = new StoreCGEdge(srcNode, dstNode, edgeIndex++);
267
- bool added = StoreCGEdgeSet.insert(edge).second;
268
- assert(added && "not added??");
284
+
285
+ bool inserted = StoreCGEdgeSet.insert(edge).second;
286
+ (void)inserted; // Suppress warning of unused variable under release build
287
+ assert(inserted && "new StoreCGEdge not added??");
288
+
269
289
  srcNode->addOutgoingStoreEdge(edge);
270
290
  dstNode->addIncomingStoreEdge(edge);
271
291
  return edge;
@@ -369,8 +389,9 @@ void ConstraintGraph::removeAddrEdge(AddrCGEdge* edge)
369
389
  getConstraintNode(edge->getSrcID())->removeOutgoingAddrEdge(edge);
370
390
  getConstraintNode(edge->getDstID())->removeIncomingAddrEdge(edge);
371
391
  u32_t num = AddrCGEdgeSet.erase(edge);
372
- delete edge;
392
+ (void)num; // Suppress warning of unused variable under release build
373
393
  assert(num && "edge not in the set, can not remove!!!");
394
+ delete edge;
374
395
  }
375
396
 
376
397
  /*!
@@ -381,8 +402,9 @@ void ConstraintGraph::removeLoadEdge(LoadCGEdge* edge)
381
402
  getConstraintNode(edge->getSrcID())->removeOutgoingLoadEdge(edge);
382
403
  getConstraintNode(edge->getDstID())->removeIncomingLoadEdge(edge);
383
404
  u32_t num = LoadCGEdgeSet.erase(edge);
384
- delete edge;
405
+ (void)num; // Suppress warning of unused variable under release build
385
406
  assert(num && "edge not in the set, can not remove!!!");
407
+ delete edge;
386
408
  }
387
409
 
388
410
  /*!
@@ -393,8 +415,9 @@ void ConstraintGraph::removeStoreEdge(StoreCGEdge* edge)
393
415
  getConstraintNode(edge->getSrcID())->removeOutgoingStoreEdge(edge);
394
416
  getConstraintNode(edge->getDstID())->removeIncomingStoreEdge(edge);
395
417
  u32_t num = StoreCGEdgeSet.erase(edge);
396
- delete edge;
418
+ (void)num; // Suppress warning of unused variable under release build
397
419
  assert(num && "edge not in the set, can not remove!!!");
420
+ delete edge;
398
421
  }
399
422
 
400
423
  /*!
@@ -406,7 +429,7 @@ void ConstraintGraph::removeDirectEdge(ConstraintEdge* edge)
406
429
  getConstraintNode(edge->getSrcID())->removeOutgoingDirectEdge(edge);
407
430
  getConstraintNode(edge->getDstID())->removeIncomingDirectEdge(edge);
408
431
  u32_t num = directEdgeSet.erase(edge);
409
-
432
+ (void)num; // Suppress warning of unused variable under release build
410
433
  assert(num && "edge not in the set, can not remove!!!");
411
434
  delete edge;
412
435
  }
@@ -364,7 +364,8 @@ ICFGEdge* ICFG::getICFGEdge(const ICFGNode* src, const ICFGNode* dst, ICFGEdge::
364
364
  ICFGEdge* ICFG::addIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode)
365
365
  {
366
366
  checkIntraEdgeParents(srcNode, dstNode);
367
- if(ICFGEdge* edge = hasIntraICFGEdge(srcNode,dstNode, ICFGEdge::IntraCF))
367
+ ICFGEdge* edge = hasIntraICFGEdge(srcNode, dstNode, ICFGEdge::IntraCF);
368
+ if (edge != nullptr)
368
369
  {
369
370
  assert(edge->isIntraCFGEdge() && "this should be an intra CFG edge!");
370
371
  return nullptr;
@@ -383,7 +384,8 @@ ICFGEdge* ICFG::addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, co
383
384
  {
384
385
 
385
386
  checkIntraEdgeParents(srcNode, dstNode);
386
- if(ICFGEdge* edge = hasIntraICFGEdge(srcNode,dstNode, ICFGEdge::IntraCF))
387
+ ICFGEdge* edge = hasIntraICFGEdge(srcNode, dstNode, ICFGEdge::IntraCF);
388
+ if (edge != nullptr)
387
389
  {
388
390
  assert(edge->isIntraCFGEdge() && "this should be an intra CFG edge!");
389
391
  return nullptr;
@@ -402,7 +404,8 @@ ICFGEdge* ICFG::addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, co
402
404
  */
403
405
  ICFGEdge* ICFG::addCallEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruction* cs)
404
406
  {
405
- if(ICFGEdge* edge = hasInterICFGEdge(srcNode,dstNode, ICFGEdge::CallCF))
407
+ ICFGEdge* edge = hasInterICFGEdge(srcNode,dstNode, ICFGEdge::CallCF);
408
+ if (edge != nullptr)
406
409
  {
407
410
  assert(edge->isCallCFGEdge() && "this should be a call CFG edge!");
408
411
  return nullptr;
@@ -419,7 +422,8 @@ ICFGEdge* ICFG::addCallEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruct
419
422
  */
420
423
  ICFGEdge* ICFG::addRetEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruction* cs)
421
424
  {
422
- if(ICFGEdge* edge = hasInterICFGEdge(srcNode,dstNode, ICFGEdge::RetCF))
425
+ ICFGEdge* edge = hasInterICFGEdge(srcNode, dstNode, ICFGEdge::RetCF);
426
+ if (edge != nullptr)
423
427
  {
424
428
  assert(edge->isRetCFGEdge() && "this should be a return CFG edge!");
425
429
  return nullptr;
@@ -677,7 +677,8 @@ VFGEdge* VFG::addIntraDirectVFEdge(NodeID srcId, NodeID dstId)
677
677
  VFGNode* srcNode = getVFGNode(srcId);
678
678
  VFGNode* dstNode = getVFGNode(dstId);
679
679
  checkIntraEdgeParents(srcNode, dstNode);
680
- if(VFGEdge* edge = hasIntraVFGEdge(srcNode,dstNode, VFGEdge::IntraDirectVF))
680
+ VFGEdge* edge = hasIntraVFGEdge(srcNode, dstNode, VFGEdge::IntraDirectVF);
681
+ if (edge != nullptr)
681
682
  {
682
683
  assert(edge->isDirectVFGEdge() && "this should be a direct value flow edge!");
683
684
  return nullptr;
@@ -701,7 +702,8 @@ VFGEdge* VFG::addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)
701
702
  {
702
703
  VFGNode* srcNode = getVFGNode(srcId);
703
704
  VFGNode* dstNode = getVFGNode(dstId);
704
- if(VFGEdge* edge = hasInterVFGEdge(srcNode,dstNode, VFGEdge::CallDirVF,csId))
705
+ VFGEdge* edge = hasInterVFGEdge(srcNode, dstNode, VFGEdge::CallDirVF, csId);
706
+ if (edge != nullptr)
705
707
  {
706
708
  assert(edge->isCallDirectVFGEdge() && "this should be a direct value flow edge!");
707
709
  return nullptr;
@@ -720,7 +722,8 @@ VFGEdge* VFG::addRetEdge(NodeID srcId, NodeID dstId, CallSiteID csId)
720
722
  {
721
723
  VFGNode* srcNode = getVFGNode(srcId);
722
724
  VFGNode* dstNode = getVFGNode(dstId);
723
- if(VFGEdge* edge = hasInterVFGEdge(srcNode,dstNode, VFGEdge::RetDirVF,csId))
725
+ VFGEdge* edge = hasInterVFGEdge(srcNode, dstNode, VFGEdge::RetDirVF, csId);
726
+ if (edge != nullptr)
724
727
  {
725
728
  assert(edge->isRetDirectVFGEdge() && "this should be a direct value flow edge!");
726
729
  return nullptr;
@@ -562,6 +562,7 @@ void MRGenerator::getEscapObjviaGlobals(NodeBS& globs, const NodeBS& calleeModRe
562
562
  for(NodeBS::iterator it = calleeModRef.begin(), eit = calleeModRef.end(); it!=eit; ++it)
563
563
  {
564
564
  const MemObj* obj = pta->getPAG()->getObject(*it);
565
+ (void)obj; // Suppress warning of unused variable under release build
565
566
  assert(obj && "object not found!!");
566
567
  if(allGlobals.test(*it))
567
568
  globs.set(*it);
package/lib/MTA/MHP.cpp CHANGED
@@ -267,7 +267,7 @@ void MHP::handleJoin(const CxtThreadStmt& cts, NodeID rootTid)
267
267
  {
268
268
  if(const Loop* joinLoop = fja->getJoinLoop(call))
269
269
  {
270
- SmallBBVector exitbbs;
270
+ llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
271
271
  joinLoop->getExitBlocks(exitbbs);
272
272
  while(!exitbbs.empty())
273
273
  {
@@ -290,7 +290,7 @@ void MHP::handleJoin(const CxtThreadStmt& cts, NodeID rootTid)
290
290
  {
291
291
  if(const Loop* joinLoop = fja->getJoinLoop(call))
292
292
  {
293
- SmallBBVector exitbbs;
293
+ llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
294
294
  joinLoop->getExitBlocks(exitbbs);
295
295
  while(!exitbbs.empty())
296
296
  {
@@ -853,7 +853,7 @@ void ForkJoinAnalysis::handleJoin(const CxtStmt& cts, NodeID rootTid)
853
853
  {
854
854
  if(const Loop* joinLoop = getJoinLoop(joinSite))
855
855
  {
856
- SmallBBVector exitbbs;
856
+ llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
857
857
  joinLoop->getExitBlocks(exitbbs);
858
858
  while(!exitbbs.empty())
859
859
  {
@@ -882,7 +882,7 @@ void ForkJoinAnalysis::handleJoin(const CxtStmt& cts, NodeID rootTid)
882
882
  {
883
883
  if(const Loop* joinLoop = getJoinLoop(joinSite))
884
884
  {
885
- SmallBBVector exitbbs;
885
+ llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
886
886
  joinLoop->getExitBlocks(exitbbs);
887
887
  while(!exitbbs.empty())
888
888
  {
package/lib/MTA/TCT.cpp CHANGED
@@ -353,7 +353,7 @@ bool TCT::isLoopExitOfJoinLoop(const BasicBlock* bb)
353
353
  {
354
354
  for(InstToLoopMap::const_iterator it = joinSiteToLoopMap.begin(), eit = joinSiteToLoopMap.end(); it!=eit; ++it)
355
355
  {
356
- SmallBBVector exitbbs;
356
+ llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
357
357
  it->second->getExitBlocks(exitbbs);
358
358
  while(!exitbbs.empty())
359
359
  {
@@ -661,6 +661,7 @@ struct DOTGraphTraits<TCT*> : public DefaultDOTGraphTraits
661
661
  {
662
662
 
663
663
  TCTEdge* edge = csThreadTree->getGraphEdge(node, *EI, TCTEdge::ThreadCreateEdge);
664
+ (void)edge; // Suppress warning of unused variable under release build
664
665
  assert(edge && "No edge found!!");
665
666
  /// black edge for direct call while two functions contain indirect calls will be label with red color
666
667
  return "color=black";
@@ -322,7 +322,9 @@ bool BVDataPTAImpl::readFromFile(const string& filename)
322
322
  ss >> id >> base >> offset;
323
323
 
324
324
  NodeID n = pag->getGepObjVar(base, LocationSet(offset));
325
- assert(id == n && "Error adding GepObjNode into SVFIR!");
325
+ bool matched = (id == n);
326
+ (void)matched;
327
+ assert(matched && "Error adding GepObjNode into SVFIR!");
326
328
 
327
329
  getline(F, line);
328
330
  }
@@ -309,7 +309,9 @@ SaberCondAllocator::Condition SaberCondAllocator::evaluateBranchCond(const Basic
309
309
  {
310
310
  const BasicBlock *succ1 = branchStmt->getSuccessor(0)->getBB();
311
311
  const BasicBlock *succ2 = branchStmt->getSuccessor(1)->getBB();
312
- assert((succ1 == succ || succ2 == succ) && "not a successor??");
312
+ bool is_succ = (succ1 == succ || succ2 == succ);
313
+ (void)is_succ; // Suppress warning of unused variable under release build
314
+ assert(is_succ && "not a successor??");
313
315
 
314
316
  Condition evalLoopExit = evaluateLoopExitBranch(bb, succ);
315
317
  if (!eq(evalLoopExit, Condition::nullExpr()))
@@ -491,8 +491,8 @@ void CHGBuilder::analyzeVTables(const Module &M)
491
491
  else if (const ConstantExpr *aliasconst =
492
492
  SVFUtil::dyn_cast<ConstantExpr>(aliasValue))
493
493
  {
494
- u32_t aliasopcode = aliasconst->getOpcode();
495
- assert(aliasopcode == Instruction::BitCast &&
494
+ (void)aliasconst; // Suppress warning of unused variable under release build
495
+ assert(aliasconst->getOpcode() == Instruction::BitCast &&
496
496
  "aliased constantexpr in vtable not a bitcast");
497
497
  const Function* aliasbitcastfunc =
498
498
  SVFUtil::dyn_cast<Function>(aliasconst->getOperand(0));
@@ -621,7 +621,10 @@ void SVFIRBuilder::visitPHINode(PHINode &inst)
621
621
  {
622
622
  const Value* val = inst.getIncomingValue(i);
623
623
  const Instruction* incomingInst = SVFUtil::dyn_cast<Instruction>(val);
624
- assert((incomingInst==nullptr) || (incomingInst->getFunction() == inst.getFunction()));
624
+ bool matched = (incomingInst == nullptr ||
625
+ incomingInst->getFunction() == inst.getFunction());
626
+ (void) matched; // Suppress warning of unused variable under release build
627
+ assert(matched && "incomingInst's Function incorrect");
625
628
  const Instruction* predInst = &inst.getIncomingBlock(i)->back();
626
629
  const ICFGNode* icfgNode = pag->getICFG()->getICFGNode(predInst);
627
630
  NodeID src = getValueNode(val);
@@ -139,7 +139,10 @@ void AndersenSFR::fieldExpand(NodeSet& initials, s32_t offset, NodeBS& strides,
139
139
  else if (SVFUtil::isa<FIObjVar>(initPN) || SVFUtil::isa<DummyObjVar>(initPN))
140
140
  initOffset = 0;
141
141
  else
142
+ {
142
143
  assert(false && "Not an object node!!");
144
+ abort();
145
+ }
143
146
 
144
147
  Set<s32_t> offsets;
145
148
  offsets.insert(offset);
@@ -85,6 +85,7 @@ void TypeAnalysis::callGraphSolveBasedOnCHA(const CallSiteToFunPtrMap& callsites
85
85
  {
86
86
  virtualCallSites.insert(cs);
87
87
  const Value *vtbl = getVCallVtblPtr(cs);
88
+ (void)vtbl; // Suppress warning of unused variable under release build
88
89
  assert(pag->hasValueNode(vtbl));
89
90
  VFunSet vfns;
90
91
  getVFnsFromCHA(cbn, vfns);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.587",
3
+ "version": "1.0.589",
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": {