svf-tools 1.0.615 → 1.0.617

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 (183) hide show
  1. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +3 -3
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  4. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +31 -31
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  7. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -2
  9. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
  10. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  11. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  15. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +3 -3
  16. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -2
  18. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +27 -26
  19. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +27 -26
  20. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +0 -1
  24. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +16 -20
  25. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +68 -69
  26. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  29. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -2
  32. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/annotated.html +188 -189
  34. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +52 -53
  35. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +85 -87
  36. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +43 -44
  37. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +13 -14
  38. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +52 -53
  39. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +12 -14
  40. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +56 -57
  41. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -8
  42. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +53 -54
  43. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +9 -11
  44. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +27 -28
  45. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +96 -120
  46. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +33 -34
  47. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +2 -4
  48. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +31 -32
  49. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +4 -6
  50. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +1 -1
  51. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -4
  52. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +34 -35
  53. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
  54. package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +4 -4
  56. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +110 -110
  57. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +2 -2
  58. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +9 -9
  59. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +8 -8
  60. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph-members.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +4 -4
  62. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +2 -2
  63. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +60 -61
  64. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -4
  65. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +47 -48
  66. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -6
  67. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +56 -57
  68. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -23
  69. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph-members.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +8 -8
  72. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +2 -2
  73. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +9 -9
  74. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +1 -1
  76. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +4 -4
  77. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +82 -81
  78. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +139 -102
  79. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  80. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
  81. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +1 -1
  82. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +4 -4
  83. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  84. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
  85. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
  86. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +2 -2
  87. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +7 -7
  88. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
  90. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +7 -7
  91. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +46 -47
  93. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
  94. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  95. package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +4 -4
  97. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  99. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +47 -48
  100. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -4
  101. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +2 -2
  102. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +9 -9
  103. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +76 -77
  104. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -5
  105. package/SVF-doxygen/html/html/classes.html +99 -99
  106. package/SVF-doxygen/html/html/dir_967d846b666a902c6ca9bc5c37976e49.html +0 -2
  107. package/SVF-doxygen/html/html/files.html +5 -6
  108. package/SVF-doxygen/html/html/functions_0x7e.html +0 -3
  109. package/SVF-doxygen/html/html/functions_a.html +9 -15
  110. package/SVF-doxygen/html/html/functions_b.html +5 -2
  111. package/SVF-doxygen/html/html/functions_c.html +1 -1
  112. package/SVF-doxygen/html/html/functions_func.html +11 -17
  113. package/SVF-doxygen/html/html/functions_func_0x7e.html +0 -3
  114. package/SVF-doxygen/html/html/functions_func_b.html +4 -1
  115. package/SVF-doxygen/html/html/functions_func_g.html +8 -11
  116. package/SVF-doxygen/html/html/functions_func_i.html +7 -10
  117. package/SVF-doxygen/html/html/functions_func_p.html +2 -29
  118. package/SVF-doxygen/html/html/functions_func_r.html +3 -9
  119. package/SVF-doxygen/html/html/functions_func_w.html +5 -8
  120. package/SVF-doxygen/html/html/functions_g.html +14 -17
  121. package/SVF-doxygen/html/html/functions_i.html +15 -18
  122. package/SVF-doxygen/html/html/functions_m.html +1 -4
  123. package/SVF-doxygen/html/html/functions_o.html +12 -12
  124. package/SVF-doxygen/html/html/functions_p.html +17 -45
  125. package/SVF-doxygen/html/html/functions_r.html +3 -11
  126. package/SVF-doxygen/html/html/functions_s.html +17 -15
  127. package/SVF-doxygen/html/html/functions_t.html +3 -3
  128. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  129. package/SVF-doxygen/html/html/functions_type_i.html +2 -2
  130. package/SVF-doxygen/html/html/functions_type_v.html +1 -1
  131. package/SVF-doxygen/html/html/functions_v.html +7 -7
  132. package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
  133. package/SVF-doxygen/html/html/functions_vars_p.html +0 -3
  134. package/SVF-doxygen/html/html/functions_w.html +4 -7
  135. package/SVF-doxygen/html/html/hierarchy.html +194 -195
  136. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
  137. package/SVF-doxygen/html/html/namespaceSVF.html +0 -2
  138. package/SVF-doxygen/html/html/search/all_1.js +0 -2
  139. package/SVF-doxygen/html/html/search/all_10.js +6 -16
  140. package/SVF-doxygen/html/html/search/all_11.js +1 -3
  141. package/SVF-doxygen/html/html/search/all_12.js +12 -12
  142. package/SVF-doxygen/html/html/search/all_13.js +3 -3
  143. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  144. package/SVF-doxygen/html/html/search/all_16.js +2 -3
  145. package/SVF-doxygen/html/html/search/all_19.js +0 -1
  146. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  147. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  148. package/SVF-doxygen/html/html/search/all_7.js +0 -1
  149. package/SVF-doxygen/html/html/search/all_9.js +6 -8
  150. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  151. package/SVF-doxygen/html/html/search/all_d.js +3 -4
  152. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  153. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  154. package/SVF-doxygen/html/html/search/classes_8.js +0 -1
  155. package/SVF-doxygen/html/html/search/files_7.js +0 -1
  156. package/SVF-doxygen/html/html/search/functions_0.js +0 -2
  157. package/SVF-doxygen/html/html/search/functions_1.js +1 -0
  158. package/SVF-doxygen/html/html/search/functions_10.js +0 -2
  159. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  160. package/SVF-doxygen/html/html/search/functions_15.js +1 -2
  161. package/SVF-doxygen/html/html/search/functions_17.js +0 -1
  162. package/SVF-doxygen/html/html/search/functions_6.js +0 -1
  163. package/SVF-doxygen/html/html/search/functions_8.js +1 -2
  164. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  165. package/SVF-doxygen/html/html/search/functions_f.js +0 -9
  166. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  167. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  168. package/SVF-doxygen/html/html/search/typedefs_7.js +3 -3
  169. package/SVF-doxygen/html/html/search/variables_10.js +0 -1
  170. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  171. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  172. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
  173. package/include/Graphs/ConsG.h +1 -1
  174. package/include/Graphs/GenericGraph.h +1 -1
  175. package/include/Graphs/ICFG.h +1 -1
  176. package/include/Graphs/VFG.h +1 -1
  177. package/include/MemoryModel/PointerAnalysisImpl.h +1 -2
  178. package/include/SVF-LLVM/LLVMModule.h +1 -0
  179. package/lib/MemoryModel/PointerAnalysisImpl.cpp +87 -63
  180. package/lib/SVF-LLVM/LLVMModule.cpp +11 -2
  181. package/lib/WPA/Andersen.cpp +9 -2
  182. package/package.json +1 -1
  183. package/include/SVF-LLVM/IRAnnotator.h +0 -324
@@ -240,57 +240,56 @@ $(function() {
240
240
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
241
241
  <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
242
242
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">PTAName</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
243
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
244
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
243
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
244
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
245
245
  <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8a">PTBackingType</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
246
246
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
247
247
  <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(NodeID id)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
248
248
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">readFromFile</a>(const std::string &amp;filename)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
249
- <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a857cdacfc8cafdeb1431bdfa077ef9b5">readFromModule</a>()</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
250
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
251
- <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a6c3d6b4c004d9e43690c3807502eed74">redundantGepNodes</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"></td></tr>
252
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a7a87ca1a439e871896f92e4342befa2c">remapPointsToSets</a>(void)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
253
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
254
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">resolveCPPIndCalls</a>(const CallICFGNode *cs, const PointsTo &amp;target, CallEdgeMap &amp;newEdges)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
255
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">resolveIndCalls</a>(const CallICFGNode *cs, const PointsTo &amp;target, CallEdgeMap &amp;newEdges)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
256
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"></td></tr>
249
+ <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
250
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a6c3d6b4c004d9e43690c3807502eed74">redundantGepNodes</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"></td></tr>
251
+ <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a7a87ca1a439e871896f92e4342befa2c">remapPointsToSets</a>(void)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
252
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
253
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">resolveCPPIndCalls</a>(const CallICFGNode *cs, const PointsTo &amp;target, CallEdgeMap &amp;newEdges)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
254
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">resolveIndCalls</a>(const CallICFGNode *cs, const PointsTo &amp;target, CallEdgeMap &amp;newEdges)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
257
255
  <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">scc</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
258
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SCCDetect</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
259
- <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a16d371c8f6a9bdb1ca984bcb287d6c5a">SCCDetect</a>(NodeSet &amp;candidates)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
260
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">sccRepNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
261
- <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a>(GraphType g)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
262
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(NodeID id)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
263
- <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
264
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
265
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
266
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
267
- <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">timeOfCollapse</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
268
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">timeOfProcessCopyGep</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
269
- <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">timeOfProcessLoadStore</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
270
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">timeOfSCCDetection</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
271
- <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">timeOfSCCMerges</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
272
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">timeOfUpdateCallGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
273
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
274
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
275
- <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">unionPts</a>(NodeID id, const PointsTo &amp;target)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
276
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad5e657b856681a534a8990df35ea08d0">unionPts</a>(NodeID id, NodeID ptd)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
277
- <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">updateCallGraph</a>(const CallSiteToFunPtrMap &amp;) override</td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
278
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a>(std::string fun)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
279
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">validateSuccessTests</a>(std::string fun)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
280
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
281
- <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a8bc5e039958280b18e5a00a56e0bdc94">VersionedPTDataTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
282
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
283
- <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">VFunSet</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
284
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a57fabf1408ada10028282deef0b23ec6">VTableSet</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
285
- <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
256
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"></td></tr>
257
+ <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SCCDetect</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
258
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a16d371c8f6a9bdb1ca984bcb287d6c5a">SCCDetect</a>(NodeSet &amp;candidates)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
259
+ <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">sccRepNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
260
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a>(GraphType g)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
261
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(NodeID id)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
262
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
263
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
264
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
265
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
266
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">timeOfCollapse</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
267
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">timeOfProcessCopyGep</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
268
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">timeOfProcessLoadStore</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
269
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">timeOfSCCDetection</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
270
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">timeOfSCCMerges</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
271
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">timeOfUpdateCallGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
272
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
273
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
274
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">unionPts</a>(NodeID id, const PointsTo &amp;target)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
275
+ <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad5e657b856681a534a8990df35ea08d0">unionPts</a>(NodeID id, NodeID ptd)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
276
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">updateCallGraph</a>(const CallSiteToFunPtrMap &amp;) override</td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
277
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a>(std::string fun)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
278
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">validateSuccessTests</a>(std::string fun)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
279
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
280
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a8bc5e039958280b18e5a00a56e0bdc94">VersionedPTDataTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
281
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
282
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">VFunSet</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
283
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a57fabf1408ada10028282deef0b23ec6">VTableSet</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
286
284
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a624e9156b2d3a4f284548cbaaf650334">WorkList</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"></td></tr>
287
- <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
285
+ <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
286
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
287
+ <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a3279969934d6778a6cffe926ed724bfc">writeObjVarToFile</a>(const std::string &amp;filename)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
288
288
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a>(const std::string &amp;filename)</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
289
- <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#aa0ca07204a31004fb876c6e18d1ac1ca">writeToModule</a>()</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
290
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a8da8746b38c55561d3f6904e8fd0a9aa">~AndersenBase</a>() override</td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"></td></tr>
291
- <tr><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a4a67cd071bc08d2150534e631a0a06ed">~BVDataPTAImpl</a>() override=default</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
292
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">~PointerAnalysis</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
293
- <tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">~WPASolver</a>()=default</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
289
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html#a8da8746b38c55561d3f6904e8fd0a9aa">~AndersenBase</a>() override</td><td class="entry"><a class="el" href="classSVF_1_1AndersenBase.html">SVF::AndersenBase</a></td><td class="entry"></td></tr>
290
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a4a67cd071bc08d2150534e631a0a06ed">~BVDataPTAImpl</a>() override=default</td><td class="entry"><a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td><td class="entry"></td></tr>
291
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">~PointerAnalysis</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
292
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">~WPASolver</a>()=default</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver&lt; GraphType &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
294
293
  </table></div><!-- contents -->
295
294
  <!-- start footer part -->
296
295
  <hr class="footer"/><address class="footer"><small>
@@ -171,12 +171,10 @@ Public Member Functions</h2></td></tr>
171
171
  <tr class="memitem:a25c68f9d2b88437778e854ff0d741d1b inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;filename)</td></tr>
172
172
  <tr class="memdesc:a25c68f9d2b88437778e854ff0d741d1b inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for analysis result storage on filesystem. <a href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">More...</a><br /></td></tr>
173
173
  <tr class="separator:a25c68f9d2b88437778e854ff0d741d1b inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
+ <tr class="memitem:a3279969934d6778a6cffe926ed724bfc inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a3279969934d6778a6cffe926ed724bfc">writeObjVarToFile</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;filename)</td></tr>
175
+ <tr class="separator:a3279969934d6778a6cffe926ed724bfc inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
176
  <tr class="memitem:a290501006cb700db0e07dc577429c928 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">readFromFile</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;filename)</td></tr>
175
177
  <tr class="separator:a290501006cb700db0e07dc577429c928 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
176
- <tr class="memitem:aa0ca07204a31004fb876c6e18d1ac1ca inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#aa0ca07204a31004fb876c6e18d1ac1ca">writeToModule</a> ()</td></tr>
177
- <tr class="separator:aa0ca07204a31004fb876c6e18d1ac1ca inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
178
- <tr class="memitem:a857cdacfc8cafdeb1431bdfa077ef9b5 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a857cdacfc8cafdeb1431bdfa077ef9b5">readFromModule</a> ()</td></tr>
179
- <tr class="separator:a857cdacfc8cafdeb1431bdfa077ef9b5 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
180
178
  <tr class="memitem:acd9a15c398be20db43ed9fd910bd1758 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acd9a15c398be20db43ed9fd910bd1758">dumpCPts</a> () override</td></tr>
181
179
  <tr class="memdesc:acd9a15c398be20db43ed9fd910bd1758 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft">&#160;</td><td class="mdescRight">dump and debug, print out conditional pts <a href="classSVF_1_1BVDataPTAImpl.html#acd9a15c398be20db43ed9fd910bd1758">More...</a><br /></td></tr>
182
180
  <tr class="separator:acd9a15c398be20db43ed9fd910bd1758 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -704,7 +702,7 @@ Additional Inherited Members</h2></td></tr>
704
702
  <div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; : <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">BVDataPTAImpl</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, alias_check), <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00173">WPASolver.h:173</a></div></div>
705
703
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afc320fbf269404fe128e69c98e6f9cac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">SVF::PointerAnalysis::OnTheFlyIterBudgetForStat</a></div><div class="ttdeci">u32_t OnTheFlyIterBudgetForStat</div><div class="ttdoc">Flag for iteration budget for on-the-fly statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00138">PointerAnalysis.h:138</a></div></div>
706
704
  <div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
707
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab0e1242aadfe1e16a2bd1445658a5476"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl::BVDataPTAImpl</a></div><div class="ttdeci">BVDataPTAImpl(SVFIR *pag, PointerAnalysis::PTATY type, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00046">PointerAnalysisImpl.cpp:46</a></div></div>
705
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab0e1242aadfe1e16a2bd1445658a5476"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl::BVDataPTAImpl</a></div><div class="ttdeci">BVDataPTAImpl(SVFIR *pag, PointerAnalysis::PTATY type, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00045">PointerAnalysisImpl.cpp:45</a></div></div>
708
706
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00144">Andersen.h:144</a></div></div>
709
707
  </div><!-- fragment -->
710
708
  </div>
@@ -773,16 +771,17 @@ Additional Inherited Members</h2></td></tr>
773
771
  <p>Reimplemented in <a class="el" href="classSVF_1_1TypeAnalysis.html#a6073fc43443ceba8d77212ba04e483ef">SVF::TypeAnalysis</a>.</p>
774
772
 
775
773
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00103">103</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
776
- <div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">initialize</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">bool</span> readResultsFromFile = <span class="keyword">false</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>.empty())</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; readResultsFromFile = this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">readFromFile</a>(<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Finalize the analysis</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span>(!readResultsFromFile)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// Start solving constraints</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Start Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">bool</span> limitTimerSet = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVFUtil::startAnalysisLimitTimer</a>(<a class="code" href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">Options::AnderTimeLimit</a>);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">initWorklist</a>();</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>++;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span> (0 == <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a> % <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a>)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a566830d0c7a1f5cd967bb8f2ab168f8d">printStat</a>();</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()))</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// Analysis is finished, reset the alarm if we set it.</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVFUtil::stopAnalysisLimitTimer</a>(limitTimerSet);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Finish Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="comment">// Finalize the analysis</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">finalize</a>();</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>.empty())</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a>(<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_ac460772d9236a2fefe17b2557023b883"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">SVF::WPASolver::reanalyze</a></div><div class="ttdeci">bool reanalyze</div><div class="ttdoc">Reanalyze if any constraint value changed. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00171">WPASolver.h:171</a></div></div>
774
+ <div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">initialize</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">bool</span> readResultsFromFile = <span class="keyword">false</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>.empty())</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; readResultsFromFile = this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">readFromFile</a>(<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Finalize the analysis</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>.empty())</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a3279969934d6778a6cffe926ed724bfc">writeObjVarToFile</a>(<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span>(!readResultsFromFile)</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">// Start solving constraints</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Start Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> limitTimerSet = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVFUtil::startAnalysisLimitTimer</a>(<a class="code" href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">Options::AnderTimeLimit</a>);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">initWorklist</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>++;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (0 == <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a> % <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a>)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a566830d0c7a1f5cd967bb8f2ab168f8d">printStat</a>();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()))</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// Analysis is finished, reset the alarm if we set it.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVFUtil::stopAnalysisLimitTimer</a>(limitTimerSet);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Finish Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>.empty())</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a>(<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (!readResultsFromFile)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// Finalize the analysis</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">finalize</a>();</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_ac460772d9236a2fefe17b2557023b883"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">SVF::WPASolver::reanalyze</a></div><div class="ttdeci">bool reanalyze</div><div class="ttdoc">Reanalyze if any constraint value changed. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00171">WPASolver.h:171</a></div></div>
777
775
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3e7753643166465b0d647a75bc145a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">SVF::PointerAnalysis::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap &amp; getIndirectCallsites() const</div><div class="ttdoc">Return all indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00267">PointerAnalysis.h:267</a></div></div>
778
776
  <div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00200">WPASolver.h:200</a></div></div>
779
777
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a891816407a4c6346f56bc01a67b78aac"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">SVF::AndersenBase::initialize</a></div><div class="ttdeci">virtual void initialize() override</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00073">Andersen.cpp:73</a></div></div>
780
778
  <div class="ttc" id="classSVF_1_1WPASolver_html_af1bb670efde7006e3e99b3735e4fc4cc"><div class="ttname"><a href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">SVF::WPASolver::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00108">WPASolver.h:108</a></div></div>
781
779
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00098">SVFUtil.cpp:98</a></div></div>
782
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a290501006cb700db0e07dc577429c928"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">SVF::BVDataPTAImpl::readFromFile</a></div><div class="ttdeci">virtual bool readFromFile(const std::string &amp;filename)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00243">PointerAnalysisImpl.cpp:243</a></div></div>
780
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a290501006cb700db0e07dc577429c928"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">SVF::BVDataPTAImpl::readFromFile</a></div><div class="ttdeci">virtual bool readFromFile(const std::string &amp;filename)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00280">PointerAnalysisImpl.cpp:280</a></div></div>
783
781
  <div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00173">WPASolver.h:173</a></div></div>
784
782
  <div class="ttc" id="SVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00422">SVFType.h:422</a></div></div>
785
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a25c68f9d2b88437778e854ff0d741d1b"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">SVF::BVDataPTAImpl::writeToFile</a></div><div class="ttdeci">virtual void writeToFile(const std::string &amp;filename)</div><div class="ttdoc">Interface for analysis result storage on filesystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00167">PointerAnalysisImpl.cpp:167</a></div></div>
783
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a25c68f9d2b88437778e854ff0d741d1b"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">SVF::BVDataPTAImpl::writeToFile</a></div><div class="ttdeci">virtual void writeToFile(const std::string &amp;filename)</div><div class="ttdoc">Interface for analysis result storage on filesystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00202">PointerAnalysisImpl.cpp:202</a></div></div>
784
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a3279969934d6778a6cffe926ed724bfc"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a3279969934d6778a6cffe926ed724bfc">SVF::BVDataPTAImpl::writeObjVarToFile</a></div><div class="ttdeci">virtual void writeObjVarToFile(const std::string &amp;filename)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00161">PointerAnalysisImpl.cpp:161</a></div></div>
786
785
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ac05796a5672ddb5bd0e08924d79da065"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">SVF::AndersenBase::updateCallGraph</a></div><div class="ttdeci">virtual bool updateCallGraph(const CallSiteToFunPtrMap &amp;) override</div><div class="ttdoc">Implement it in child class to update call graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00079">Andersen.h:79</a></div></div>
787
786
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00179">PointerAnalysis.cpp:179</a></div></div>
788
787
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a757815a2c758695176120509ceb0ce70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVF::SVFUtil::startAnalysisLimitTimer</a></div><div class="ttdeci">bool startAnalysisLimitTimer(unsigned timeLimit)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00288">SVFUtil.cpp:288</a></div></div>
@@ -881,8 +880,8 @@ Additional Inherited Members</h2></td></tr>
881
880
 
882
881
  <p>remove redundant gepnodes in constraint graph </p>
883
882
 
884
- <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00153">153</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
885
- <div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;{</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5fe3815a7990e16b99cf46e90529f8b3">resetSubs</a>(<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#acd1f0ce7936ced59bfaf04956a0f8214">getRep</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> sub: <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#ade6a90ed5e0a9e8615bafec54d9d1d73">getSubs</a>(<span class="keywordtype">id</span>))</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa30231dab5b7c759e4e5d76422a5eb8e">resetRep</a>(sub);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5fe3815a7990e16b99cf46e90529f8b3">resetSubs</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa30231dab5b7c759e4e5d76422a5eb8e">resetRep</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; assert(!<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>) &amp;&amp; <span class="stringliteral">&quot;this is either a rep nodeid or a sub nodeid should have already been merged to its field-insensitive base! &quot;</span>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
883
+ <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00160">160</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
884
+ <div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5fe3815a7990e16b99cf46e90529f8b3">resetSubs</a>(<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#acd1f0ce7936ced59bfaf04956a0f8214">getRep</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> sub: <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#ade6a90ed5e0a9e8615bafec54d9d1d73">getSubs</a>(<span class="keywordtype">id</span>))</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa30231dab5b7c759e4e5d76422a5eb8e">resetRep</a>(sub);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5fe3815a7990e16b99cf46e90529f8b3">resetSubs</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa30231dab5b7c759e4e5d76422a5eb8e">resetRep</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; assert(!<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>) &amp;&amp; <span class="stringliteral">&quot;this is either a rep nodeid or a sub nodeid should have already been merged to its field-insensitive base! &quot;</span>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
886
885
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_acd1f0ce7936ced59bfaf04956a0f8214"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#acd1f0ce7936ced59bfaf04956a0f8214">SVF::ConstraintGraph::getRep</a></div><div class="ttdeci">NodeID getRep(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00262">ConsG.h:262</a></div></div>
887
886
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00403">GenericGraph.h:403</a></div></div>
888
887
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_ade6a90ed5e0a9e8615bafec54d9d1d73"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ade6a90ed5e0a9e8615bafec54d9d1d73">SVF::ConstraintGraph::getSubs</a></div><div class="ttdeci">NodeBS &amp; getSubs(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00258">ConsG.h:258</a></div></div>
@@ -924,7 +923,7 @@ Additional Inherited Members</h2></td></tr>
924
923
  <p>Reimplemented in <a class="el" href="classSVF_1_1Andersen.html#ad90c8cf193bd81870ce8dd88c9580e2c">SVF::Andersen</a>, and <a class="el" href="classSVF_1_1TypeAnalysis.html#a8efef079c8b33e2215f92ac3629789e6">SVF::TypeAnalysis</a>.</p>
925
924
 
926
925
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00089">89</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
927
- <div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">Options::ConsCGDotGraph</a>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#af9fc8308845628fe8900528573e30462">dump</a>(<span class="stringliteral">&quot;consCG_final&quot;</span>);</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; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">Options::PrintCGGraph</a>)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa87bf07fc538c2cf425138727e7acbce">print</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a638f58c3bf6efdb3787fafaa4e6f19ca">BVDataPTAImpl::finalize</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a638f58c3bf6efdb3787fafaa4e6f19ca"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a638f58c3bf6efdb3787fafaa4e6f19ca">SVF::BVDataPTAImpl::finalize</a></div><div class="ttdeci">void finalize() override</div><div class="ttdoc">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00093">PointerAnalysisImpl.cpp:93</a></div></div>
926
+ <div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">Options::ConsCGDotGraph</a>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#af9fc8308845628fe8900528573e30462">dump</a>(<span class="stringliteral">&quot;consCG_final&quot;</span>);</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; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">Options::PrintCGGraph</a>)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa87bf07fc538c2cf425138727e7acbce">print</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a638f58c3bf6efdb3787fafaa4e6f19ca">BVDataPTAImpl::finalize</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a638f58c3bf6efdb3787fafaa4e6f19ca"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a638f58c3bf6efdb3787fafaa4e6f19ca">SVF::BVDataPTAImpl::finalize</a></div><div class="ttdeci">void finalize() override</div><div class="ttdoc">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00092">PointerAnalysisImpl.cpp:92</a></div></div>
928
927
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_aa87bf07fc538c2cf425138727e7acbce"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa87bf07fc538c2cf425138727e7acbce">SVF::ConstraintGraph::print</a></div><div class="ttdeci">void print()</div><div class="ttdoc">Print CG into terminal. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00566">ConsG.cpp:566</a></div></div>
929
928
  <div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00230">Options.h:230</a></div></div>
930
929
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00144">Andersen.h:144</a></div></div>
@@ -1036,10 +1035,10 @@ Additional Inherited Members</h2></td></tr>
1036
1035
 
1037
1036
  <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a2026cffd7043208333083ed1a6603e7b">SVF::BVDataPTAImpl</a>.</p>
1038
1037
 
1039
- <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00163">163</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
1040
- <div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;{</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#ab6abb822445c9b3f5cb2b7206042e940">SVFIR::MemObjToFieldsMap</a> &amp;memToFieldsMap = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a6f46446d667258b32ddc1ccab48f651c">getMemToFieldsMap</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#aa5b08d987b37d35e73de88da10a97bc4">SVFIR::NodeLocationSetMap</a> &amp;GepObjVarMap = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77e3c407ea3990413e371589aa468963">getGepObjNodeMap</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="comment">// clear GepObjVarMap/memToFieldsMap/nodeToSubsMap/nodeToRepMap</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// for redundant gepnodes and remove those nodes from pag</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>: <a class="code" href="classSVF_1_1AndersenBase.html#a6c3d6b4c004d9e43690c3807502eed74">redundantGepNodes</a>)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> base = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a> *gepNode = <a class="code" href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a>&gt;(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>));</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; assert(gepNode &amp;&amp; <span class="stringliteral">&quot;Not a gep node in redundantGepNodes set&quot;</span>);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> ls = gepNode-&gt;<a class="code" href="classSVF_1_1GepObjVar.html#a553e648804b39c503e7288dd0434c339">getLocationSet</a>();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; GepObjVarMap.erase(std::make_pair(base, ls));</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; memToFieldsMap[base].reset(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#aebfe0c7238eb24f74f105b950b86cb5e">cleanConsCG</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(gepNode);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFIR_html_aa5b08d987b37d35e73de88da10a97bc4"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa5b08d987b37d35e73de88da10a97bc4">SVF::SVFIR::NodeLocationSetMap</a></div><div class="ttdeci">Map&lt; NodeLocationSet, NodeID &gt; NodeLocationSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00069">SVFIR.h:69</a></div></div>
1038
+ <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00170">170</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
1039
+ <div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;{</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#ab6abb822445c9b3f5cb2b7206042e940">SVFIR::MemObjToFieldsMap</a> &amp;memToFieldsMap = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a6f46446d667258b32ddc1ccab48f651c">getMemToFieldsMap</a>();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#aa5b08d987b37d35e73de88da10a97bc4">SVFIR::NodeLocationSetMap</a> &amp;GepObjVarMap = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77e3c407ea3990413e371589aa468963">getGepObjNodeMap</a>();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// clear GepObjVarMap/memToFieldsMap/nodeToSubsMap/nodeToRepMap</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// for redundant gepnodes and remove those nodes from pag</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>: <a class="code" href="classSVF_1_1AndersenBase.html#a6c3d6b4c004d9e43690c3807502eed74">redundantGepNodes</a>)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> base = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a> *gepNode = <a class="code" href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a>&gt;(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>));</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; assert(gepNode &amp;&amp; <span class="stringliteral">&quot;Not a gep node in redundantGepNodes set&quot;</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> ls = gepNode-&gt;<a class="code" href="classSVF_1_1GepObjVar.html#a553e648804b39c503e7288dd0434c339">getLocationSet</a>();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; GepObjVarMap.erase(std::make_pair(base, ls));</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; memToFieldsMap[base].reset(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#aebfe0c7238eb24f74f105b950b86cb5e">cleanConsCG</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(gepNode);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFIR_html_aa5b08d987b37d35e73de88da10a97bc4"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa5b08d987b37d35e73de88da10a97bc4">SVF::SVFIR::NodeLocationSetMap</a></div><div class="ttdeci">Map&lt; NodeLocationSet, NodeID &gt; NodeLocationSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00069">SVFIR.h:69</a></div></div>
1041
1040
  <div class="ttc" id="classSVF_1_1SVFIR_html_a6f46446d667258b32ddc1ccab48f651c"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a6f46446d667258b32ddc1ccab48f651c">SVF::SVFIR::getMemToFieldsMap</a></div><div class="ttdeci">MemObjToFieldsMap &amp; getMemToFieldsMap()</div><div class="ttdoc">Return memToFieldsMap. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00121">SVFIR.h:121</a></div></div>
1042
- <div class="ttc" id="classSVF_1_1AndersenBase_html_aebfe0c7238eb24f74f105b950b86cb5e"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aebfe0c7238eb24f74f105b950b86cb5e">SVF::AndersenBase::cleanConsCG</a></div><div class="ttdeci">void cleanConsCG(NodeID id)</div><div class="ttdoc">remove redundant gepnodes in constraint graph </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00153">Andersen.cpp:153</a></div></div>
1041
+ <div class="ttc" id="classSVF_1_1AndersenBase_html_aebfe0c7238eb24f74f105b950b86cb5e"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aebfe0c7238eb24f74f105b950b86cb5e">SVF::AndersenBase::cleanConsCG</a></div><div class="ttdeci">void cleanConsCG(NodeID id)</div><div class="ttdoc">remove redundant gepnodes in constraint graph </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00160">Andersen.cpp:160</a></div></div>
1043
1042
  <div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
1044
1043
  <div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00425">SVFIR.h:425</a></div></div>
1045
1044
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af6e96694d983643a66c238cce01bff0e"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if_t&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt; dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00405">Casting.h:405</a></div></div>