svf-tools 1.0.289 → 1.0.293

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 (275) hide show
  1. package/README.md +1 -0
  2. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  7. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
  8. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +5 -5
  10. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +45 -29
  12. package/SVF-doxygen/html/html/Andersen_8h_source.html +50 -50
  13. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +9 -9
  15. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  19. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +5 -5
  23. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +22 -22
  28. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +52 -32
  29. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +58 -55
  30. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  34. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  37. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +64 -11
  38. package/SVF-doxygen/html/html/NodeIDAllocator_8h.html +5 -1
  39. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +52 -15
  40. package/SVF-doxygen/html/html/PAG_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +34 -33
  46. package/SVF-doxygen/html/html/PointsTo_8h_source.html +32 -32
  47. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -12
  48. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +33 -35
  49. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -36
  51. package/SVF-doxygen/html/html/SVFG_8h_source.html +19 -19
  52. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -7
  53. package/SVF-doxygen/html/html/SVFUtil_8h.html +3 -0
  54. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +10 -8
  55. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  60. package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -11
  61. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +51 -43
  63. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +34 -33
  64. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  65. package/SVF-doxygen/html/html/annotated.html +2 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +213 -212
  70. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +124 -72
  71. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +223 -222
  73. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +36 -34
  74. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +232 -231
  75. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +21 -19
  76. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +220 -219
  77. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +38 -36
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +221 -220
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -9
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +232 -231
  81. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -4
  82. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +220 -219
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +21 -19
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +227 -226
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +26 -24
  87. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -3
  88. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  89. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -4
  91. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -4
  95. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  96. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
  99. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  102. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +110 -107
  104. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +12 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +109 -106
  108. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +286 -157
  109. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +30 -30
  110. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +121 -118
  111. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +36 -28
  112. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  113. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +3 -3
  114. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
  118. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
  123. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
  126. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  131. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  132. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +11 -10
  133. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +74 -34
  134. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer-members.html +109 -0
  135. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1188 -0
  136. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -4
  139. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +77 -66
  142. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +32 -26
  143. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +36 -37
  144. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +121 -153
  145. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +49 -49
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  151. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +8 -9
  156. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +3 -3
  159. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +132 -129
  169. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +171 -116
  170. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +37 -37
  171. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +5 -5
  172. package/SVF-doxygen/html/html/classes.html +62 -62
  173. package/SVF-doxygen/html/html/functions_b.html +10 -5
  174. package/SVF-doxygen/html/html/functions_c.html +36 -22
  175. package/SVF-doxygen/html/html/functions_d.html +12 -0
  176. package/SVF-doxygen/html/html/functions_e.html +9 -3
  177. package/SVF-doxygen/html/html/functions_f.html +21 -18
  178. package/SVF-doxygen/html/html/functions_func_c.html +19 -10
  179. package/SVF-doxygen/html/html/functions_func_d.html +3 -0
  180. package/SVF-doxygen/html/html/functions_func_e.html +3 -0
  181. package/SVF-doxygen/html/html/functions_func_g.html +16 -10
  182. package/SVF-doxygen/html/html/functions_func_p.html +6 -2
  183. package/SVF-doxygen/html/html/functions_func_r.html +7 -1
  184. package/SVF-doxygen/html/html/functions_func_t.html +3 -0
  185. package/SVF-doxygen/html/html/functions_g.html +15 -9
  186. package/SVF-doxygen/html/html/functions_l.html +10 -7
  187. package/SVF-doxygen/html/html/functions_n.html +21 -3
  188. package/SVF-doxygen/html/html/functions_o.html +16 -8
  189. package/SVF-doxygen/html/html/functions_p.html +23 -17
  190. package/SVF-doxygen/html/html/functions_r.html +13 -6
  191. package/SVF-doxygen/html/html/functions_s.html +9 -9
  192. package/SVF-doxygen/html/html/functions_t.html +18 -9
  193. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  194. package/SVF-doxygen/html/html/functions_v.html +3 -3
  195. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  196. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  197. package/SVF-doxygen/html/html/functions_vars_d.html +6 -0
  198. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  199. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  200. package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
  201. package/SVF-doxygen/html/html/functions_vars_n.html +18 -0
  202. package/SVF-doxygen/html/html/functions_vars_o.html +6 -0
  203. package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
  204. package/SVF-doxygen/html/html/functions_vars_t.html +6 -0
  205. package/SVF-doxygen/html/html/functions_w.html +8 -6
  206. package/SVF-doxygen/html/html/globals_f.html +3 -3
  207. package/SVF-doxygen/html/html/hierarchy.html +413 -412
  208. package/SVF-doxygen/html/html/menudata.js +2 -0
  209. package/SVF-doxygen/html/html/namespaceSVF.html +8 -8
  210. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +47 -16
  211. package/SVF-doxygen/html/html/namespacemembers_func.html +17 -10
  212. package/SVF-doxygen/html/html/namespacemembers_h.html +76 -0
  213. package/SVF-doxygen/html/html/search/all_10.js +9 -8
  214. package/SVF-doxygen/html/html/search/all_12.js +5 -2
  215. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  216. package/SVF-doxygen/html/html/search/all_14.js +8 -5
  217. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  218. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  219. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  220. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  221. package/SVF-doxygen/html/html/search/all_3.js +4 -0
  222. package/SVF-doxygen/html/html/search/all_4.js +4 -0
  223. package/SVF-doxygen/html/html/search/all_5.js +2 -0
  224. package/SVF-doxygen/html/html/search/all_6.js +4 -3
  225. package/SVF-doxygen/html/html/search/all_7.js +4 -2
  226. package/SVF-doxygen/html/html/search/all_8.js +1 -0
  227. package/SVF-doxygen/html/html/search/all_c.js +4 -3
  228. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  229. package/SVF-doxygen/html/html/search/all_e.js +9 -4
  230. package/SVF-doxygen/html/html/search/all_f.js +4 -2
  231. package/SVF-doxygen/html/html/search/classes_2.js +1 -0
  232. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  233. package/SVF-doxygen/html/html/search/functions_11.js +1 -0
  234. package/SVF-doxygen/html/html/search/functions_2.js +2 -0
  235. package/SVF-doxygen/html/html/search/functions_3.js +1 -0
  236. package/SVF-doxygen/html/html/search/functions_4.js +1 -0
  237. package/SVF-doxygen/html/html/search/functions_6.js +4 -2
  238. package/SVF-doxygen/html/html/search/functions_7.js +1 -0
  239. package/SVF-doxygen/html/html/search/functions_e.js +3 -2
  240. package/SVF-doxygen/html/html/search/functions_f.js +2 -0
  241. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  242. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  243. package/SVF-doxygen/html/html/search/variables_14.js +3 -1
  244. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  245. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  246. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  247. package/SVF-doxygen/html/html/search/variables_4.js +2 -0
  248. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  249. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  250. package/SVF-doxygen/html/html/search/variables_c.js +1 -0
  251. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  252. package/SVF-doxygen/html/html/search/variables_e.js +7 -2
  253. package/SVF-doxygen/html/html/search/variables_f.js +2 -0
  254. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  255. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  256. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +20 -20
  257. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
  258. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html +1 -1
  259. package/include/SABER/ProgSlice.h +0 -3
  260. package/include/Util/NodeIDAllocator.h +94 -0
  261. package/include/Util/SVFUtil.h +3 -0
  262. package/include/WPA/Andersen.h +4 -0
  263. package/include/WPA/FlowSensitive.h +9 -0
  264. package/include/WPA/VersionedFlowSensitive.h +3 -0
  265. package/lib/Graphs/SVFG.cpp +0 -20
  266. package/lib/Graphs/VFG.cpp +18 -0
  267. package/lib/MemoryModel/PointsTo.cpp +76 -19
  268. package/lib/SABER/ProgSlice.cpp +0 -37
  269. package/lib/SABER/SaberAnnotator.cpp +1 -1
  270. package/lib/Util/NodeIDAllocator.cpp +548 -1
  271. package/lib/Util/SVFUtil.cpp +19 -0
  272. package/lib/WPA/Andersen.cpp +34 -0
  273. package/lib/WPA/FlowSensitive.cpp +70 -0
  274. package/lib/WPA/VersionedFlowSensitive.cpp +20 -0
  275. package/package.json +1 -1
@@ -438,6 +438,8 @@ Protected Member Functions</h2></td></tr>
438
438
  <tr class="memitem:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">addTypeForGepObjNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
439
439
  <tr class="memdesc:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">add type for newly created GepObjNode <a href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">More...</a><br /></td></tr>
440
440
  <tr class="separator:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
441
+ <tr class="memitem:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae1ff65a411f2c4dfee0973ad4af48daf">cluster</a> (void) const</td></tr>
442
+ <tr class="separator:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
441
443
  <tr class="memitem:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">processAllAddr</a> ()</td></tr>
442
444
  <tr class="memdesc:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">handling various constraints <a href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">More...</a><br /></td></tr>
443
445
  <tr class="separator:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -813,7 +815,7 @@ Additional Inherited Members</h2></td></tr>
813
815
  </table>
814
816
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
815
817
  <div class="textblock">
816
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00559">559</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
818
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00563">563</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
817
819
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
818
820
  <a id="ae654ed2cf8cce00c649a30e573f5eefd"></a>
819
821
  <h2 class="memtitle"><span class="permalink"><a href="#ae654ed2cf8cce00c649a30e573f5eefd">&#9670;&nbsp;</a></span>AndersenLCD()</h2>
@@ -849,10 +851,10 @@ Additional Inherited Members</h2></td></tr>
849
851
  </table>
850
852
  </div><div class="memdoc">
851
853
 
852
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00568">568</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
853
- <div class="fragment"><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; :</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#aed87dd498ba5daf263624a74118ef007">Andersen</a>(_pag, type), <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>({}), <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>( {})</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div><div class="ttc" id="classSVF_1_1Andersen_html_aed87dd498ba5daf263624a74118ef007"><div class="ttname"><a href="classSVF_1_1Andersen.html#aed87dd498ba5daf263624a74118ef007">SVF::Andersen::Andersen</a></div><div class="ttdeci">Andersen(PAG *_pag, PTATY type=Andersen_WPA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00164">Andersen.h:164</a></div></div>
854
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00565">Andersen.h:565</a></div></div>
855
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_a501ff7f8648c735c4a896063128d9ccc"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">SVF::AndersenLCD::metEdges</a></div><div class="ttdeci">EdgeSet metEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00564">Andersen.h:564</a></div></div>
854
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00572">572</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
855
+ <div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; :</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#aed87dd498ba5daf263624a74118ef007">Andersen</a>(_pag, type), <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>({}), <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>( {})</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div><div class="ttc" id="classSVF_1_1Andersen_html_aed87dd498ba5daf263624a74118ef007"><div class="ttname"><a href="classSVF_1_1Andersen.html#aed87dd498ba5daf263624a74118ef007">SVF::Andersen::Andersen</a></div><div class="ttdeci">Andersen(PAG *_pag, PTATY type=Andersen_WPA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00164">Andersen.h:164</a></div></div>
856
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00569">Andersen.h:569</a></div></div>
857
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_a501ff7f8648c735c4a896063128d9ccc"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">SVF::AndersenLCD::metEdges</a></div><div class="ttdeci">EdgeSet metEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00568">Andersen.h:568</a></div></div>
856
858
  </div><!-- fragment -->
857
859
  </div>
858
860
  </div>
@@ -881,8 +883,8 @@ Additional Inherited Members</h2></td></tr>
881
883
  </table>
882
884
  </div><div class="memdoc">
883
885
 
884
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00603">603</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
885
- <div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; {</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.insert(nodeId);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00565">Andersen.h:565</a></div></div>
886
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00607">607</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
887
+ <div class="fragment"><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; {</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.insert(nodeId);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00569">Andersen.h:569</a></div></div>
886
888
  </div><!-- fragment -->
887
889
  </div>
888
890
  </div>
@@ -910,8 +912,8 @@ Additional Inherited Members</h2></td></tr>
910
912
  </table>
911
913
  </div><div class="memdoc">
912
914
 
913
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00616">616</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
914
- <div class="fragment"><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; {</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>.insert(edge-&gt;getEdgeID());</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a501ff7f8648c735c4a896063128d9ccc"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">SVF::AndersenLCD::metEdges</a></div><div class="ttdeci">EdgeSet metEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00564">Andersen.h:564</a></div></div>
915
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00620">620</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
916
+ <div class="fragment"><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>.insert(edge-&gt;getEdgeID());</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a501ff7f8648c735c4a896063128d9ccc"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">SVF::AndersenLCD::metEdges</a></div><div class="ttdeci">EdgeSet metEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00568">Andersen.h:568</a></div></div>
915
917
  </div><!-- fragment -->
916
918
  </div>
917
919
  </div>
@@ -938,8 +940,8 @@ Additional Inherited Members</h2></td></tr>
938
940
  </table>
939
941
  </div><div class="memdoc">
940
942
 
941
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00599">599</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
942
- <div class="fragment"><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; {</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.clear();</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00565">Andersen.h:565</a></div></div>
943
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00603">603</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
944
+ <div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; {</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.clear();</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00569">Andersen.h:569</a></div></div>
943
945
  </div><!-- fragment -->
944
946
  </div>
945
947
  </div>
@@ -969,9 +971,9 @@ Additional Inherited Members</h2></td></tr>
969
971
 
970
972
  <p>Create an singleton instance directly instead of invoking llvm pass manager. </p>
971
973
 
972
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00574">574</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
973
- <div class="fragment"><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; {</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae654ed2cf8cce00c649a30e573f5eefd">AndersenLCD</a>(_pag);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; }</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ae4e979d6e7fa83c8961d0caf0ca0f54e"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">SVF::AndersenLCD::lcdAndersen</a></div><div class="ttdeci">static AndersenLCD * lcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00563">Andersen.h:563</a></div></div>
974
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_ae654ed2cf8cce00c649a30e573f5eefd"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ae654ed2cf8cce00c649a30e573f5eefd">SVF::AndersenLCD::AndersenLCD</a></div><div class="ttdeci">AndersenLCD(PAG *_pag, PTATY type=AndersenLCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00568">Andersen.h:568</a></div></div>
974
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00578">578</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
975
+ <div class="fragment"><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; {</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae654ed2cf8cce00c649a30e573f5eefd">AndersenLCD</a>(_pag);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ae4e979d6e7fa83c8961d0caf0ca0f54e"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">SVF::AndersenLCD::lcdAndersen</a></div><div class="ttdeci">static AndersenLCD * lcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00567">Andersen.h:567</a></div></div>
976
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_ae654ed2cf8cce00c649a30e573f5eefd"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ae654ed2cf8cce00c649a30e573f5eefd">SVF::AndersenLCD::AndersenLCD</a></div><div class="ttdeci">AndersenLCD(PAG *_pag, PTATY type=AndersenLCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00572">Andersen.h:572</a></div></div>
975
977
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00094">Andersen.cpp:94</a></div></div>
976
978
  </div><!-- fragment -->
977
979
  </div>
@@ -1012,9 +1014,9 @@ Additional Inherited Members</h2></td></tr>
1012
1014
  <div class="ttc" id="classSVF_1_1GepCGEdge_html"><div class="ttname"><a href="classSVF_1_1GepCGEdge.html">SVF::GepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00225">ConsGEdge.h:225</a></div></div>
1013
1015
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
1014
1016
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
1015
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_aa830cfc0e46114751337e8ea3586d0bb"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#aa830cfc0e46114751337e8ea3586d0bb">SVF::AndersenLCD::addLCDCandidate</a></div><div class="ttdeci">void addLCDCandidate(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00603">Andersen.h:603</a></div></div>
1016
- <div class="ttc" id="classSVF_1_1Andersen_html_ac4afe532655c3f311143ebbe15175ca2"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2">SVF::Andersen::processCopy</a></div><div class="ttdeci">virtual bool processCopy(NodeID node, const ConstraintEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00337">Andersen.cpp:337</a></div></div>
1017
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_a4f374bbd066f9e8b1480184a1416b68b"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a4f374bbd066f9e8b1480184a1416b68b">SVF::AndersenLCD::isMetEdge</a></div><div class="ttdeci">bool isMetEdge(ConstraintEdge *edge) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00611">Andersen.h:611</a></div></div>
1017
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_aa830cfc0e46114751337e8ea3586d0bb"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#aa830cfc0e46114751337e8ea3586d0bb">SVF::AndersenLCD::addLCDCandidate</a></div><div class="ttdeci">void addLCDCandidate(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00607">Andersen.h:607</a></div></div>
1018
+ <div class="ttc" id="classSVF_1_1Andersen_html_ac4afe532655c3f311143ebbe15175ca2"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2">SVF::Andersen::processCopy</a></div><div class="ttdeci">virtual bool processCopy(NodeID node, const ConstraintEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00352">Andersen.cpp:352</a></div></div>
1019
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_a4f374bbd066f9e8b1480184a1416b68b"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a4f374bbd066f9e8b1480184a1416b68b">SVF::AndersenLCD::isMetEdge</a></div><div class="ttdeci">bool isMetEdge(ConstraintEdge *edge) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00615">Andersen.h:615</a></div></div>
1018
1020
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00171">SVFBasicTypes.h:171</a></div></div>
1019
1021
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_ab77173aa8af6155b569f20ff0cdcec72"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab77173aa8af6155b569f20ff0cdcec72">SVF::ConstraintNode::getCopyOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getCopyOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00128">ConsGNode.h:128</a></div></div>
1020
1022
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a19d3d2c996ba821227a836717e5443c8"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a19d3d2c996ba821227a836717e5443c8">SVF::ConstraintNode::getGepOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getGepOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00136">ConsGNode.h:136</a></div></div>
@@ -1022,8 +1024,8 @@ Additional Inherited Members</h2></td></tr>
1022
1024
  <div class="ttc" id="classSVF_1_1Andersen_html_a7e26ac6fb40684694f7ff2aadfde8bc7"><div class="ttname"><a href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">SVF::Andersen::computeDiffPts</a></div><div class="ttdeci">virtual void computeDiffPts(NodeID id)</div><div class="ttdoc">Handle diff points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00274">Andersen.h:274</a></div></div>
1023
1025
  <div class="ttc" id="classSVF_1_1ConstraintEdge_html"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00048">ConsGEdge.h:48</a></div></div>
1024
1026
  <div class="ttc" id="classSVF_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#l00027">PointsTo.h:27</a></div></div>
1025
- <div class="ttc" id="classSVF_1_1Andersen_html_aa697d4a6fe09dd6e50abb09228b3567f"><div class="ttname"><a href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">SVF::Andersen::processGep</a></div><div class="ttdeci">virtual bool processGep(NodeID node, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00357">Andersen.cpp:357</a></div></div>
1026
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_a0c5adfc0876e9bea02fe8ded41baeb91"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a0c5adfc0876e9bea02fe8ded41baeb91">SVF::AndersenLCD::addMetEdge</a></div><div class="ttdeci">void addMetEdge(ConstraintEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00616">Andersen.h:616</a></div></div>
1027
+ <div class="ttc" id="classSVF_1_1Andersen_html_aa697d4a6fe09dd6e50abb09228b3567f"><div class="ttname"><a href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">SVF::Andersen::processGep</a></div><div class="ttdeci">virtual bool processGep(NodeID node, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00372">Andersen.cpp:372</a></div></div>
1028
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_a0c5adfc0876e9bea02fe8ded41baeb91"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a0c5adfc0876e9bea02fe8ded41baeb91">SVF::AndersenLCD::addMetEdge</a></div><div class="ttdeci">void addMetEdge(ConstraintEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00620">Andersen.h:620</a></div></div>
1027
1029
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00113">PTAStat.cpp:113</a></div></div>
1028
1030
  </div><!-- fragment -->
1029
1031
  </div>
@@ -1051,8 +1053,8 @@ Additional Inherited Members</h2></td></tr>
1051
1053
  </table>
1052
1054
  </div><div class="memdoc">
1053
1055
 
1054
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00595">595</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1055
- <div class="fragment"><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; {</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">return</span> !<a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.empty();</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00565">Andersen.h:565</a></div></div>
1056
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00599">599</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1057
+ <div class="fragment"><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; {</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> !<a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.empty();</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00569">Andersen.h:569</a></div></div>
1056
1058
  </div><!-- fragment -->
1057
1059
  </div>
1058
1060
  </div>
@@ -1080,8 +1082,8 @@ Additional Inherited Members</h2></td></tr>
1080
1082
  </table>
1081
1083
  </div><div class="memdoc">
1082
1084
 
1083
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00611">611</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1084
- <div class="fragment"><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; {</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; EdgeSet::const_iterator it = <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>.find(edge-&gt;getEdgeID());</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>.end();</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a501ff7f8648c735c4a896063128d9ccc"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">SVF::AndersenLCD::metEdges</a></div><div class="ttdeci">EdgeSet metEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00564">Andersen.h:564</a></div></div>
1085
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00615">615</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1086
+ <div class="fragment"><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; {</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; EdgeSet::const_iterator it = <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>.find(edge-&gt;getEdgeID());</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">metEdges</a>.end();</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a501ff7f8648c735c4a896063128d9ccc"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a501ff7f8648c735c4a896063128d9ccc">SVF::AndersenLCD::metEdges</a></div><div class="ttdeci">EdgeSet metEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00568">Andersen.h:568</a></div></div>
1085
1087
  </div><!-- fragment -->
1086
1088
  </div>
1087
1089
  </div>
@@ -1110,8 +1112,8 @@ Additional Inherited Members</h2></td></tr>
1110
1112
  <p>Collapse nodes and fields based on 'lcdCandidates' </p>
1111
1113
 
1112
1114
  <p class="definition">Definition at line <a class="el" href="AndersenLCD_8cpp_source.html#l00091">91</a> of file <a class="el" href="AndersenLCD_8cpp_source.html">AndersenLCD.cpp</a>.</p>
1113
- <div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenLCD.html#ad3f4bd35f98c43a0642b91c6b0e7acb3">hasLCDCandidate</a>())</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a078a58b3b3f18cca4e09ff5a9a8ed791">SCCDetect</a>();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ab58bd928fbfcc56344dcaf82a9c360a2">cleanLCDCandidate</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ad3f4bd35f98c43a0642b91c6b0e7acb3"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ad3f4bd35f98c43a0642b91c6b0e7acb3">SVF::AndersenLCD::hasLCDCandidate</a></div><div class="ttdeci">bool hasLCDCandidate() const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00595">Andersen.h:595</a></div></div>
1114
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_ab58bd928fbfcc56344dcaf82a9c360a2"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ab58bd928fbfcc56344dcaf82a9c360a2">SVF::AndersenLCD::cleanLCDCandidate</a></div><div class="ttdeci">void cleanLCDCandidate()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00599">Andersen.h:599</a></div></div>
1115
+ <div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenLCD.html#ad3f4bd35f98c43a0642b91c6b0e7acb3">hasLCDCandidate</a>())</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a078a58b3b3f18cca4e09ff5a9a8ed791">SCCDetect</a>();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ab58bd928fbfcc56344dcaf82a9c360a2">cleanLCDCandidate</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ad3f4bd35f98c43a0642b91c6b0e7acb3"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ad3f4bd35f98c43a0642b91c6b0e7acb3">SVF::AndersenLCD::hasLCDCandidate</a></div><div class="ttdeci">bool hasLCDCandidate() const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00599">Andersen.h:599</a></div></div>
1116
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_ab58bd928fbfcc56344dcaf82a9c360a2"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ab58bd928fbfcc56344dcaf82a9c360a2">SVF::AndersenLCD::cleanLCDCandidate</a></div><div class="ttdeci">void cleanLCDCandidate()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00603">Andersen.h:603</a></div></div>
1115
1117
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_a078a58b3b3f18cca4e09ff5a9a8ed791"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a078a58b3b3f18cca4e09ff5a9a8ed791">SVF::AndersenLCD::SCCDetect</a></div><div class="ttdeci">NodeStack &amp; SCCDetect()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00103">AndersenLCD.cpp:103</a></div></div>
1116
1118
  </div><!-- fragment -->
1117
1119
  </div>
@@ -1163,7 +1165,7 @@ Additional Inherited Members</h2></td></tr>
1163
1165
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
1164
1166
  <div class="ttc" id="classSVF_1_1Andersen_html_ab7dadfd4d810be4863f03ed996b3b3c4"><div class="ttname"><a href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">SVF::Andersen::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &amp;target)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00226">Andersen.h:226</a></div></div>
1165
1167
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_aabe2861fcbc364e2c8aa8114d4879c39"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aabe2861fcbc364e2c8aa8114d4879c39">SVF::ConstraintGraph::moveEdgesToRepNode</a></div><div class="ttdeci">bool moveEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00283">ConsG.h:283</a></div></div>
1166
- <div class="ttc" id="classSVF_1_1Andersen_html_acd54e3edace1f41511c8f0a6a68dac18"><div class="ttname"><a href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">SVF::Andersen::updateNodeRepAndSubs</a></div><div class="ttdeci">void updateNodeRepAndSubs(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Updates subnodes of its rep, and rep node of its subs. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00796">Andersen.cpp:796</a></div></div>
1168
+ <div class="ttc" id="classSVF_1_1Andersen_html_acd54e3edace1f41511c8f0a6a68dac18"><div class="ttname"><a href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">SVF::Andersen::updateNodeRepAndSubs</a></div><div class="ttdeci">void updateNodeRepAndSubs(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Updates subnodes of its rep, and rep node of its subs. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00811">Andersen.cpp:811</a></div></div>
1167
1169
  <div class="ttc" id="classSVF_1_1Andersen_html_a4baa6fc95d52afa370fc0fabffd42018"><div class="ttname"><a href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">SVF::Andersen::updatePropaPts</a></div><div class="ttdeci">void updatePropaPts(NodeID dstId, NodeID srcId)</div><div class="ttdoc">Handle propagated points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00292">Andersen.h:292</a></div></div>
1168
1170
  <div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
1169
1171
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
@@ -1195,8 +1197,8 @@ Additional Inherited Members</h2></td></tr>
1195
1197
  </table>
1196
1198
  </div><div class="memdoc">
1197
1199
 
1198
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00585">585</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1199
- <div class="fragment"><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; {</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>)</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ae4e979d6e7fa83c8961d0caf0ca0f54e"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">SVF::AndersenLCD::lcdAndersen</a></div><div class="ttdeci">static AndersenLCD * lcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00563">Andersen.h:563</a></div></div>
1200
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00589">589</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1201
+ <div class="fragment"><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>)</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a>;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">lcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ae4e979d6e7fa83c8961d0caf0ca0f54e"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ae4e979d6e7fa83c8961d0caf0ca0f54e">SVF::AndersenLCD::lcdAndersen</a></div><div class="ttdeci">static AndersenLCD * lcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00567">Andersen.h:567</a></div></div>
1200
1202
  </div><!-- fragment -->
1201
1203
  </div>
1202
1204
  </div>
@@ -1233,12 +1235,12 @@ Additional Inherited Members</h2></td></tr>
1233
1235
  <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00116">SVFBasicTypes.h:116</a></div></div>
1234
1236
  <div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
1235
1237
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a02c5a50b214d36921e1404784e76704d"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">SVF::AndersenBase::timeOfSCCMerges</a></div><div class="ttdeci">static double timeOfSCCMerges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00138">Andersen.h:138</a></div></div>
1236
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00565">Andersen.h:565</a></div></div>
1238
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00569">Andersen.h:569</a></div></div>
1237
1239
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a6b7d0e57f741c446d0bf178939960143"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">SVF::AndersenBase::timeOfSCCDetection</a></div><div class="ttdeci">static double timeOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00137">Andersen.h:137</a></div></div>
1238
1240
  <div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
1239
1241
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
1240
1242
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00171">SVFBasicTypes.h:171</a></div></div>
1241
- <div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00457">Andersen.cpp:457</a></div></div>
1243
+ <div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00472">Andersen.cpp:472</a></div></div>
1242
1244
  <div class="ttc" id="classSVF_1_1Andersen_html_aad706e332847e6b0892350a05028ba30"><div class="ttname"><a href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC methods. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00211">Andersen.h:211</a></div></div>
1243
1245
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a6da6e1231a46fde6925493045b8b2490"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490">SVF::AndersenBase::numOfSCCDetection</a></div><div class="ttdeci">static Size_t numOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00136">Andersen.h:136</a></div></div>
1244
1246
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00113">PTAStat.cpp:113</a></div></div>
@@ -1275,10 +1277,10 @@ Additional Inherited Members</h2></td></tr>
1275
1277
  <p class="definition">Definition at line <a class="el" href="AndersenLCD_8cpp_source.html#l00039">39</a> of file <a class="el" href="AndersenLCD_8cpp_source.html">AndersenLCD.cpp</a>.</p>
1276
1278
  <div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// Merge detected SCC cycles</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a132fe3985f04b55b5e172649db7e44d7">mergeSCC</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = <a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// Keep solving until workList is empty.</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">processNode</a>(nodeId);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div><div class="ttc" id="namespaceSVF_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="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
1277
1279
  <div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00167">WPASolver.h:167</a></div></div>
1278
- <div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00442">Andersen.cpp:442</a></div></div>
1279
- <div class="ttc" id="classSVF_1_1Andersen_html_a1caa6fa0740f4fa789d960a5a6fcb9c1"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdoc">Override WPASolver function in order to use the default solver. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00199">Andersen.cpp:199</a></div></div>
1280
+ <div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00457">Andersen.cpp:457</a></div></div>
1281
+ <div class="ttc" id="classSVF_1_1Andersen_html_a1caa6fa0740f4fa789d960a5a6fcb9c1"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdoc">Override WPASolver function in order to use the default solver. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00214">Andersen.cpp:214</a></div></div>
1280
1282
  <div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00158">WPASolver.h:158</a></div></div>
1281
- <div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00433">Andersen.cpp:433</a></div></div>
1283
+ <div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00448">Andersen.cpp:448</a></div></div>
1282
1284
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_a132fe3985f04b55b5e172649db7e44d7"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a132fe3985f04b55b5e172649db7e44d7">SVF::AndersenLCD::mergeSCC</a></div><div class="ttdeci">virtual void mergeSCC()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00091">AndersenLCD.cpp:91</a></div></div>
1283
1285
  </div><!-- fragment -->
1284
1286
  </div>
@@ -1304,7 +1306,7 @@ Additional Inherited Members</h2></td></tr>
1304
1306
  </table>
1305
1307
  </div><div class="memdoc">
1306
1308
 
1307
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00563">563</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1309
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00567">567</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1308
1310
 
1309
1311
  </div>
1310
1312
  </div>
@@ -1328,7 +1330,7 @@ Additional Inherited Members</h2></td></tr>
1328
1330
  </table>
1329
1331
  </div><div class="memdoc">
1330
1332
 
1331
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00565">565</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1333
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00569">569</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1332
1334
 
1333
1335
  </div>
1334
1336
  </div>
@@ -1352,7 +1354,7 @@ Additional Inherited Members</h2></td></tr>
1352
1354
  </table>
1353
1355
  </div><div class="memdoc">
1354
1356
 
1355
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00564">564</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1357
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00568">568</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1356
1358
 
1357
1359
  </div>
1358
1360
  </div>