svf-tools 1.0.537 → 1.0.540

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 (232) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +16 -16
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -9
  7. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +2 -1
  8. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -4
  10. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +15 -15
  11. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +4 -4
  12. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +39 -39
  13. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +20 -8
  14. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +16 -15
  15. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +1 -1
  16. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -1
  17. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -1
  18. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  19. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
  20. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/DDAStat_8h.html +1 -1
  23. package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +4 -4
  25. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +4 -4
  31. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +3 -3
  32. package/SVF-doxygen/html/html/ICFGStat_8h.html +1 -1
  33. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  34. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
  36. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/LockAnalysis_8cpp.html +1 -1
  38. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  40. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -1
  42. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/MTAStat_8h.html +1 -1
  44. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp.html +1 -1
  48. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/Options_8cpp_source.html +5 -3
  50. package/SVF-doxygen/html/html/Options_8h.html +1 -1
  51. package/SVF-doxygen/html/html/Options_8h_source.html +5 -3
  52. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +314 -0
  53. package/SVF-doxygen/html/html/PTAStat_8cpp.html +1 -1
  54. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +5 -5
  55. package/SVF-doxygen/html/html/PTAStat_8h.html +2 -2
  56. package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
  57. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  59. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +1 -1
  60. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  61. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
  62. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/html/SVFGStat_8h.html +1 -1
  65. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  68. package/SVF-doxygen/html/html/SVFIR_8h_source.html +33 -33
  69. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  70. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -1
  71. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/TypeAnalysis_8cpp.html +1 -1
  74. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  75. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  76. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  77. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  78. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  79. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  80. package/SVF-doxygen/html/html/WPAStat_8h.html +1 -1
  81. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  83. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +12 -11
  85. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +73 -4
  86. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +150 -152
  87. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +46 -141
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +149 -151
  90. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -11
  91. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +161 -163
  92. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -10
  93. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  94. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +156 -158
  95. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +14 -20
  96. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +4 -4
  97. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +52 -51
  99. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +26 -26
  100. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +10 -7
  101. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +3 -3
  103. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +2 -2
  104. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  105. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +11 -11
  106. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -2
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  108. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  109. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
  110. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +10 -10
  111. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  115. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
  116. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -2
  118. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +8 -6
  119. package/SVF-doxygen/html/html/classSVF_1_1Options.html +54 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +16 -16
  122. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +5 -5
  123. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +2 -2
  125. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +86 -88
  126. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +22 -22
  127. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  130. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  135. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  136. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
  137. package/SVF-doxygen/html/html/dir_eef3a4ca6ca2cab0eb5fbea30ec32c1a.html +0 -2
  138. package/SVF-doxygen/html/html/files.html +15 -15
  139. package/SVF-doxygen/html/html/functions_a.html +3 -6
  140. package/SVF-doxygen/html/html/functions_b.html +3 -0
  141. package/SVF-doxygen/html/html/functions_c.html +22 -20
  142. package/SVF-doxygen/html/html/functions_f.html +10 -12
  143. package/SVF-doxygen/html/html/functions_func.html +5 -8
  144. package/SVF-doxygen/html/html/functions_func_b.html +3 -0
  145. package/SVF-doxygen/html/html/functions_func_m.html +1 -4
  146. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  147. package/SVF-doxygen/html/html/functions_i.html +6 -6
  148. package/SVF-doxygen/html/html/functions_m.html +0 -3
  149. package/SVF-doxygen/html/html/functions_n.html +3 -0
  150. package/SVF-doxygen/html/html/functions_o.html +6 -6
  151. package/SVF-doxygen/html/html/functions_p.html +15 -16
  152. package/SVF-doxygen/html/html/functions_r.html +2 -2
  153. package/SVF-doxygen/html/html/functions_s.html +8 -6
  154. package/SVF-doxygen/html/html/functions_t.html +3 -3
  155. package/SVF-doxygen/html/html/functions_v.html +3 -3
  156. package/SVF-doxygen/html/html/functions_vars_n.html +3 -0
  157. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  158. package/SVF-doxygen/html/html/globals.html +1 -0
  159. package/SVF-doxygen/html/html/globals_a.html +3 -1
  160. package/SVF-doxygen/html/html/globals_c.html +6 -5
  161. package/SVF-doxygen/html/html/globals_e.html +1 -0
  162. package/SVF-doxygen/html/html/globals_f.html +7 -5
  163. package/SVF-doxygen/html/html/globals_g.html +7 -3
  164. package/SVF-doxygen/html/html/globals_m.html +6 -3
  165. package/SVF-doxygen/html/html/globals_v.html +2 -1
  166. package/SVF-doxygen/html/html/globals_vars.html +22 -7
  167. package/SVF-doxygen/html/html/namespaceSVF.html +3 -3
  168. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  169. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  170. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  171. package/SVF-doxygen/html/html/search/all_1.js +2 -3
  172. package/SVF-doxygen/html/html/search/all_10.js +11 -9
  173. package/SVF-doxygen/html/html/search/all_11.js +1 -1
  174. package/SVF-doxygen/html/html/search/all_12.js +8 -8
  175. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  176. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  177. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  178. package/SVF-doxygen/html/html/search/all_3.js +4 -4
  179. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  180. package/SVF-doxygen/html/html/search/all_6.js +6 -6
  181. package/SVF-doxygen/html/html/search/all_7.js +4 -4
  182. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  183. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  184. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  185. package/SVF-doxygen/html/html/search/all_d.js +2 -3
  186. package/SVF-doxygen/html/html/search/all_e.js +4 -3
  187. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  188. package/SVF-doxygen/html/html/search/files_c.js +1 -0
  189. package/SVF-doxygen/html/html/search/functions_0.js +0 -1
  190. package/SVF-doxygen/html/html/search/functions_1.js +1 -0
  191. package/SVF-doxygen/html/html/search/functions_c.js +0 -1
  192. package/SVF-doxygen/html/html/search/functions_f.js +2 -2
  193. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  194. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  195. package/SVF-doxygen/html/html/search/variables_10.js +2 -1
  196. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  197. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  198. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  199. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  200. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  201. package/SVF-doxygen/html/html/search/variables_7.js +4 -4
  202. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  203. package/SVF-doxygen/html/html/search/variables_e.js +3 -2
  204. package/include/CFL/CFGNormalizer.h +3 -3
  205. package/include/CFL/CFLAlias.h +5 -1
  206. package/include/CFL/CFLGraphBuilder.h +11 -1
  207. package/include/CFL/PEGGrammar.txt +28 -0
  208. package/include/DDA/DDAStat.h +1 -1
  209. package/include/Graphs/ICFGStat.h +1 -1
  210. package/include/Graphs/SVFGStat.h +1 -1
  211. package/include/MTA/MTAStat.h +1 -1
  212. package/include/MemoryModel/SVFIR.h +1 -4
  213. package/include/SVF-FE/LLVMUtil.h +2 -2
  214. package/include/Util/ExtAPI.h +2 -2
  215. package/include/Util/Options.h +3 -1
  216. package/include/{MemoryModel → Util}/PTAStat.h +0 -0
  217. package/include/WPA/Andersen.h +3 -14
  218. package/include/WPA/WPAStat.h +1 -1
  219. package/lib/CFL/CFLAlias.cpp +12 -7
  220. package/lib/CFL/CFLGraphBuilder.cpp +135 -0
  221. package/lib/CFL/GrammarBuilder.cpp +12 -8
  222. package/lib/Graphs/SVFGReadWrite.cpp +3 -3
  223. package/lib/MTA/LockAnalysis.cpp +1 -1
  224. package/lib/MTA/MHP.cpp +1 -1
  225. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  226. package/lib/SVF-FE/CHGBuilder.cpp +1 -1
  227. package/lib/Util/NodeIDAllocator.cpp +1 -1
  228. package/lib/Util/Options.cpp +16 -4
  229. package/lib/Util/PTAStat.cpp +4 -3
  230. package/lib/WPA/Andersen.cpp +0 -3
  231. package/lib/WPA/TypeAnalysis.cpp +1 -1
  232. package/package.json +1 -1
@@ -577,7 +577,7 @@ Additional Inherited Members</h2></td></tr>
577
577
  <tr class="memitem:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">updateCallGraph</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &amp;callsites)</td></tr>
578
578
  <tr class="memdesc:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update call graph for the input indirect callsites. <a href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">More...</a><br /></td></tr>
579
579
  <tr class="separator:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
580
- <tr class="memitem:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">connectCaller2CalleeParams</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>, <a class="el" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> &amp;cpySrcNodes)</td></tr>
580
+ <tr class="memitem:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">connectCaller2CalleeParams</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="PEGGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>, <a class="el" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> &amp;cpySrcNodes)</td></tr>
581
581
  <tr class="memdesc:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect formal and actual parameters for indirect callsites. <a href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">More...</a><br /></td></tr>
582
582
  <tr class="separator:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
583
583
  <tr class="memitem:a36729160041bc3a3e2b0a92b29062848 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId)</td></tr>
@@ -597,12 +597,6 @@ Additional Inherited Members</h2></td></tr>
597
597
  <tr class="memitem:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">PTAName</a> () const</td></tr>
598
598
  <tr class="memdesc:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get PTA name. <a href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">More...</a><br /></td></tr>
599
599
  <tr class="separator:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
600
- <tr class="memitem:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">matchType</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
601
- <tr class="memdesc:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">match types for Gep Edges <a href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">More...</a><br /></td></tr>
602
- <tr class="separator:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
603
- <tr class="memitem:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">addTypeForGepObjNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
604
- <tr class="memdesc:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft">&#160;</td><td class="mdescRight">add type for newly created GepObjNode <a href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">More...</a><br /></td></tr>
605
- <tr class="separator:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
606
600
  <tr class="memitem:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae1ff65a411f2c4dfee0973ad4af48daf">cluster</a> (void) const</td></tr>
607
601
  <tr class="separator:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2">&#160;</td></tr>
608
602
  <tr class="memitem:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">processAllAddr</a> ()</td></tr>
@@ -781,7 +775,7 @@ Additional Inherited Members</h2></td></tr>
781
775
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
782
776
  <div class="textblock"><p>Wave propagation with diff points-to set. </p>
783
777
 
784
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00410">410</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
778
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00399">399</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
785
779
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
786
780
  <a id="a7478d23055a5db981d7a9515cffc99da"></a>
787
781
  <h2 class="memtitle"><span class="permalink"><a href="#a7478d23055a5db981d7a9515cffc99da">&#9670;&nbsp;</a></span>AndersenWaveDiff()</h2>
@@ -823,8 +817,8 @@ Additional Inherited Members</h2></td></tr>
823
817
  </table>
824
818
  </div><div class="memdoc">
825
819
 
826
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00418">418</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
827
- <div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;: <a class="code" href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">Andersen</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, alias_check) {}</div><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>
820
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00407">407</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
821
+ <div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;: <a class="code" href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">Andersen</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, alias_check) {}</div><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>
828
822
  <div class="ttc" id="classSVF_1_1Andersen_html_a680dc709c0263fc1a13aa5c81d95fc72"><div class="ttname"><a href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">SVF::Andersen::Andersen</a></div><div class="ttdeci">Andersen(SVFIR *_pag, PTATY type=Andersen_WPA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00153">Andersen.h:153</a></div></div>
829
823
  </div><!-- fragment -->
830
824
  </div>
@@ -856,11 +850,11 @@ Additional Inherited Members</h2></td></tr>
856
850
 
857
851
  <p>Create an singleton instance directly instead of invoking llvm pass manager. </p>
858
852
 
859
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00421">421</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
860
- <div class="fragment"><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; {</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a7478d23055a5db981d7a9515cffc99da">AndersenWaveDiff</a>(_pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">AndersenWaveDiff_WPA</a>, <span class="keyword">false</span>);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00102">Andersen.cpp:102</a></div></div>
861
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_add4dcb6d74a8ce8747bcac5f740cd672"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">SVF::AndersenWaveDiff::diffWave</a></div><div class="ttdeci">static AndersenWaveDiff * diffWave</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00415">Andersen.h:415</a></div></div>
853
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00410">410</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
854
+ <div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a7478d23055a5db981d7a9515cffc99da">AndersenWaveDiff</a>(_pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">AndersenWaveDiff_WPA</a>, <span class="keyword">false</span>);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00102">Andersen.cpp:102</a></div></div>
855
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_add4dcb6d74a8ce8747bcac5f740cd672"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">SVF::AndersenWaveDiff::diffWave</a></div><div class="ttdeci">static AndersenWaveDiff * diffWave</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00404">Andersen.h:404</a></div></div>
862
856
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdoc">Diff wave propagation andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00069">PointerAnalysis.h:69</a></div></div>
863
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a7478d23055a5db981d7a9515cffc99da"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a7478d23055a5db981d7a9515cffc99da">SVF::AndersenWaveDiff::AndersenWaveDiff</a></div><div class="ttdeci">AndersenWaveDiff(SVFIR *_pag, PTATY type=AndersenWaveDiff_WPA, bool alias_check=true)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00418">Andersen.h:418</a></div></div>
857
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a7478d23055a5db981d7a9515cffc99da"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a7478d23055a5db981d7a9515cffc99da">SVF::AndersenWaveDiff::AndersenWaveDiff</a></div><div class="ttdeci">AndersenWaveDiff(SVFIR *_pag, PTATY type=AndersenWaveDiff_WPA, bool alias_check=true)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00407">Andersen.h:407</a></div></div>
864
858
  </div><!-- fragment -->
865
859
  </div>
866
860
  </div>
@@ -1055,8 +1049,8 @@ Additional Inherited Members</h2></td></tr>
1055
1049
  </table>
1056
1050
  </div><div class="memdoc">
1057
1051
 
1058
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00431">431</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1059
- <div class="fragment"><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>)</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_add4dcb6d74a8ce8747bcac5f740cd672"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">SVF::AndersenWaveDiff::diffWave</a></div><div class="ttdeci">static AndersenWaveDiff * diffWave</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00415">Andersen.h:415</a></div></div>
1052
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00420">420</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1053
+ <div class="fragment"><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>)</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a>;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_add4dcb6d74a8ce8747bcac5f740cd672"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">SVF::AndersenWaveDiff::diffWave</a></div><div class="ttdeci">static AndersenWaveDiff * diffWave</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00404">Andersen.h:404</a></div></div>
1060
1054
  </div><!-- fragment -->
1061
1055
  </div>
1062
1056
  </div>
@@ -1092,12 +1086,12 @@ Additional Inherited Members</h2></td></tr>
1092
1086
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1093
1087
  <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00127">SVFBasicTypes.h:127</a></div></div>
1094
1088
  <div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00164">WPASolver.h:164</a></div></div>
1095
- <div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdoc">collapse positive weight cycles of a graph </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00468">Andersen.cpp:468</a></div></div>
1089
+ <div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdoc">collapse positive weight cycles of a graph </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00465">Andersen.cpp:465</a></div></div>
1096
1090
  <div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00155">WPASolver.h:155</a></div></div>
1097
1091
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_aa0659a2787c1f9b1b6ec62900313475e"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#aa0659a2787c1f9b1b6ec62900313475e">SVF::AndersenWaveDiff::postProcessNode</a></div><div class="ttdeci">virtual void postProcessNode(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00108">AndersenWaveDiff.cpp:108</a></div></div>
1098
- <div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">virtual void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00459">Andersen.cpp:459</a></div></div>
1092
+ <div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">virtual void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00456">Andersen.cpp:456</a></div></div>
1099
1093
  <div class="ttc" id="classSVF_1_1Andersen_html_a44d62658bbd2efcef5ff479930b5dce9"><div class="ttname"><a href="classSVF_1_1Andersen.html#a44d62658bbd2efcef5ff479930b5dce9">SVF::Andersen::mergePWC</a></div><div class="ttdeci">bool mergePWC() const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00235">Andersen.h:235</a></div></div>
1100
- <div class="ttc" id="classSVF_1_1Andersen_html_a31ea24432ff42ab86a4728f2bde571bc"><div class="ttname"><a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SVF::Andersen::SCCDetect</a></div><div class="ttdeci">virtual NodeStack &amp; SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00607">Andersen.cpp:607</a></div></div>
1094
+ <div class="ttc" id="classSVF_1_1Andersen_html_a31ea24432ff42ab86a4728f2bde571bc"><div class="ttname"><a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SVF::Andersen::SCCDetect</a></div><div class="ttdeci">virtual NodeStack &amp; SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00604">Andersen.cpp:604</a></div></div>
1101
1095
  </div><!-- fragment -->
1102
1096
  </div>
1103
1097
  </div>
@@ -1122,7 +1116,7 @@ Additional Inherited Members</h2></td></tr>
1122
1116
  </table>
1123
1117
  </div><div class="memdoc">
1124
1118
 
1125
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00415">415</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1119
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00404">404</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1126
1120
 
1127
1121
  </div>
1128
1122
  </div>
@@ -1376,7 +1376,7 @@ Additional Inherited Members</h2></td></tr>
1376
1376
 
1377
1377
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8cpp_source.html#l00082">82</a> of file <a class="el" href="PointerAnalysisImpl_8cpp_source.html">PointerAnalysisImpl.cpp</a>.</p>
1378
1378
  <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; expandedPts = pts;;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> pit = pts.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(), epit = pts.<a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(); pit!=epit; ++pit)</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(*pit) == *pit || <a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(*pit))</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; expandedPts |= <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(*pit);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div><div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
1379
- <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#l00409">SVFIR.h:409</a></div></div>
1379
+ <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#l00406">SVFIR.h:406</a></div></div>
1380
1380
  <div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
1381
1381
  <div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS &amp; getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00479">SVFIR.cpp:479</a></div></div>
1382
1382
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
@@ -1423,7 +1423,7 @@ Additional Inherited Members</h2></td></tr>
1423
1423
 
1424
1424
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8cpp_source.html#l00094">94</a> of file <a class="el" href="PointerAnalysisImpl_8cpp_source.html">PointerAnalysisImpl.cpp</a>.</p>
1425
1425
  <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; expandedPts = pts;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o : pts)</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(o) == o || <a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(o))</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; expandedPts |= <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(o);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1426
- <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#l00409">SVFIR.h:409</a></div></div>
1426
+ <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#l00406">SVFIR.h:406</a></div></div>
1427
1427
  <div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS &amp; getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00479">SVFIR.cpp:479</a></div></div>
1428
1428
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
1429
1429
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00354">PointerAnalysis.h:354</a></div></div>
@@ -1750,7 +1750,7 @@ Additional Inherited Members</h2></td></tr>
1750
1750
  <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#l00122">SVFIR.h:122</a></div></div>
1751
1751
  <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00378">SymbolTableInfo.h:378</a></div></div>
1752
1752
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1753
- <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#l00409">SVFIR.h:409</a></div></div>
1753
+ <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#l00406">SVFIR.h:406</a></div></div>
1754
1754
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00706">SparseBitVector.h:706</a></div></div>
1755
1755
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a4909696c946cf6aba12542ec51766b64"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a4909696c946cf6aba12542ec51766b64">SVF::BVDataPTAImpl::clearPts</a></div><div class="ttdeci">virtual void clearPts(NodeID id, NodeID element)</div><div class="ttdoc">Remove element from the points-to set of id. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00110">PointerAnalysisImpl.h:110</a></div></div>
1756
1756
  <div class="ttc" id="cJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
@@ -2079,7 +2079,7 @@ Additional Inherited Members</h2></td></tr>
2079
2079
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8cpp_source.html#l00116">116</a> of file <a class="el" href="PointerAnalysisImpl_8cpp_source.html">PointerAnalysisImpl.cpp</a>.</p>
2080
2080
  <div class="fragment"><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; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aa0ca07204a31004fb876c6e18d1ac1ca">writeToModule</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Storing pointer analysis results to &#39;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;&#39;...&quot;</span>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; error_code err;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; std::fstream f(filename.c_str(), std::ios_base::out);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (!f.good())</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="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; error opening file for writing!\n&quot;</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</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;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">// Write analysis results to file</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), ie = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it != ie; ++it)</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="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> var = it-&gt;first;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;pts = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(var);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; stringstream ss;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; f &lt;&lt; var &lt;&lt; <span class="stringliteral">&quot; -&gt; { &quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (pts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</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; f &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>: pts)</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; f &lt;&lt; <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> &lt;&lt; <span class="stringliteral">&quot; &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; f &lt;&lt; <span class="stringliteral">&quot;}\n&quot;</span>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</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;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// Write GepPAGNodes to file</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), ie = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it != ie; ++it)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = it-&gt;second;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a> *gepObjPN = SVFUtil::dyn_cast&lt;GepObjVar&gt;(pagNode))</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; f &lt;&lt; it-&gt;first &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; f &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(it-&gt;first) &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; f &lt;&lt; gepObjPN-&gt;getConstantFieldIdx() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div><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; f &lt;&lt; <span class="stringliteral">&quot;------\n&quot;</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// Write BaseNodes insensitivity to file</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> NodeIDs;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), ie = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it != ie; ++it)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = it-&gt;second;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">if</span> (!isa&lt;ObjVar&gt;(pagNode)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(it-&gt;first);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> (NodeIDs.<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(n)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; f &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; f &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(n) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; NodeIDs.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(n);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</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; <span class="comment">// Job finish and close file</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; f.close();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (f.good())</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
2081
2081
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
2082
- <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#l00409">SVFIR.h:409</a></div></div>
2082
+ <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#l00406">SVFIR.h:406</a></div></div>
2083
2083
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00706">SparseBitVector.h:706</a></div></div>
2084
2084
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
2085
2085
  <div class="ttc" id="cJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
@@ -87,7 +87,7 @@ Public Member Functions</h2></td></tr>
87
87
  <tr class="separator:a5397ce21e78d09c8d1cdc3f912d53a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
88
  <tr class="memitem:a182830d0a9d07015628211ec5eb0d4c6"><td class="memItemLeft" align="right" valign="top">llvm::StringRef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BreakConstantGEPs.html#a182830d0a9d07015628211ec5eb0d4c6">getPassName</a> () const</td></tr>
89
89
  <tr class="separator:a182830d0a9d07015628211ec5eb0d4c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
- <tr class="memitem:ae99ceb7923161d54e7d0a687f4f68e1a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BreakConstantGEPs.html#ae99ceb7923161d54e7d0a687f4f68e1a">runOnModule</a> (<a class="el" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a> &amp;M)</td></tr>
90
+ <tr class="memitem:ae99ceb7923161d54e7d0a687f4f68e1a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BreakConstantGEPs.html#ae99ceb7923161d54e7d0a687f4f68e1a">runOnModule</a> (<a class="el" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a> &amp;<a class="el" href="PEGGrammar_8txt.html#abd600039647a1e73c88e7161fa6eb989">M</a>)</td></tr>
91
91
  <tr class="separator:ae99ceb7923161d54e7d0a687f4f68e1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
92
92
  </table><table class="memberdecls">
93
93
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>