svf-tools 1.0.772 → 1.0.774

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 (421) hide show
  1. package/SVF-doxygen/html/html/AddressValue_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -9
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/BoundedZ3Expr_8cpp_source.html +10 -9
  6. package/SVF-doxygen/html/html/BoundedZ3Expr_8h_source.html +380 -380
  7. package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/html/ConsExeState_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/ConsG_8h_source.html +8 -8
  15. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  16. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  17. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
  19. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +3 -3
  20. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
  21. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
  22. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +4 -4
  25. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +2 -2
  28. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +35 -35
  29. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
  31. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
  33. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
  36. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +15 -15
  37. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  39. package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +670 -671
  41. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +114 -107
  42. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +19 -18
  43. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +395 -350
  45. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +443 -433
  46. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +6 -6
  47. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +12 -12
  48. package/SVF-doxygen/html/html/RelationSolver_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +6 -6
  50. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  51. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +10 -10
  52. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +1 -1
  54. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +324 -328
  55. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +8 -8
  56. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -2
  57. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +288 -286
  58. package/SVF-doxygen/html/html/SVFIR_8h_source.html +667 -665
  59. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +7 -7
  60. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
  63. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/SingleAbsValue_8h_source.html +3 -3
  65. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  66. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  69. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  70. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
  73. package/SVF-doxygen/html/html/VFG_8h_source.html +5 -5
  74. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +284 -124
  76. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +108 -95
  77. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +59 -54
  82. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +30 -20
  83. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +52 -47
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +18 -9
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +64 -59
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +65 -60
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +11 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  90. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +60 -55
  91. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +10 -0
  92. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +31 -26
  93. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +573 -379
  94. package/SVF-doxygen/html/html/classSVF_1_1BoundedZ3Expr-members.html +3 -3
  95. package/SVF-doxygen/html/html/classSVF_1_1BoundedZ3Expr.html +306 -305
  96. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +2 -2
  97. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +37 -32
  98. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +24 -14
  99. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +39 -34
  100. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +10 -0
  101. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +40 -35
  102. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +10 -0
  103. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +305 -305
  104. package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +2 -2
  105. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +7 -7
  106. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +8 -8
  107. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  108. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
  110. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +8 -8
  111. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +66 -61
  112. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +10 -0
  113. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +54 -49
  114. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +11 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +65 -60
  116. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +28 -14
  117. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
  118. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue-members.html +3 -3
  120. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +28 -27
  121. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  123. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +14 -14
  125. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  126. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
  127. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
  128. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +14 -13
  130. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +131 -99
  131. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +554 -554
  132. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral-members.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +25 -25
  134. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +4 -4
  135. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +41 -36
  136. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +10 -0
  137. package/SVF-doxygen/html/html/classSVF_1_1POCRHybrid-members.html +41 -36
  138. package/SVF-doxygen/html/html/classSVF_1_1POCRHybrid.html +10 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +15 -15
  141. package/SVF-doxygen/html/html/classSVF_1_1RelationSolver.html +3 -3
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +175 -174
  145. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +754 -720
  146. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +308 -312
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +29 -29
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFIRReader.html +3 -3
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFIRWriter.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +7 -7
  152. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
  155. package/SVF-doxygen/html/html/classSVF_1_1SingleAbsValue-members.html +3 -3
  156. package/SVF-doxygen/html/html/classSVF_1_1SingleAbsValue.html +10 -10
  157. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +55 -50
  159. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +24 -14
  160. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +55 -50
  164. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -2
  165. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +18 -18
  166. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +21 -14
  167. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +339 -49
  168. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +10 -10
  169. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +86 -86
  170. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  171. package/SVF-doxygen/html/html/functions_a.html +1 -1
  172. package/SVF-doxygen/html/html/functions_b.html +2 -1
  173. package/SVF-doxygen/html/html/functions_f.html +6 -6
  174. package/SVF-doxygen/html/html/functions_func.html +1 -1
  175. package/SVF-doxygen/html/html/functions_func_b.html +1 -1
  176. package/SVF-doxygen/html/html/functions_func_g.html +3 -3
  177. package/SVF-doxygen/html/html/functions_func_i.html +14 -11
  178. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  179. package/SVF-doxygen/html/html/functions_func_r.html +16 -3
  180. package/SVF-doxygen/html/html/functions_func_s.html +21 -20
  181. package/SVF-doxygen/html/html/functions_func_w.html +11 -2
  182. package/SVF-doxygen/html/html/functions_g.html +3 -3
  183. package/SVF-doxygen/html/html/functions_i.html +22 -19
  184. package/SVF-doxygen/html/html/functions_l.html +3 -3
  185. package/SVF-doxygen/html/html/functions_o.html +12 -12
  186. package/SVF-doxygen/html/html/functions_p.html +13 -13
  187. package/SVF-doxygen/html/html/functions_r.html +20 -11
  188. package/SVF-doxygen/html/html/functions_rela_b.html +3 -0
  189. package/SVF-doxygen/html/html/functions_s.html +23 -24
  190. package/SVF-doxygen/html/html/functions_t.html +5 -5
  191. package/SVF-doxygen/html/html/functions_v.html +6 -6
  192. package/SVF-doxygen/html/html/functions_w.html +17 -8
  193. package/SVF-doxygen/html/html/namespaceSVF.html +10 -10
  194. package/SVF-doxygen/html/html/search/all_1.js +1 -1
  195. package/SVF-doxygen/html/html/search/all_10.js +324 -324
  196. package/SVF-doxygen/html/html/search/all_11.js +217 -213
  197. package/SVF-doxygen/html/html/search/all_12.js +541 -541
  198. package/SVF-doxygen/html/html/search/all_13.js +190 -190
  199. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  200. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  201. package/SVF-doxygen/html/html/search/all_16.js +63 -60
  202. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  203. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  204. package/SVF-doxygen/html/html/search/all_19.js +11 -11
  205. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  206. package/SVF-doxygen/html/html/search/all_2.js +3 -3
  207. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  208. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  209. package/SVF-doxygen/html/html/search/all_9.js +535 -534
  210. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  211. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  212. package/SVF-doxygen/html/html/search/all_c.js +116 -116
  213. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  214. package/SVF-doxygen/html/html/search/all_e.js +206 -206
  215. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  216. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  217. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  218. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  219. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  220. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  221. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  222. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  223. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  224. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  225. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  226. package/SVF-doxygen/html/html/search/classes_4.js +8 -8
  227. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  228. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  229. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  230. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  231. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  232. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  233. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  234. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  235. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  236. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  237. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  238. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  239. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  240. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  241. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  242. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  243. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  244. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  245. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  246. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  247. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  248. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  249. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  250. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  251. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  252. package/SVF-doxygen/html/html/search/defines_e.js +7 -7
  253. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  254. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  255. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  256. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  257. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  258. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  259. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  260. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  261. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  262. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  263. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  264. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  265. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  266. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  267. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  268. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  269. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  270. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  271. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  272. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  273. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  274. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  275. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  276. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  277. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  278. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  279. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  280. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  281. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  282. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  283. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  284. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  285. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  286. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  287. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  288. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  289. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  290. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  291. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  292. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  293. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  294. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  295. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  296. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  297. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  298. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  299. package/SVF-doxygen/html/html/search/files_2.js +49 -49
  300. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  301. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  302. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  303. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  304. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  305. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  306. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  307. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  308. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  309. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  310. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  311. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  312. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  313. package/SVF-doxygen/html/html/search/functions_0.js +12 -12
  314. package/SVF-doxygen/html/html/search/functions_1.js +350 -350
  315. package/SVF-doxygen/html/html/search/functions_10.js +140 -140
  316. package/SVF-doxygen/html/html/search/functions_11.js +131 -127
  317. package/SVF-doxygen/html/html/search/functions_12.js +275 -275
  318. package/SVF-doxygen/html/html/search/functions_13.js +58 -58
  319. package/SVF-doxygen/html/html/search/functions_14.js +38 -38
  320. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  321. package/SVF-doxygen/html/html/search/functions_16.js +32 -29
  322. package/SVF-doxygen/html/html/search/functions_17.js +3 -3
  323. package/SVF-doxygen/html/html/search/functions_18.js +169 -169
  324. package/SVF-doxygen/html/html/search/functions_2.js +84 -84
  325. package/SVF-doxygen/html/html/search/functions_3.js +253 -253
  326. package/SVF-doxygen/html/html/search/functions_4.js +74 -74
  327. package/SVF-doxygen/html/html/search/functions_5.js +51 -51
  328. package/SVF-doxygen/html/html/search/functions_6.js +58 -58
  329. package/SVF-doxygen/html/html/search/functions_7.js +842 -842
  330. package/SVF-doxygen/html/html/search/functions_8.js +143 -143
  331. package/SVF-doxygen/html/html/search/functions_9.js +423 -422
  332. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  333. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  334. package/SVF-doxygen/html/html/search/functions_c.js +26 -26
  335. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  336. package/SVF-doxygen/html/html/search/functions_e.js +35 -35
  337. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  338. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  339. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  340. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  341. package/SVF-doxygen/html/html/search/related_1.js +2 -1
  342. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  343. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  344. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  345. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  346. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  347. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  348. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  349. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  350. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  351. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  352. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  353. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  354. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  355. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  356. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  357. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  358. package/SVF-doxygen/html/html/search/typedefs_10.js +62 -62
  359. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  360. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  361. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  362. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  363. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  364. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  365. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  366. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  367. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  368. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  369. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  370. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  371. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  372. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  373. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  374. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  375. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  376. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  377. package/SVF-doxygen/html/html/search/variables_0.js +147 -147
  378. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  379. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  380. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  381. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  382. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  383. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  384. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  385. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  386. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  387. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  388. package/SVF-doxygen/html/html/search/variables_2.js +34 -34
  389. package/SVF-doxygen/html/html/search/variables_3.js +141 -141
  390. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  391. package/SVF-doxygen/html/html/search/variables_5.js +38 -38
  392. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  393. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  394. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  395. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  396. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  397. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  398. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  399. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  400. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  401. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  402. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  403. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +4 -4
  404. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +5 -5
  405. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  406. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  407. package/package.json +1 -1
  408. package/svf/include/AbstractExecution/BoundedZ3Expr.h +4 -5
  409. package/svf/include/AbstractExecution/IntervalValue.h +19 -19
  410. package/svf/include/AbstractExecution/NumericLiteral.h +2 -2
  411. package/svf/include/MemoryModel/PointerAnalysisImpl.h +5 -0
  412. package/svf/include/SVFIR/SVFIR.h +2 -1
  413. package/svf/include/Util/NodeIDAllocator.h +6 -0
  414. package/svf/include/WPA/VersionedFlowSensitive.h +8 -0
  415. package/svf/lib/AbstractExecution/BoundedZ3Expr.cpp +5 -5
  416. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +0 -4
  417. package/svf/lib/MemoryModel/PointerAnalysisImpl.cpp +101 -66
  418. package/svf/lib/SVFIR/SVFIR.cpp +5 -3
  419. package/svf/lib/Util/NodeIDAllocator.cpp +2 -4
  420. package/svf/lib/WPA/Andersen.cpp +1 -1
  421. package/svf/lib/WPA/VersionedFlowSensitive.cpp +148 -0
@@ -978,18 +978,18 @@ Additional Inherited Members</h2></td></tr>
978
978
  <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitiveStat_html_ac07c5308abfe6cdb6b242a7548fe71c5"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#ac07c5308abfe6cdb6b242a7548fe71c5">SVF::VersionedFlowSensitiveStat::_MaxTopLvlPtsSize</a></div><div class="ttdeci">u32_t _MaxTopLvlPtsSize</div><div class="ttdoc">Max points-to set size in top-level pointers.</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00206">WPAStat.h:206</a></div></div>
979
979
  <div class="ttc" id="aSVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00571">SVFType.h:571</a></div></div>
980
980
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_ac39abcb40e4b568ab59b7cf48ed10f70"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ac39abcb40e4b568ab59b7cf48ed10f70">SVF::FlowSensitive::numOfProcessedPhi</a></div><div class="ttdeci">u32_t numOfProcessedPhi</div><div class="ttdoc">Number of processed Gep node.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00289">FlowSensitive.h:289</a></div></div>
981
- <div class="ttc" id="aclassSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00324">SVFIR.h:324</a></div></div>
982
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a4a594c8d6ccaa27b5328c6388fdb258d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d">SVF::VersionedFlowSensitive::meldLabelingTime</a></div><div class="ttdeci">double meldLabelingTime</div><div class="ttdoc">Time to meld label SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00237">VersionedFlowSensitive.h:237</a></div></div>
981
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00325">SVFIR.h:325</a></div></div>
982
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a4a594c8d6ccaa27b5328c6388fdb258d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d">SVF::VersionedFlowSensitive::meldLabelingTime</a></div><div class="ttdeci">double meldLabelingTime</div><div class="ttdoc">Time to meld label SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00245">VersionedFlowSensitive.h:245</a></div></div>
983
983
  <div class="ttc" id="aclassSVF_1_1SVFStat_html_a11c34e8ba16769d218432d9504ba26a0"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">SVF::SVFStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00074">SVFStat.h:74</a></div></div>
984
984
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_aa0d4ee196b91fce626f3f15bcc5599e4"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count() const</div><div class="ttdoc">Returns number of elements.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00111">PointsTo.cpp:111</a></div></div>
985
985
  <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitiveStat_html_ad7fe08f5d684e3411f8f28ec346bd814"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#ad7fe08f5d684e3411f8f28ec346bd814">SVF::VersionedFlowSensitiveStat::versionStat</a></div><div class="ttdeci">void versionStat(void)</div><div class="ttdoc">For all version-related statistics.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitiveStat_8cpp_source.html#l00153">VersionedFlowSensitiveStat.cpp:153</a></div></div>
986
- <div class="ttc" id="aclassSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00717">SVFIR.cpp:717</a></div></div>
987
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a03f5f16377daa0258166a73de3e21f07"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">SVF::VersionedFlowSensitive::vPtD</a></div><div class="ttdeci">BVDataPTAImpl::VersionedPTDataTy * vPtD</div><div class="ttdoc">Points-to DS for working with versions.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00214">VersionedFlowSensitive.h:214</a></div></div>
986
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00719">SVFIR.cpp:719</a></div></div>
987
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a03f5f16377daa0258166a73de3e21f07"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">SVF::VersionedFlowSensitive::vPtD</a></div><div class="ttdeci">BVDataPTAImpl::VersionedPTDataTy * vPtD</div><div class="ttdoc">Points-to DS for working with versions.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00222">VersionedFlowSensitive.h:222</a></div></div>
988
988
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a3ab6f65ffbf6442daac4d3f70f2d3cb1"><div class="ttname"><a href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">SVF::MemObj::getId</a></div><div class="ttdeci">SymID getId() const</div><div class="ttdoc">Get the memory object id.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00412">SymbolTableInfo.h:412</a></div></div>
989
989
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00245">FlowSensitive.h:245</a></div></div>
990
990
  <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitiveStat_html_a8bf7eeabb0c390d4f5405d87ffad0492"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492">SVF::VersionedFlowSensitiveStat::_AvgTopLvlPtsSize</a></div><div class="ttdeci">double _AvgTopLvlPtsSize</div><div class="ttdoc">Average points-to set size for top-level pointers.</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00216">WPAStat.h:216</a></div></div>
991
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00238">VersionedFlowSensitive.h:238</a></div></div>
992
- <div class="ttc" id="aclassSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00320">SVFIR.h:320</a></div></div>
991
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00246">VersionedFlowSensitive.h:246</a></div></div>
992
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00321">SVFIR.h:321</a></div></div>
993
993
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a0ac955bf06261eec1c6bb78ec99652e3"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3">SVF::FlowSensitive::numOfSCC</a></div><div class="ttdeci">u32_t numOfSCC</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00297">FlowSensitive.h:297</a></div></div>
994
994
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a43e8ca2e69e6e8643c9abd1fa231d305"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">SVF::FlowSensitive::svfgHasSU</a></div><div class="ttdeci">NodeBS svfgHasSU</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00315">FlowSensitive.h:315</a></div></div>
995
995
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a0212f3fe2f37363e8060f292c8cf7668"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">SVF::IRGraph::getValueNodeNum</a></div><div class="ttdeci">u32_t getValueNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00187">IRGraph.h:187</a></div></div>
@@ -1007,7 +1007,7 @@ Additional Inherited Members</h2></td></tr>
1007
1007
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a88a111b6bc347d6562db7af8bd8f2f0e"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a88a111b6bc347d6562db7af8bd8f2f0e">SVF::FlowSensitive::numOfProcessedGep</a></div><div class="ttdeci">u32_t numOfProcessedGep</div><div class="ttdoc">Number of processed Copy node.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00288">FlowSensitive.h:288</a></div></div>
1008
1008
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a38f3ed35185addf701d4401bfdd5f29b"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a38f3ed35185addf701d4401bfdd5f29b">SVF::FlowSensitive::addrTime</a></div><div class="ttdeci">double addrTime</div><div class="ttdoc">time of handling address edges</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00307">FlowSensitive.h:307</a></div></div>
1009
1009
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a282126e5b67ed4e19aa40c81180b8290"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a282126e5b67ed4e19aa40c81180b8290">SVF::FlowSensitive::gepTime</a></div><div class="ttdeci">double gepTime</div><div class="ttdoc">time of handling gep edges</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00309">FlowSensitive.h:309</a></div></div>
1010
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a2e4e6a84cbfd553ad9cca8fdf9fd4a8d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">SVF::VersionedFlowSensitive::consume</a></div><div class="ttdeci">LocVersionMap consume</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00189">VersionedFlowSensitive.h:189</a></div></div>
1010
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a2e4e6a84cbfd553ad9cca8fdf9fd4a8d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">SVF::VersionedFlowSensitive::consume</a></div><div class="ttdeci">LocVersionMap consume</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00197">VersionedFlowSensitive.h:197</a></div></div>
1011
1011
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_ac4d4b42bb96006801597f81ed3c4b337"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ac4d4b42bb96006801597f81ed3c4b337">SVF::FlowSensitive::propagationTime</a></div><div class="ttdeci">double propagationTime</div><div class="ttdoc">time of points-to propagation.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00303">FlowSensitive.h:303</a></div></div>
1012
1012
  <div class="ttc" id="aclassSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
1013
1013
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_af5a94d14096ae2bbc47b3b3b9f723226"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af5a94d14096ae2bbc47b3b3b9f723226">SVF::FlowSensitive::updateTime</a></div><div class="ttdeci">double updateTime</div><div class="ttdoc">time of strong/weak updates.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00306">FlowSensitive.h:306</a></div></div>
@@ -1036,8 +1036,8 @@ Additional Inherited Members</h2></td></tr>
1036
1036
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00360">GenericGraph.h:360</a></div></div>
1037
1037
  <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitiveStat_html_ac938f088c33346ad01ace37160ea8e81"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#ac938f088c33346ad01ace37160ea8e81">SVF::VersionedFlowSensitiveStat::_NumUsedVersions</a></div><div class="ttdeci">u32_t _NumUsedVersions</div><div class="ttdoc">Number of version PTSs actually used (sum of next two fields).</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00195">WPAStat.h:195</a></div></div>
1038
1038
  <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
1039
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a77a5dd9578def9a8e2b48e8b90d9b996"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">SVF::VersionedFlowSensitive::prelabelingTime</a></div><div class="ttdeci">double prelabelingTime</div><div class="ttdoc">Time to prelabel SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00236">VersionedFlowSensitive.h:236</a></div></div>
1040
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a16224ee60494bb1fdf1c8a1026fbe7ab"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">SVF::VersionedFlowSensitive::yield</a></div><div class="ttdeci">LocVersionMap yield</div><div class="ttdoc">Actual yield map. Yield analogue to consume.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00191">VersionedFlowSensitive.h:191</a></div></div>
1039
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a77a5dd9578def9a8e2b48e8b90d9b996"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">SVF::VersionedFlowSensitive::prelabelingTime</a></div><div class="ttdeci">double prelabelingTime</div><div class="ttdoc">Time to prelabel SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00244">VersionedFlowSensitive.h:244</a></div></div>
1040
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a16224ee60494bb1fdf1c8a1026fbe7ab"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">SVF::VersionedFlowSensitive::yield</a></div><div class="ttdeci">LocVersionMap yield</div><div class="ttdoc">Actual yield map. Yield analogue to consume.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00199">VersionedFlowSensitive.h:199</a></div></div>
1041
1041
  <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitiveStat_html_a59f2b0ca53d3b94ce596cd2a934e6976"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#a59f2b0ca53d3b94ce596cd2a934e6976">SVF::VersionedFlowSensitiveStat::_NumNonEmptyVersions</a></div><div class="ttdeci">u32_t _NumNonEmptyVersions</div><div class="ttdoc">Number of versions with non-empty points-to sets (since versioning is over-approximate).</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00197">WPAStat.h:197</a></div></div>
1042
1042
  <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
1043
1043
  <div class="ttc" id="aclassSVF_1_1PTAStat_html_a608441b95be0861d8c1b0a035281f4d5"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a608441b95be0861d8c1b0a035281f4d5">SVF::PTAStat::pta</a></div><div class="ttdeci">PointerAnalysis * pta</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00060">PTAStat.h:60</a></div></div>
@@ -1048,7 +1048,7 @@ Additional Inherited Members</h2></td></tr>
1048
1048
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_ae048cc5350cf2b075c05f5d84777a3c5"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae048cc5350cf2b075c05f5d84777a3c5">SVF::FlowSensitive::numOfProcessedFormalRet</a></div><div class="ttdeci">u32_t numOfProcessedFormalRet</div><div class="ttdoc">Number of processed actual param node.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00293">FlowSensitive.h:293</a></div></div>
1049
1049
  <div class="ttc" id="aclassSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00380">SymbolTableInfo.h:380</a></div></div>
1050
1050
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_af71a5ae3aef022c569e89f40515072cf"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af71a5ae3aef022c569e89f40515072cf">SVF::FlowSensitive::numOfProcessedMSSANode</a></div><div class="ttdeci">u32_t numOfProcessedMSSANode</div><div class="ttdoc">Number of processed formal ret node.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00294">FlowSensitive.h:294</a></div></div>
1051
- <div class="ttc" id="aclassSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00448">SVFIR.h:448</a></div></div>
1051
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00449">SVFIR.h:449</a></div></div>
1052
1052
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html_abdc30e45347579986c42795a436a1251"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#abdc30e45347579986c42795a436a1251">SVF::FlowSensitive::numOfProcessedActualParam</a></div><div class="ttdeci">u32_t numOfProcessedActualParam</div><div class="ttdoc">Number of processed Store node.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00292">FlowSensitive.h:292</a></div></div>
1053
1053
  <div class="ttc" id="aclassSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
1054
1054
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
@@ -99,7 +99,7 @@ Static Private Member Functions</h2></td></tr>
99
99
  </table>
100
100
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
101
101
  <div class="textblock">
102
- <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#l00243">243</a> of file <a class="el" href="VersionedFlowSensitive_8h_source.html">VersionedFlowSensitive.h</a>.</p>
102
+ <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8h_source.html#l00251">251</a> of file <a class="el" href="VersionedFlowSensitive_8h_source.html">VersionedFlowSensitive.h</a>.</p>
103
103
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
104
104
  <a id="a40389fa1e53772ac760bfd8d476c3489"></a>
105
105
  <h2 class="memtitle"><span class="permalink"><a href="#a40389fa1e53772ac760bfd8d476c3489">&#9670;&nbsp;</a></span>NodeData</h2>
@@ -184,31 +184,31 @@ Static Private Member Functions</h2></td></tr>
184
184
  <p>Determines the strongly connected components of svfg following only edges labelled with object. partOf[n] = scc means nodes n is part of <a class="el" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a> scc. startingNodes contains the nodes to begin the search from. After completion, footprint will contain all edges which object appears on (as reached through the algorithm described above) sorted.</p>
185
185
  <p>This is not a general <a class="el" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a> detection but specifically for versioning, so edges to delta nodes are skipped as they are prelabelled. Edges to stores are also skipped to as they yield a new version (they cannot be part of an <a class="el" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a> containing more than themselves). Skipped edges still form part of the footprint. </p>
186
186
 
187
- <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00954">954</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
188
- <div class="fragment"><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;{</div>
189
- <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; partOf.resize(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</div>
190
- <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; std::fill(partOf.begin(), partOf.end(), -1);</div>
191
- <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; footprint.clear();</div>
192
- <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; </div>
193
- <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; std::vector&lt;NodeData&gt; nodeData(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>(), { -1, -1, false});</div>
194
- <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; std::stack&lt;const SVFGNode *&gt; stack;</div>
195
- <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; </div>
196
- <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordtype">int</span> <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> = 0;</div>
197
- <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keywordtype">int</span> currentSCC = 0;</div>
198
- <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; </div>
199
- <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v : startingNodes)</div>
200
- <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; {</div>
201
- <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">if</span> (nodeData[v-&gt;getId()].index == -1)</div>
202
- <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; {</div>
203
- <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, v);</div>
204
- <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div>
205
- <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; }</div>
206
- <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; </div>
207
- <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="comment">// Make sure footprints with the same edges pass ==/hash the same.</span></div>
208
- <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; std::sort(footprint.begin(), footprint.end());</div>
209
- <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; </div>
210
- <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keywordflow">return</span> currentSCC;</div>
211
- <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;}</div>
187
+ <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l01102">1102</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
188
+ <div class="fragment"><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;{</div>
189
+ <div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; partOf.resize(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</div>
190
+ <div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; std::fill(partOf.begin(), partOf.end(), -1);</div>
191
+ <div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; footprint.clear();</div>
192
+ <div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; </div>
193
+ <div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; std::vector&lt;NodeData&gt; nodeData(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>(), { -1, -1, false});</div>
194
+ <div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; std::stack&lt;const SVFGNode *&gt; stack;</div>
195
+ <div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; </div>
196
+ <div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; <span class="keywordtype">int</span> <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> = 0;</div>
197
+ <div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; <span class="keywordtype">int</span> currentSCC = 0;</div>
198
+ <div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; </div>
199
+ <div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v : startingNodes)</div>
200
+ <div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; {</div>
201
+ <div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <span class="keywordflow">if</span> (nodeData[v-&gt;getId()].index == -1)</div>
202
+ <div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; {</div>
203
+ <div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, v);</div>
204
+ <div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; }</div>
205
+ <div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; }</div>
206
+ <div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; </div>
207
+ <div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="comment">// Make sure footprints with the same edges pass ==/hash the same.</span></div>
208
+ <div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; std::sort(footprint.begin(), footprint.end());</div>
209
+ <div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; </div>
210
+ <div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; <span class="keywordflow">return</span> currentSCC;</div>
211
+ <div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;}</div>
212
212
  </div><!-- fragment -->
213
213
  </div>
214
214
  </div>
@@ -290,65 +290,65 @@ Static Private Member Functions</h2></td></tr>
290
290
 
291
291
  <p>Called by detectSCCs then called recursively. </p>
292
292
 
293
- <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00984">984</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
294
- <div class="fragment"><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;{</div>
295
- <div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vId = v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
296
- <div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; </div>
297
- <div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; nodeData[vId].index = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
298
- <div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; nodeData[vId].lowlink = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
299
- <div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; ++<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
300
- <div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; </div>
301
- <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; stack.push(v);</div>
302
- <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; nodeData[vId].onStack = <span class="keyword">true</span>;</div>
303
- <div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; </div>
304
- <div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>())</div>
305
- <div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; {</div>
306
- <div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = SVFUtil::dyn_cast&lt;IndirectSVFGEdge&gt;(e);</div>
307
- <div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div>
308
- <div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; </div>
309
- <div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = ie-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
310
- <div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
311
- <div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; </div>
312
- <div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="comment">// If object is not part of the edge, there is no edge from v to w.</span></div>
313
- <div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <span class="keywordflow">if</span> (!ie-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">object</span>)) <span class="keywordflow">continue</span>;</div>
314
- <div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; </div>
315
- <div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="comment">// Even if we don&#39;t count edges to stores and deltas for SCCs&#39; sake, they</span></div>
316
- <div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="comment">// are relevant to the footprint as a propagation still occurs over such edges.</span></div>
317
- <div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; footprint.push_back(ie);</div>
318
- <div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; </div>
319
- <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="comment">// Ignore edges to delta nodes because they are prelabeled so cannot</span></div>
320
- <div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="comment">// be part of the SCC v is in (already in nodesTodo from the prelabeled set).</span></div>
321
- <div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="comment">// Similarly, store nodes.</span></div>
322
- <div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="keywordflow">if</span> (vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(wId) || vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(wId)) <span class="keywordflow">continue</span>;</div>
323
- <div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; </div>
324
- <div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keywordflow">if</span> (nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> == -1)</div>
325
- <div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; {</div>
326
- <div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, w);</div>
327
- <div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].lowlink);</div>
328
- <div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; }</div>
329
- <div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeData[wId].onStack)</div>
330
- <div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; {</div>
331
- <div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div>
332
- <div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; }</div>
333
- <div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; }</div>
334
- <div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; </div>
335
- <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <span class="keywordflow">if</span> (nodeData[vId].lowlink == nodeData[vId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</div>
336
- <div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; {</div>
337
- <div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = <span class="keyword">nullptr</span>;</div>
338
- <div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordflow">do</span></div>
339
- <div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; {</div>
340
- <div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; w = stack.top();</div>
341
- <div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; stack.pop();</div>
342
- <div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
343
- <div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; nodeData[wId].onStack = <span class="keyword">false</span>;</div>
344
- <div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; partOf[wId] = currentSCC;</div>
345
- <div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; }</div>
346
- <div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">while</span> (w != v);</div>
347
- <div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; </div>
348
- <div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="comment">// For the next SCC.</span></div>
349
- <div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; ++currentSCC;</div>
350
- <div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; }</div>
351
- <div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;}</div>
293
+ <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l01132">1132</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
294
+ <div class="fragment"><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;{</div>
295
+ <div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vId = v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
296
+ <div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; </div>
297
+ <div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; nodeData[vId].index = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
298
+ <div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; nodeData[vId].lowlink = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
299
+ <div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; ++<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
300
+ <div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; </div>
301
+ <div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; stack.push(v);</div>
302
+ <div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; nodeData[vId].onStack = <span class="keyword">true</span>;</div>
303
+ <div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; </div>
304
+ <div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>())</div>
305
+ <div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; {</div>
306
+ <div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = SVFUtil::dyn_cast&lt;IndirectSVFGEdge&gt;(e);</div>
307
+ <div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div>
308
+ <div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; </div>
309
+ <div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = ie-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
310
+ <div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
311
+ <div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; </div>
312
+ <div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; <span class="comment">// If object is not part of the edge, there is no edge from v to w.</span></div>
313
+ <div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; <span class="keywordflow">if</span> (!ie-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">object</span>)) <span class="keywordflow">continue</span>;</div>
314
+ <div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; </div>
315
+ <div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; <span class="comment">// Even if we don&#39;t count edges to stores and deltas for SCCs&#39; sake, they</span></div>
316
+ <div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; <span class="comment">// are relevant to the footprint as a propagation still occurs over such edges.</span></div>
317
+ <div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; footprint.push_back(ie);</div>
318
+ <div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; </div>
319
+ <div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; <span class="comment">// Ignore edges to delta nodes because they are prelabeled so cannot</span></div>
320
+ <div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; <span class="comment">// be part of the SCC v is in (already in nodesTodo from the prelabeled set).</span></div>
321
+ <div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; <span class="comment">// Similarly, store nodes.</span></div>
322
+ <div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; <span class="keywordflow">if</span> (vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(wId) || vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(wId)) <span class="keywordflow">continue</span>;</div>
323
+ <div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; </div>
324
+ <div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; <span class="keywordflow">if</span> (nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> == -1)</div>
325
+ <div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; {</div>
326
+ <div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, w);</div>
327
+ <div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].lowlink);</div>
328
+ <div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; }</div>
329
+ <div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeData[wId].onStack)</div>
330
+ <div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; {</div>
331
+ <div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div>
332
+ <div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; }</div>
333
+ <div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; }</div>
334
+ <div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; </div>
335
+ <div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; <span class="keywordflow">if</span> (nodeData[vId].lowlink == nodeData[vId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</div>
336
+ <div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; {</div>
337
+ <div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = <span class="keyword">nullptr</span>;</div>
338
+ <div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <span class="keywordflow">do</span></div>
339
+ <div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; {</div>
340
+ <div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; w = stack.top();</div>
341
+ <div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; stack.pop();</div>
342
+ <div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
343
+ <div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; nodeData[wId].onStack = <span class="keyword">false</span>;</div>
344
+ <div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; partOf[wId] = currentSCC;</div>
345
+ <div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; }</div>
346
+ <div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; <span class="keywordflow">while</span> (w != v);</div>
347
+ <div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; </div>
348
+ <div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <span class="comment">// For the next SCC.</span></div>
349
+ <div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; ++currentSCC;</div>
350
+ <div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; }</div>
351
+ <div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;}</div>
352
352
  </div><!-- fragment -->
353
353
  </div>
354
354
  </div>
@@ -366,7 +366,7 @@ Static Private Member Functions</h2></td></tr>
366
366
  <div class="ttc" id="aclassSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
367
367
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00708">SparseBitVector.h:708</a></div></div>
368
368
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a8c8d16036008f87c7811586047599858"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">SVF::GenericGraph::getTotalNodeNum</a></div><div class="ttdeci">u32_t getTotalNodeNum() const</div><div class="ttdoc">Get total number of node/edge.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00433">GenericGraph.h:433</a></div></div>
369
- <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_1_1SCC_html_abbac2470771fc7dbc702eda9031bcad8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge * &gt; &amp;footprint, std::vector&lt; NodeData &gt; &amp;nodeData, std::stack&lt; const SVFGNode * &gt; &amp;stack, int &amp;index, int &amp;currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00984">VersionedFlowSensitive.cpp:984</a></div></div>
369
+ <div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_1_1SCC_html_abbac2470771fc7dbc702eda9031bcad8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge * &gt; &amp;footprint, std::vector&lt; NodeData &gt; &amp;nodeData, std::stack&lt; const SVFGNode * &gt; &amp;stack, int &amp;index, int &amp;currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l01132">VersionedFlowSensitive.cpp:1132</a></div></div>
370
370
  <div class="ttc" id="aclassSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
371
371
  <div class="ttc" id="aclassSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
372
372
  <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
@@ -926,7 +926,7 @@ Private Attributes</h2></td></tr>
926
926
  <div class="ttc" id="aclassSVF_1_1WPAPass_html_a4d27be04d38089e86b8b6a1d22e9d8f8"><div class="ttname"><a href="classSVF_1_1WPAPass.html#a4d27be04d38089e86b8b6a1d22e9d8f8">SVF::WPAPass::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(const SVFValue *value)</div><div class="ttdoc">Retrieve points-to set information.</div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8cpp_source.html#l00157">WPAPass.cpp:157</a></div></div>
927
927
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdeci">@ AndersenWaveDiff_WPA</div><div class="ttdoc">Diff wave propagation andersen-style WPA.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00070">PointerAnalysis.h:70</a></div></div>
928
928
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">SVF::PointerAnalysis::TypeCPP_WPA</a></div><div class="ttdeci">@ TypeCPP_WPA</div><div class="ttdoc">Type-based analysis for C++.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00081">PointerAnalysis.h:81</a></div></div>
929
- <div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00169">SVFIR.h:169</a></div></div>
929
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
930
930
  <div class="ttc" id="aclassSVF_1_1FlowSensitive_html"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html">SVF::FlowSensitive</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00049">FlowSensitive.h:49</a></div></div>
931
931
  <div class="ttc" id="aclassSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00384">Andersen.h:384</a></div></div>
932
932
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">SVF::PointerAnalysis::Andersen_WPA</a></div><div class="ttdeci">@ Andersen_WPA</div><div class="ttdoc">Andersen PTA.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00067">PointerAnalysis.h:67</a></div></div>
@@ -499,7 +499,7 @@ $(function() {
499
499
  : <a class="el" href="classSVF_1_1SVFIRBuilder.html#a4e1b6797df3e7b98da876f50741e6a3a">SVF::SVFIRBuilder</a>
500
500
  </li>
501
501
  <li>addGepObjNode()
502
- : <a class="el" href="classSVF_1_1SVFIR.html#aba63798e93490f257574c24d3c03507d">SVF::SVFIR</a>
502
+ : <a class="el" href="classSVF_1_1SVFIR.html#a685991a5dec8a17fe73b3161fdb9ea7e">SVF::SVFIR</a>
503
503
  </li>
504
504
  <li>addGepStmt()
505
505
  : <a class="el" href="classSVF_1_1SVFIR.html#a1f77275b24345164f30d519238121f92">SVF::SVFIR</a>
@@ -543,12 +543,13 @@ $(function() {
543
543
  </li>
544
544
  <li>BVDataPTAImpl()
545
545
  : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl</a>
546
+ , <a class="el" href="classSVF_1_1SVFIR.html#abab304aade6559906d047cdc992acb7f">SVF::SVFIR</a>
546
547
  </li>
547
548
  <li>bvIt
548
549
  : <a class="el" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">SVF::PointsTo::PointsToIterator</a>
549
550
  </li>
550
551
  <li>bvLen()
551
- : <a class="el" href="classSVF_1_1BoundedZ3Expr.html#ad933b3a56e3004f13eca9b67a80d8ee8">SVF::BoundedZ3Expr</a>
552
+ : <a class="el" href="classSVF_1_1BoundedZ3Expr.html#a15706e4f0708a2de70118c2df8c869c7">SVF::BoundedZ3Expr</a>
552
553
  </li>
553
554
  <li>BWProcessCurNode()
554
555
  : <a class="el" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">SVF::GraphReachSolver&lt; GraphType, DPIm &gt;</a>
@@ -610,12 +610,12 @@ $(function() {
610
610
  <li>FunToCallGraphNodeMap
611
611
  : <a class="el" href="classSVF_1_1PTACallGraph.html#a049bc978a93f0db1fe91efb6feb22b14">SVF::PTACallGraph</a>
612
612
  </li>
613
- <li>funToEntryChiSetMap
614
- : <a class="el" href="classSVF_1_1MemSSA.html#a59314f6ce17919574d687a08a38b55ec">SVF::MemSSA</a>
615
- </li>
616
613
  <li>FunToEntryChiSetMap
617
614
  : <a class="el" href="classSVF_1_1MemSSA.html#ac34aa1ac96600bfc27b3c2eb0b1510ca">SVF::MemSSA</a>
618
615
  </li>
616
+ <li>funToEntryChiSetMap
617
+ : <a class="el" href="classSVF_1_1MemSSA.html#a59314f6ce17919574d687a08a38b55ec">SVF::MemSSA</a>
618
+ </li>
619
619
  <li>funToExitBBsMap
620
620
  : <a class="el" href="classSVF_1_1SaberCondAllocator.html#ad1620cc7482aeb464b53cfce64e17cc3">SVF::SaberCondAllocator</a>
621
621
  </li>
@@ -661,12 +661,12 @@ $(function() {
661
661
  <li>FunToPAGEdgeSetMap
662
662
  : <a class="el" href="classSVF_1_1SVFIR.html#ac918466df08a2ab30472f3e57935f005">SVF::SVFIR</a>
663
663
  </li>
664
- <li>funToPointsToMap
665
- : <a class="el" href="classSVF_1_1MRGenerator.html#a05c7a5ddbe3079f63be76c35298d1c2b">SVF::MRGenerator</a>
666
- </li>
667
664
  <li>FunToPointsToMap
668
665
  : <a class="el" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">SVF::MRGenerator</a>
669
666
  </li>
667
+ <li>funToPointsToMap
668
+ : <a class="el" href="classSVF_1_1MRGenerator.html#a05c7a5ddbe3079f63be76c35298d1c2b">SVF::MRGenerator</a>
669
+ </li>
670
670
  <li>FunToPointsTosMap
671
671
  : <a class="el" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">SVF::MRGenerator</a>
672
672
  </li>
@@ -439,7 +439,7 @@ $(function() {
439
439
  : <a class="el" href="classSVF_1_1SVFIRBuilder.html#a4e1b6797df3e7b98da876f50741e6a3a">SVF::SVFIRBuilder</a>
440
440
  </li>
441
441
  <li>addGepObjNode()
442
- : <a class="el" href="classSVF_1_1SVFIR.html#aba63798e93490f257574c24d3c03507d">SVF::SVFIR</a>
442
+ : <a class="el" href="classSVF_1_1SVFIR.html#a685991a5dec8a17fe73b3161fdb9ea7e">SVF::SVFIR</a>
443
443
  </li>
444
444
  <li>addGepStmt()
445
445
  : <a class="el" href="classSVF_1_1SVFIR.html#a1f77275b24345164f30d519238121f92">SVF::SVFIR</a>
@@ -319,7 +319,7 @@ $(function() {
319
319
  : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl</a>
320
320
  </li>
321
321
  <li>bvLen()
322
- : <a class="el" href="classSVF_1_1BoundedZ3Expr.html#ad933b3a56e3004f13eca9b67a80d8ee8">SVF::BoundedZ3Expr</a>
322
+ : <a class="el" href="classSVF_1_1BoundedZ3Expr.html#a15706e4f0708a2de70118c2df8c869c7">SVF::BoundedZ3Expr</a>
323
323
  </li>
324
324
  <li>BWProcessCurNode()
325
325
  : <a class="el" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">SVF::GraphReachSolver&lt; GraphType, DPIm &gt;</a>
@@ -1849,9 +1849,9 @@ $(function() {
1849
1849
  : <a class="el" href="classSVF_1_1ConsExeState.html#a3efeeb8311b868c4a7fc2df69f061317">SVF::ConsExeState</a>
1850
1850
  </li>
1851
1851
  <li>getNumeral()
1852
- : <a class="el" href="classSVF_1_1BoundedZ3Expr.html#a950c44fafa34b36a16e5913b6a9ea51d">SVF::BoundedZ3Expr</a>
1853
- , <a class="el" href="classSVF_1_1IntervalValue.html#a2fa999764e68c2bbdc1f000f0c63b597">SVF::IntervalValue</a>
1854
- , <a class="el" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">SVF::NumericLiteral</a>
1852
+ : <a class="el" href="classSVF_1_1BoundedZ3Expr.html#af62c2d6bc40080b9728c107cf317184b">SVF::BoundedZ3Expr</a>
1853
+ , <a class="el" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue</a>
1854
+ , <a class="el" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral</a>
1855
1855
  </li>
1856
1856
  <li>getNumFields()
1857
1857
  : <a class="el" href="classSVF_1_1DCHGraph.html#a0788694fbff155949fc4f4d6487c223e">SVF::DCHGraph</a>