svf-tools 1.0.472 → 1.0.475

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 (238) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +8 -7
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +2 -2
  7. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +20 -19
  8. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +15 -15
  9. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/Casting_8h_source.html +1 -1
  11. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +4 -4
  19. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +3 -3
  20. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +11 -10
  24. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -10
  28. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +7 -7
  29. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  30. package/SVF-doxygen/html/html/IRGraph_8h_source.html +3 -3
  31. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +24 -24
  32. package/SVF-doxygen/html/html/LLVMUtil_8h.html +111 -111
  33. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +41 -40
  34. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +11 -10
  35. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +8 -8
  36. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +14 -13
  37. package/SVF-doxygen/html/html/LocationSet_8h_source.html +9 -9
  38. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +31 -30
  39. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +23 -23
  40. package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
  41. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +35 -34
  45. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +28 -27
  46. package/SVF-doxygen/html/html/MemSSA_8h_source.html +19 -19
  47. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +14 -14
  48. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +28 -27
  49. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +23 -23
  50. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  51. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  52. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +27 -26
  53. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +24 -24
  54. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +3 -3
  56. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  57. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  59. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +18 -17
  60. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +43 -43
  61. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +12 -12
  62. package/SVF-doxygen/html/html/SVFIR_8h_source.html +9 -9
  63. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  64. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  65. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +43 -43
  66. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +3 -3
  67. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
  69. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  70. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +39 -37
  72. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +16 -15
  73. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +58 -57
  74. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +24 -24
  75. package/SVF-doxygen/html/html/TCT_8h_source.html +2 -2
  76. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  77. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
  78. package/SVF-doxygen/html/html/VFGNode_8h_source.html +5 -5
  79. package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
  80. package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
  81. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +2 -2
  83. package/SVF-doxygen/html/html/WPAStat_8h_source.html +5 -5
  84. package/SVF-doxygen/html/html/cfl_8cpp.html +3 -3
  85. package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -3
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  87. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +14 -14
  89. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +6 -6
  90. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +17 -15
  91. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +32 -32
  92. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  93. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +3 -3
  94. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +48 -48
  95. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +6 -4
  96. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +4 -4
  97. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
  98. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  99. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +4 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
  103. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +3 -3
  104. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  106. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +23 -23
  108. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +2 -2
  110. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
  111. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  113. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  114. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +23 -23
  115. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
  117. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
  118. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  119. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +28 -28
  120. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +78 -78
  121. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +100 -100
  122. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  123. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +4 -4
  125. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +54 -54
  126. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +56 -56
  127. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +7 -7
  128. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +8 -8
  129. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
  131. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +74 -74
  132. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +59 -59
  133. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
  134. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +7 -7
  135. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  136. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +14 -14
  137. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +150 -150
  138. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  142. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +4 -4
  143. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +14 -13
  144. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +111 -85
  145. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +65 -65
  146. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +9 -9
  147. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +9 -9
  148. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +20 -20
  152. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
  153. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +4 -4
  155. package/SVF-doxygen/html/html/dda_8cpp.html +2 -2
  156. package/SVF-doxygen/html/html/dda_8cpp_source.html +2 -2
  157. package/SVF-doxygen/html/html/functions_c.html +21 -16
  158. package/SVF-doxygen/html/html/functions_func_c.html +16 -13
  159. package/SVF-doxygen/html/html/functions_l.html +3 -3
  160. package/SVF-doxygen/html/html/functions_o.html +16 -16
  161. package/SVF-doxygen/html/html/functions_p.html +7 -13
  162. package/SVF-doxygen/html/html/functions_s.html +7 -9
  163. package/SVF-doxygen/html/html/functions_t.html +4 -4
  164. package/SVF-doxygen/html/html/functions_v.html +3 -3
  165. package/SVF-doxygen/html/html/mta_8cpp.html +2 -2
  166. package/SVF-doxygen/html/html/mta_8cpp_source.html +2 -2
  167. package/SVF-doxygen/html/html/namespaceSVF.html +4 -2
  168. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +1452 -0
  169. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +41 -1409
  170. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  171. package/SVF-doxygen/html/html/namespacemembers.html +3 -3
  172. package/SVF-doxygen/html/html/namespacemembers_f.html +1 -1
  173. package/SVF-doxygen/html/html/namespacemembers_func.html +39 -39
  174. package/SVF-doxygen/html/html/namespacemembers_g.html +14 -14
  175. package/SVF-doxygen/html/html/namespacemembers_i.html +18 -18
  176. package/SVF-doxygen/html/html/namespacemembers_p.html +1 -1
  177. package/SVF-doxygen/html/html/namespacemembers_s.html +2 -2
  178. package/SVF-doxygen/html/html/namespaces.html +2 -1
  179. package/SVF-doxygen/html/html/saber_8cpp.html +2 -2
  180. package/SVF-doxygen/html/html/saber_8cpp_source.html +2 -2
  181. package/SVF-doxygen/html/html/search/all_1.js +3 -3
  182. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  183. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  184. package/SVF-doxygen/html/html/search/all_13.js +10 -9
  185. package/SVF-doxygen/html/html/search/all_14.js +2 -2
  186. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  187. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  188. package/SVF-doxygen/html/html/search/all_3.js +1 -0
  189. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  190. package/SVF-doxygen/html/html/search/all_7.js +14 -14
  191. package/SVF-doxygen/html/html/search/all_9.js +18 -18
  192. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  193. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  194. package/SVF-doxygen/html/html/search/all_f.js +4 -4
  195. package/SVF-doxygen/html/html/search/functions_0.js +3 -3
  196. package/SVF-doxygen/html/html/search/functions_11.js +3 -3
  197. package/SVF-doxygen/html/html/search/functions_2.js +1 -0
  198. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  199. package/SVF-doxygen/html/html/search/functions_6.js +14 -14
  200. package/SVF-doxygen/html/html/search/functions_8.js +18 -18
  201. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  202. package/SVF-doxygen/html/html/search/namespaces_1.js +1 -0
  203. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  204. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  205. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  206. package/SVF-doxygen/html/html/svf-ex_8cpp.html +3 -3
  207. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  208. package/SVF-doxygen/html/html/wpa_8cpp.html +2 -2
  209. package/SVF-doxygen/html/html/wpa_8cpp_source.html +2 -2
  210. package/include/MTA/MHP.h +1 -1
  211. package/include/MemoryModel/SVFStatements.h +5 -3
  212. package/include/SVF-FE/LLVMUtil.h +7 -7
  213. package/include/SVF-FE/SymbolTableBuilder.h +2 -0
  214. package/lib/Graphs/ICFG.cpp +2 -2
  215. package/lib/MSSA/MemRegion.cpp +1 -0
  216. package/lib/MSSA/MemSSA.cpp +1 -0
  217. package/lib/MTA/LockAnalysis.cpp +1 -0
  218. package/lib/MemoryModel/LocationSet.cpp +1 -0
  219. package/lib/MemoryModel/PointerAnalysis.cpp +1 -0
  220. package/lib/MemoryModel/SVFIR.cpp +1 -1
  221. package/lib/MemoryModel/SymbolTableInfo.cpp +1 -0
  222. package/lib/SABER/LeakChecker.cpp +1 -0
  223. package/lib/SABER/PathCondAllocator.cpp +1 -0
  224. package/lib/SVF-FE/CHGBuilder.cpp +1 -0
  225. package/lib/SVF-FE/CPPUtil.cpp +2 -2
  226. package/lib/SVF-FE/ICFGBuilder.cpp +1 -0
  227. package/lib/SVF-FE/LLVMUtil.cpp +32 -32
  228. package/lib/SVF-FE/SVFIRBuilder.cpp +2 -1
  229. package/lib/SVF-FE/SymbolTableBuilder.cpp +22 -16
  230. package/lib/WPA/AndersenStat.cpp +1 -0
  231. package/lib/WPA/FlowSensitiveStat.cpp +1 -0
  232. package/package.json +1 -1
  233. package/tools/CFL/cfl.cpp +1 -1
  234. package/tools/DDA/dda.cpp +1 -1
  235. package/tools/Example/svf-ex.cpp +1 -1
  236. package/tools/MTA/mta.cpp +1 -1
  237. package/tools/SABER/saber.cpp +1 -1
  238. package/tools/WPA/wpa.cpp +1 -1
@@ -367,7 +367,7 @@ Private Attributes</h2></td></tr>
367
367
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
368
368
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
369
369
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
370
- <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00719">MemRegion.cpp:719</a></div></div>
370
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00720">MemRegion.cpp:720</a></div></div>
371
371
  </div><!-- fragment -->
372
372
  </div>
373
373
  </div>
@@ -462,7 +462,7 @@ Private Attributes</h2></td></tr>
462
462
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
463
463
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
464
464
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
465
- <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00719">MemRegion.cpp:719</a></div></div>
465
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00720">MemRegion.cpp:720</a></div></div>
466
466
  </div><!-- fragment -->
467
467
  </div>
468
468
  </div>
@@ -516,7 +516,7 @@ Private Attributes</h2></td></tr>
516
516
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
517
517
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
518
518
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
519
- <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00719">MemRegion.cpp:719</a></div></div>
519
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00720">MemRegion.cpp:720</a></div></div>
520
520
  </div><!-- fragment -->
521
521
  </div>
522
522
  </div>
@@ -710,7 +710,7 @@ Private Attributes</h2></td></tr>
710
710
  <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(svfModule);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span> (kind)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">PointerAnalysis::Andersen_WPA</a>:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>(pag);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac7c033efd59e2b5fcded79fc3ebdb9d4">PointerAnalysis::AndersenLCD_WPA</a>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenLCD.html">AndersenLCD</a>(pag);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a46f5e74d5f4b0a2d134e68d262079c3f">PointerAnalysis::AndersenHCD_WPA</a>:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html">AndersenHCD</a>(pag);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a99d50c1712075e4c3278fc4fa4c9cd2f">PointerAnalysis::AndersenHLCD_WPA</a>:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHLCD.html">AndersenHLCD</a>(pag);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">PointerAnalysis::AndersenSCD_WPA</a>:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenSCD.html">AndersenSCD</a>(pag);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">PointerAnalysis::AndersenSFR_WPA</a>:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenSFR.html">AndersenSFR</a>(pag);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">PointerAnalysis::AndersenWaveDiff_WPA</a>:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>(pag);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">PointerAnalysis::Steensgaard_WPA</a>:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1Steensgaard.html">Steensgaard</a>(pag);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">PointerAnalysis::FSSPARSE_WPA</a>:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a>(pag);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a088dda60195ab259693977af8414f203">PointerAnalysis::FSTBHC_WPA</a>:</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html">FlowSensitiveTBHC</a>(pag);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">PointerAnalysis::VFS_WPA</a>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a>(pag);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">PointerAnalysis::TypeCPP_WPA</a>:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1TypeAnalysis.html">TypeAnalysis</a>(pag);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;This pointer analysis has not been implemented yet.\n&quot;</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</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;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a72a66ae158793f5d1bcb37b655db4446">ptaVector</a>.push_back(<a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a>);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6">analyze</a>();</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a30cbb0b3633c769c92f4625680ec17e3">Options::AnderSVFG</a>)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html">SVFGBuilder</a> memSSA(<span class="keyword">true</span>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;AndersenBase&gt;(<a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a>) &amp;&amp; <span class="stringliteral">&quot;supports only andersen/steensgaard for pre-computed SVFG&quot;</span>);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *svfg = memSSA.buildFullSVFG((<a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>*)<a class="code" href="classSVF_1_1WPAPass.html#a0b57d86a5305aefcd6c8ae4e328d3ab0">_pta</a>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a1211da4c36f1fcc65235891f31d87038">Options::PASelected</a>.isSet(<a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">PointerAnalysis::AndersenWaveDiff_WPA</a>))</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#ac0f6d1221ee66ac17d0b201d73d7e28a">_svfg</a> = svfg;</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> (<a class="code" href="classSVF_1_1Options.html#a1b1d1ad6b3a6c48a9fa07161b582c7fe">Options::PrintAliases</a>)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html#abb6e0c5cc5de312ee0285d1854550752">PrintAliasPairs</a>(_pta);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;}</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
711
711
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html">SVF::VersionedFlowSensitive</a></div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00028">VersionedFlowSensitive.h:28</a></div></div>
712
712
  <div class="ttc" id="classSVF_1_1FlowSensitive_html"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html">SVF::FlowSensitive</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00049">FlowSensitive.h:49</a></div></div>
713
- <div class="ttc" id="classSVF_1_1SVFIRBuilder_html_aa6d56f9580f76fd09d25ce6cf7541e98"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build(SVFModule *svfModule)</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00049">SVFIRBuilder.cpp:49</a></div></div>
713
+ <div class="ttc" id="classSVF_1_1SVFIRBuilder_html_aa6d56f9580f76fd09d25ce6cf7541e98"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build(SVFModule *svfModule)</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00050">SVFIRBuilder.cpp:50</a></div></div>
714
714
  <div class="ttc" id="classSVF_1_1WPAPass_html_ac0f6d1221ee66ac17d0b201d73d7e28a"><div class="ttname"><a href="classSVF_1_1WPAPass.html#ac0f6d1221ee66ac17d0b201d73d7e28a">SVF::WPAPass::_svfg</a></div><div class="ttdeci">SVFG * _svfg</div><div class="ttdoc">svfg generated through -ander pointer analysis </div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00117">WPAPass.h:117</a></div></div>
715
715
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
716
716
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00419">Andersen.h:419</a></div></div>
@@ -289,10 +289,10 @@ Functions</h2></td></tr>
289
289
  </div><div class="memdoc">
290
290
 
291
291
  <p class="definition">Definition at line <a class="el" href="dda_8cpp_source.html#l00041">41</a> of file <a class="el" href="dda_8cpp_source.html">dda.cpp</a>.</p>
292
- <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;Demand-Driven Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a> *dda = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; dda-&gt;<a class="code" href="classSVF_1_1DDAPass.html#af196994d6ec7f5cead72212407842103">runOnModule</a>(svfModule);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
293
- <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
292
+ <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;Demand-Driven Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a> *dda = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; dda-&gt;<a class="code" href="classSVF_1_1DDAPass.html#af196994d6ec7f5cead72212407842103">runOnModule</a>(svfModule);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
294
293
  <div class="ttc" id="classSVF_1_1DDAPass_html"><div class="ttname"><a href="classSVF_1_1DDAPass.html">SVF::DDAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00024">DDAPass.h:24</a></div></div>
295
294
  <div class="ttc" id="classSVF_1_1DDAPass_html_af196994d6ec7f5cead72212407842103"><div class="ttname"><a href="classSVF_1_1DDAPass.html#af196994d6ec7f5cead72212407842103">SVF::DDAPass::runOnModule</a></div><div class="ttdeci">virtual void runOnModule(SVFModule *module)</div><div class="ttdoc">We start from here. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00032">DDAPass.cpp:32</a></div></div>
295
+ <div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_accdd44093d6d145dc92edeaaff3f5732"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
296
296
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
297
297
  </div><!-- fragment -->
298
298
  </div>
@@ -66,11 +66,10 @@ $(function() {
66
66
  <div class="title">dda.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="dda_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> // On Demand Value Flow Analysis</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//#include &quot;AliasUtil/AliasAnalysisCounter.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">//#include &quot;MemoryModel/ComTypeModel.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DDAPass_8h.html">DDA/DDAPass.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<a class="code" href="dda_8cpp.html#afffbd7760f0128b74c9dbfd517d0f99e">StandardCompileOpts</a>(<span class="stringliteral">&quot;std-compile-opts&quot;</span>,</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; cl::desc(<span class="stringliteral">&quot;Include the standard compile time optimizations&quot;</span>));</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//static cl::list&lt;const PassInfo*, bool, PassNameParser&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//PassList(cl::desc(&quot;Optimizations available:&quot;));</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a55c1167d4e6efe7828f050d978291725">DAA</a>(<span class="stringliteral">&quot;daa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; cl::desc(<span class="stringliteral">&quot;Demand-Driven Alias Analysis Pass&quot;</span>));</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a5ed1de5ad06cf459c1b4e63685316618">REGPT</a>(<span class="stringliteral">&quot;dreg&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; cl::desc(<span class="stringliteral">&quot;Demand-driven regular points-to analysis&quot;</span>));</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a3abc2ce6737d192a5c3f967734fe8389">RFINEPT</a>(<span class="stringliteral">&quot;dref&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; cl::desc(<span class="stringliteral">&quot;Demand-driven refinement points-to analysis&quot;</span>));</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#adad2a8a1b2f5bf9f333382725f174cb0">ENABLEFIELD</a>(<span class="stringliteral">&quot;fdaa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; cl::desc(<span class="stringliteral">&quot;enable field-sensitivity for demand-driven analysis&quot;</span>));</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a1fe1900e000a62ca91dc0651bfa3a24f">ENABLECONTEXT</a>(<span class="stringliteral">&quot;cdaa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; cl::desc(<span class="stringliteral">&quot;enable context-sensitivity for demand-driven analysis&quot;</span>));</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#af95c31f8cf35812a4fe4a22342aacaa2">ENABLEFLOW</a>(<span class="stringliteral">&quot;ldaa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; cl::desc(<span class="stringliteral">&quot;enable flow-sensitivity for demand-driven analysis&quot;</span>));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 41</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;Demand-Driven Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a> *dda = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; dda-&gt;<a class="code" href="classSVF_1_1DDAPass.html#af196994d6ec7f5cead72212407842103">runOnModule</a>(svfModule);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="ttc" id="dda_8cpp_html_a1fe1900e000a62ca91dc0651bfa3a24f"><div class="ttname"><a href="dda_8cpp.html#a1fe1900e000a62ca91dc0651bfa3a24f">ENABLECONTEXT</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; ENABLECONTEXT(&quot;cdaa&quot;, cl::init(false), cl::desc(&quot;enable context-sensitivity for demand-driven analysis&quot;))</div></div>
69
+ <a href="dda_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> // On Demand Value Flow Analysis</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//#include &quot;AliasUtil/AliasAnalysisCounter.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">//#include &quot;MemoryModel/ComTypeModel.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DDAPass_8h.html">DDA/DDAPass.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<a class="code" href="dda_8cpp.html#afffbd7760f0128b74c9dbfd517d0f99e">StandardCompileOpts</a>(<span class="stringliteral">&quot;std-compile-opts&quot;</span>,</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; cl::desc(<span class="stringliteral">&quot;Include the standard compile time optimizations&quot;</span>));</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//static cl::list&lt;const PassInfo*, bool, PassNameParser&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//PassList(cl::desc(&quot;Optimizations available:&quot;));</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a55c1167d4e6efe7828f050d978291725">DAA</a>(<span class="stringliteral">&quot;daa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; cl::desc(<span class="stringliteral">&quot;Demand-Driven Alias Analysis Pass&quot;</span>));</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a5ed1de5ad06cf459c1b4e63685316618">REGPT</a>(<span class="stringliteral">&quot;dreg&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; cl::desc(<span class="stringliteral">&quot;Demand-driven regular points-to analysis&quot;</span>));</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a3abc2ce6737d192a5c3f967734fe8389">RFINEPT</a>(<span class="stringliteral">&quot;dref&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; cl::desc(<span class="stringliteral">&quot;Demand-driven refinement points-to analysis&quot;</span>));</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#adad2a8a1b2f5bf9f333382725f174cb0">ENABLEFIELD</a>(<span class="stringliteral">&quot;fdaa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; cl::desc(<span class="stringliteral">&quot;enable field-sensitivity for demand-driven analysis&quot;</span>));</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#a1fe1900e000a62ca91dc0651bfa3a24f">ENABLECONTEXT</a>(<span class="stringliteral">&quot;cdaa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; cl::desc(<span class="stringliteral">&quot;enable context-sensitivity for demand-driven analysis&quot;</span>));</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">static</span> cl::opt&lt;bool&gt; <a class="code" href="dda_8cpp.html#af95c31f8cf35812a4fe4a22342aacaa2">ENABLEFLOW</a>(<span class="stringliteral">&quot;ldaa&quot;</span>, cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; cl::desc(<span class="stringliteral">&quot;enable flow-sensitivity for demand-driven analysis&quot;</span>));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 41</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;Demand-Driven Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a> *dda = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; dda-&gt;<a class="code" href="classSVF_1_1DDAPass.html#af196994d6ec7f5cead72212407842103">runOnModule</a>(svfModule);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="ttc" id="dda_8cpp_html_a1fe1900e000a62ca91dc0651bfa3a24f"><div class="ttname"><a href="dda_8cpp.html#a1fe1900e000a62ca91dc0651bfa3a24f">ENABLECONTEXT</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; ENABLECONTEXT(&quot;cdaa&quot;, cl::init(false), cl::desc(&quot;enable context-sensitivity for demand-driven analysis&quot;))</div></div>
70
70
  <div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00107">CFLGraph.h:107</a></div></div>
71
71
  <div class="ttc" id="dda_8cpp_html_afffbd7760f0128b74c9dbfd517d0f99e"><div class="ttname"><a href="dda_8cpp.html#afffbd7760f0128b74c9dbfd517d0f99e">StandardCompileOpts</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; StandardCompileOpts(&quot;std-compile-opts&quot;, cl::desc(&quot;Include the standard compile time optimizations&quot;))</div></div>
72
72
  <div class="ttc" id="dda_8cpp_html_a5ed1de5ad06cf459c1b4e63685316618"><div class="ttname"><a href="dda_8cpp.html#a5ed1de5ad06cf459c1b4e63685316618">REGPT</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; REGPT(&quot;dreg&quot;, cl::init(false), cl::desc(&quot;Demand-driven regular points-to analysis&quot;))</div></div>
73
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
74
73
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
75
74
  <div class="ttc" id="dda_8cpp_html_a55c1167d4e6efe7828f050d978291725"><div class="ttname"><a href="dda_8cpp.html#a55c1167d4e6efe7828f050d978291725">DAA</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; DAA(&quot;daa&quot;, cl::init(false), cl::desc(&quot;Demand-Driven Alias Analysis Pass&quot;))</div></div>
76
75
  <div class="ttc" id="dda_8cpp_html_a3abc2ce6737d192a5c3f967734fe8389"><div class="ttname"><a href="dda_8cpp.html#a3abc2ce6737d192a5c3f967734fe8389">RFINEPT</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; RFINEPT(&quot;dref&quot;, cl::init(false), cl::desc(&quot;Demand-driven refinement points-to analysis&quot;))</div></div>
@@ -82,6 +81,7 @@ $(function() {
82
81
  <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
83
82
  <div class="ttc" id="dda_8cpp_html_af95c31f8cf35812a4fe4a22342aacaa2"><div class="ttname"><a href="dda_8cpp.html#af95c31f8cf35812a4fe4a22342aacaa2">ENABLEFLOW</a></div><div class="ttdeci">static cl::opt&lt; bool &gt; ENABLEFLOW(&quot;ldaa&quot;, cl::init(false), cl::desc(&quot;enable flow-sensitivity for demand-driven analysis&quot;))</div></div>
84
83
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
84
+ <div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_accdd44093d6d145dc92edeaaff3f5732"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
86
86
  <div class="ttc" id="LLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
87
87
  </div><!-- fragment --></div><!-- contents -->
@@ -750,7 +750,7 @@ $(function() {
750
750
  , <a class="el" href="classSVF_1_1ValVar.html#adbbf3c9ff5dcb10ac528d3eb4b69750c">SVF::ValVar</a>
751
751
  , <a class="el" href="classSVF_1_1VarArgPN.html#acaecf9e9d98c4a14fecee0877a72839c">SVF::VarArgPN</a>
752
752
  , <a class="el" href="classSVF_1_1VariantGepCGEdge.html#a5afc61b0781b222c70707a0ea765a4bd">SVF::VariantGepCGEdge</a>
753
- , <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#abe1874f12ba05b4f453604c6d91598d6">SVF::VersionedFlowSensitive</a>
753
+ , <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8">SVF::VersionedFlowSensitive</a>
754
754
  , <a class="el" href="classSVF_1_1VersionedPTData.html#a385133d44ac2b5fcef007040da8c2fd6">SVF::VersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
755
755
  </li>
756
756
  <li>cleanConsCG()
@@ -1001,6 +1001,9 @@ $(function() {
1001
1001
  <li>collectMultiForkedThreads()
1002
1002
  : <a class="el" href="classSVF_1_1TCT.html#ad15753a9c20d738325e5c0edea6c9c56">SVF::TCT</a>
1003
1003
  </li>
1004
+ <li>collectNullPtrBlackholeSyms()
1005
+ : <a class="el" href="classSVF_1_1SymbolTableBuilder.html#a1186ed5d52a12f8495d3b64df78f3052">SVF::SymbolTableBuilder</a>
1006
+ </li>
1004
1007
  <li>collectObj()
1005
1008
  : <a class="el" href="classSVF_1_1SymbolTableBuilder.html#a891bfea437256d1b7aa957d32797e419">SVF::SymbolTableBuilder</a>
1006
1009
  </li>
@@ -1067,7 +1070,7 @@ $(function() {
1067
1070
  : <a class="el" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet</a>
1068
1071
  </li>
1069
1072
  <li>computeDDAPts()
1070
- : <a class="el" href="classSVF_1_1ContextDDA.html#ae0f3b07267ded5f0ee879c39effff864">SVF::ContextDDA</a>
1073
+ : <a class="el" href="classSVF_1_1ContextDDA.html#a337eb89cc5f31741ad8d840d9f284ca5">SVF::ContextDDA</a>
1071
1074
  , <a class="el" href="classSVF_1_1FlowDDA.html#a113faa56ee75eff39da19fd4b47a47e0">SVF::FlowDDA</a>
1072
1075
  , <a class="el" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">SVF::PointerAnalysis</a>
1073
1076
  </li>
@@ -1355,7 +1358,7 @@ $(function() {
1355
1358
  : <a class="el" href="classSVF_1_1LeakChecker.html#a42f54433e5ca60928f3c329ab545842da1524077f4425b7e2d6cc32917a02c356">SVF::LeakChecker</a>
1356
1359
  </li>
1357
1360
  <li>ContextCond()
1358
- : <a class="el" href="classSVF_1_1ContextCond.html#a9b81bf11679645d32d50b91bdb6d2dc1">SVF::ContextCond</a>
1361
+ : <a class="el" href="classSVF_1_1ContextCond.html#a5f31275f74ff9eb5734481f36275c6d9">SVF::ContextCond</a>
1359
1362
  </li>
1360
1363
  <li>ContextDDA()
1361
1364
  : <a class="el" href="classSVF_1_1ContextDDA.html#ac73213825d188fb4d1105ddc472fde05">SVF::ContextDDA</a>
@@ -1373,7 +1376,7 @@ $(function() {
1373
1376
  , <a class="el" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75af589a053fdb7efc728b68a324fc58b2b">SVF::VFGNode</a>
1374
1377
  </li>
1375
1378
  <li>CopyCGEdge()
1376
- : <a class="el" href="classSVF_1_1CopyCGEdge.html#a90cbb8b4085648811f95afde4175a168">SVF::CopyCGEdge</a>
1379
+ : <a class="el" href="classSVF_1_1CopyCGEdge.html#ac82949d49688f428d09842bda0ba1d53">SVF::CopyCGEdge</a>
1377
1380
  </li>
1378
1381
  <li>copyInEdges
1379
1382
  : <a class="el" href="classSVF_1_1ConstraintNode.html#a4d413d64bf554ecdc72709afeeb85775">SVF::ConstraintNode</a>
@@ -1382,7 +1385,7 @@ $(function() {
1382
1385
  : <a class="el" href="classSVF_1_1ConstraintNode.html#a12df688fd9b5b7617daadc7bee0fff40">SVF::ConstraintNode</a>
1383
1386
  </li>
1384
1387
  <li>CopyStmt()
1385
- : <a class="el" href="classSVF_1_1CopyStmt.html#a63b808e82e75562c53e4371cc3d7ed1e">SVF::CopyStmt</a>
1388
+ : <a class="el" href="classSVF_1_1CopyStmt.html#aa965d58e96e8729d16d66387ee09eac7">SVF::CopyStmt</a>
1386
1389
  </li>
1387
1390
  <li>copyTime
1388
1391
  : <a class="el" href="classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb">SVF::FlowSensitive</a>
@@ -1391,7 +1394,7 @@ $(function() {
1391
1394
  : <a class="el" href="classSVF_1_1CopyVFGNode.html#ac04930bac7b31563ce761779ff1dbf91">SVF::CopyVFGNode</a>
1392
1395
  </li>
1393
1396
  <li>CoreBitVector()
1394
- : <a class="el" href="classSVF_1_1CoreBitVector.html#aa25de5d26935c74e156c5f6604b3d8a8">SVF::CoreBitVector</a>
1397
+ : <a class="el" href="classSVF_1_1CoreBitVector.html#a57b3db689583b652ab1426c04a66c4ae">SVF::CoreBitVector</a>
1395
1398
  </li>
1396
1399
  <li>CoreBitVectorIterator()
1397
1400
  : <a class="el" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#add4da76753804d22314f070e1ad1ce6f">SVF::CoreBitVector::CoreBitVectorIterator</a>
@@ -1685,7 +1688,7 @@ $(function() {
1685
1688
  : <a class="el" href="classSVF_1_1Options.html#a7b9af13feccc116377aeb107640ae874">SVF::Options</a>
1686
1689
  </li>
1687
1690
  <li>CxtDPItem()
1688
- : <a class="el" href="classSVF_1_1CxtDPItem.html#a1c2b14fd60bd4902bfc520c9ba08c6e8">SVF::CxtDPItem</a>
1691
+ : <a class="el" href="classSVF_1_1CxtDPItem.html#a673749f246b002b33ca3718a566779ca">SVF::CxtDPItem</a>
1689
1692
  </li>
1690
1693
  <li>cxtJoinInLoop
1691
1694
  : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#a63da48d338683ec95709a6bd95238707">SVF::ForkJoinAnalysis</a>
@@ -1727,7 +1730,7 @@ $(function() {
1727
1730
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a2fd796765f16cc7094f36d68c0ff70a0">SVF::LockAnalysis</a>
1728
1731
  </li>
1729
1732
  <li>CxtProc()
1730
- : <a class="el" href="classSVF_1_1CxtProc.html#a25a80c93a6aeb1112a846d6c588364cc">SVF::CxtProc</a>
1733
+ : <a class="el" href="classSVF_1_1CxtProc.html#ac1ca3a049f6d0f8a0548a153cc903aa0">SVF::CxtProc</a>
1731
1734
  </li>
1732
1735
  <li>cxts
1733
1736
  : <a class="el" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">SVF::LLVMModuleSet</a>
@@ -1736,10 +1739,10 @@ $(function() {
1736
1739
  : <a class="el" href="classSVF_1_1ContextCond.html#a20f15a1661f928ab80bacaf8f5c497b1">SVF::ContextCond</a>
1737
1740
  </li>
1738
1741
  <li>CxtStmt()
1739
- : <a class="el" href="classSVF_1_1CxtStmt.html#ac11734a3e0db8415fdf55157b20b56a4">SVF::CxtStmt</a>
1742
+ : <a class="el" href="classSVF_1_1CxtStmt.html#ad976db5b794019bb68ccc9a35349fb41">SVF::CxtStmt</a>
1740
1743
  </li>
1741
1744
  <li>CxtStmtDPItem()
1742
- : <a class="el" href="classSVF_1_1CxtStmtDPItem.html#a595d44fa92f4ebef2fe789873fd357e0">SVF::CxtStmtDPItem&lt; LocCond &gt;</a>
1745
+ : <a class="el" href="classSVF_1_1CxtStmtDPItem.html#a5c3bd4e8f26bfdc863baeb1241a557d1">SVF::CxtStmtDPItem&lt; LocCond &gt;</a>
1743
1746
  </li>
1744
1747
  <li>cxtStmtList
1745
1748
  : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#acccf53d174cac3275da0d79c89a73916">SVF::ForkJoinAnalysis</a>
@@ -1749,21 +1752,23 @@ $(function() {
1749
1752
  <li>CxtStmtSet
1750
1753
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a42ed881d4cd79eae099266a9e171aeb2">SVF::LockAnalysis</a>
1751
1754
  </li>
1752
- <li>cxtStmtToAliveFlagMap
1753
- : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#aa31b3f3d51b963ccd475e66b77143dba">SVF::ForkJoinAnalysis</a>
1754
- </li>
1755
1755
  <li>CxtStmtToAliveFlagMap
1756
1756
  : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#acdc652faba35e45820cce0cdd20ea99c">SVF::ForkJoinAnalysis</a>
1757
1757
  </li>
1758
+ <li>cxtStmtToAliveFlagMap
1759
+ : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#aa31b3f3d51b963ccd475e66b77143dba">SVF::ForkJoinAnalysis</a>
1760
+ </li>
1758
1761
  <li>CxtStmtToCxtLockS
1759
1762
  : <a class="el" href="classSVF_1_1LockResultValidator.html#a03954bdf28345cd7fbcd5cc242d40681">SVF::LockResultValidator</a>
1760
1763
  </li>
1764
+ <li>cxtStmtToCxtLockSet
1765
+ : <a class="el" href="classSVF_1_1LockAnalysis.html#ae256a84fd63947a6f81bee030bdbe7fc">SVF::LockAnalysis</a>
1766
+ </li>
1761
1767
  <li>CxtStmtToCxtLockSet
1762
1768
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a710aad28484677637367e9098a55c7d7">SVF::LockAnalysis</a>
1763
1769
  </li>
1764
1770
  <li>cxtStmtToCxtLockSet
1765
- : <a class="el" href="classSVF_1_1LockAnalysis.html#ae256a84fd63947a6f81bee030bdbe7fc">SVF::LockAnalysis</a>
1766
- , <a class="el" href="classSVF_1_1LockResultValidator.html#ad8a03181445edeb835fed08c88f6e0bb">SVF::LockResultValidator</a>
1771
+ : <a class="el" href="classSVF_1_1LockResultValidator.html#ad8a03181445edeb835fed08c88f6e0bb">SVF::LockResultValidator</a>
1767
1772
  </li>
1768
1773
  <li>CxtStmtToLockFlagMap
1769
1774
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a451d9b41fd048e11615ea47872f614c9">SVF::LockAnalysis</a>
@@ -1779,7 +1784,7 @@ $(function() {
1779
1784
  , <a class="el" href="classSVF_1_1LockAnalysis.html#ae2218961699a4b4385f47fb039005dbe">SVF::LockAnalysis</a>
1780
1785
  </li>
1781
1786
  <li>CxtThread()
1782
- : <a class="el" href="classSVF_1_1CxtThread.html#ac6af46ba08bbad4454358298fd2557d3">SVF::CxtThread</a>
1787
+ : <a class="el" href="classSVF_1_1CxtThread.html#a7f842879cad19328575f33220491352a">SVF::CxtThread</a>
1783
1788
  </li>
1784
1789
  <li>CxtThreadProc()
1785
1790
  : <a class="el" href="classSVF_1_1CxtThreadProc.html#acce14996e41ae55ae8e27b29408ef7c8">SVF::CxtThreadProc</a>
@@ -304,10 +304,10 @@ $(function() {
304
304
  , <a class="el" href="classSVF_1_1ThreadJoinEdge.html#a0fb671c87fecd2fd9c2dab4187a47d37">SVF::ThreadJoinEdge</a>
305
305
  , <a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a564a1648b45d3563d69401a7f8e31906">SVF::ThreadMHPIndSVFGEdge</a>
306
306
  , <a class="el" href="classSVF_1_1TypeAnalysis.html#ae14733ac9763b07a84ed9b5e297badf3">SVF::TypeAnalysis</a>
307
- , <a class="el" href="classSVF_1_1UnaryOPStmt.html#a2a4b7e3a4c5be8a253b542f144f830b7">SVF::UnaryOPStmt</a>
307
+ , <a class="el" href="classSVF_1_1UnaryOPStmt.html#abb10688145fa76629916ec3df61b6c95">SVF::UnaryOPStmt</a>
308
308
  , <a class="el" href="classSVF_1_1UnaryOPVFGNode.html#a11ff85d796e547f0258ec30cf23b7310">SVF::UnaryOPVFGNode</a>
309
309
  , <a class="el" href="classSVF_1_1ValVar.html#adbbf3c9ff5dcb10ac528d3eb4b69750c">SVF::ValVar</a>
310
- , <a class="el" href="classSVF_1_1VarArgPN.html#acaecf9e9d98c4a14fecee0877a72839c">SVF::VarArgPN</a>
310
+ , <a class="el" href="classSVF_1_1VarArgPN.html#a7f873a8015eb6a6b30530a7e5a69018d">SVF::VarArgPN</a>
311
311
  , <a class="el" href="classSVF_1_1VariantGepCGEdge.html#a5afc61b0781b222c70707a0ea765a4bd">SVF::VariantGepCGEdge</a>
312
312
  , <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8">SVF::VersionedFlowSensitive</a>
313
313
  , <a class="el" href="classSVF_1_1VersionedPTData.html#a385133d44ac2b5fcef007040da8c2fd6">SVF::VersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
@@ -392,7 +392,7 @@ $(function() {
392
392
  , <a class="el" href="classSVF_1_1MutableDFPTData.html#ae0495fcba25d4baffda9f85254591ae1">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
393
393
  , <a class="el" href="classSVF_1_1MutableDiffPTData.html#a65028f1634a18f6adbd4cfdb526d1d20">SVF::MutableDiffPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
394
394
  , <a class="el" href="classSVF_1_1MutablePTData.html#a5ca2c5a8908d003b7ec2c17f949ae6aa">SVF::MutablePTData&lt; Key, KeySet, Data, DataSet &gt;</a>
395
- , <a class="el" href="classSVF_1_1MutableVersionedPTData.html#ab20b71c9e2f31439c95071c375bf89e0">SVF::MutableVersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
395
+ , <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a21e823484199946541b8b79d736b2601">SVF::MutableVersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
396
396
  , <a class="el" href="classSVF_1_1PersistentDFPTData.html#af64c6a2c0a1b2044fac56a69e9db7cff">SVF::PersistentDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
397
397
  , <a class="el" href="classSVF_1_1PersistentDiffPTData.html#ab01a663b665d629c15f3531f18b5abc2">SVF::PersistentDiffPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
398
398
  , <a class="el" href="classSVF_1_1PersistentPTData.html#a10221452ea6ffed4ae51a9c6f9dc1e93">SVF::PersistentPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
@@ -434,10 +434,10 @@ $(function() {
434
434
  , <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#aedd12e894fb2c17d2201f4049e5f3793">SVF::VersionedFlowSensitive</a>
435
435
  </li>
436
436
  <li>CmpStmt()
437
- : <a class="el" href="classSVF_1_1CmpStmt.html#abab82b7193ac1a9811d0177cedd329dc">SVF::CmpStmt</a>
437
+ : <a class="el" href="classSVF_1_1CmpStmt.html#a6e11c486468a8fe0f7aa38a0546b8328">SVF::CmpStmt</a>
438
438
  </li>
439
439
  <li>CmpVFGNode()
440
- : <a class="el" href="classSVF_1_1CmpVFGNode.html#ae7029edffae3f64899bf640fc0842258">SVF::CmpVFGNode</a>
440
+ : <a class="el" href="classSVF_1_1CmpVFGNode.html#adcb91fca3c1cd9e23c8996dd825504ac">SVF::CmpVFGNode</a>
441
441
  </li>
442
442
  <li>collapseField()
443
443
  : <a class="el" href="classSVF_1_1Andersen.html#af4a0d960ef198047517bb32ee1e24a61">SVF::Andersen</a>
@@ -522,6 +522,9 @@ $(function() {
522
522
  <li>collectMultiForkedThreads()
523
523
  : <a class="el" href="classSVF_1_1TCT.html#ad15753a9c20d738325e5c0edea6c9c56">SVF::TCT</a>
524
524
  </li>
525
+ <li>collectNullPtrBlackholeSyms()
526
+ : <a class="el" href="classSVF_1_1SymbolTableBuilder.html#a1186ed5d52a12f8495d3b64df78f3052">SVF::SymbolTableBuilder</a>
527
+ </li>
525
528
  <li>collectObj()
526
529
  : <a class="el" href="classSVF_1_1SymbolTableBuilder.html#a891bfea437256d1b7aa957d32797e419">SVF::SymbolTableBuilder</a>
527
530
  </li>
@@ -646,10 +649,10 @@ $(function() {
646
649
  : <a class="el" href="classSVF_1_1CondPointsToSet_1_1CondPtsSetIterator.html#a8a3d10d0aaf4708e7e44bedc6be077e0">SVF::CondPointsToSet&lt; Cond &gt;::CondPtsSetIterator</a>
647
650
  </li>
648
651
  <li>CondStdSet()
649
- : <a class="el" href="classSVF_1_1CondStdSet.html#a3f1885562bb34c3ccbd15117788725e0">SVF::CondStdSet&lt; Element &gt;</a>
652
+ : <a class="el" href="classSVF_1_1CondStdSet.html#a1f3e8aa09ca8e7f252525e35c4886c5b">SVF::CondStdSet&lt; Element &gt;</a>
650
653
  </li>
651
654
  <li>CondVar()
652
- : <a class="el" href="classSVF_1_1CondVar.html#a0999a4b34face00af83b3b840920fd3f">SVF::CondVar&lt; Cond &gt;</a>
655
+ : <a class="el" href="classSVF_1_1CondVar.html#afd729e068419ed45bb9da8d5920f8674">SVF::CondVar&lt; Cond &gt;</a>
653
656
  </li>
654
657
  <li>connectAInAndFIn()
655
658
  : <a class="el" href="classSVF_1_1SVFG.html#ac9ab2a95cd7a09bbe4b4aa3e6fafaf62">SVF::SVFG</a>
@@ -731,22 +734,22 @@ $(function() {
731
734
  , <a class="el" href="classSVF_1_1PointsTo.html#ab31a53693fe070767b8de74e88091cd8">SVF::PointsTo</a>
732
735
  </li>
733
736
  <li>ContextCond()
734
- : <a class="el" href="classSVF_1_1ContextCond.html#a9b81bf11679645d32d50b91bdb6d2dc1">SVF::ContextCond</a>
737
+ : <a class="el" href="classSVF_1_1ContextCond.html#a5f31275f74ff9eb5734481f36275c6d9">SVF::ContextCond</a>
735
738
  </li>
736
739
  <li>ContextDDA()
737
740
  : <a class="el" href="classSVF_1_1ContextDDA.html#ac73213825d188fb4d1105ddc472fde05">SVF::ContextDDA</a>
738
741
  </li>
739
742
  <li>CopyCGEdge()
740
- : <a class="el" href="classSVF_1_1CopyCGEdge.html#a90cbb8b4085648811f95afde4175a168">SVF::CopyCGEdge</a>
743
+ : <a class="el" href="classSVF_1_1CopyCGEdge.html#a0e950b306ec8d45e38f0320c63681ecd">SVF::CopyCGEdge</a>
741
744
  </li>
742
745
  <li>CopyStmt()
743
746
  : <a class="el" href="classSVF_1_1CopyStmt.html#a69b179ef052408034786d32a52c52389">SVF::CopyStmt</a>
744
747
  </li>
745
748
  <li>CopyVFGNode()
746
- : <a class="el" href="classSVF_1_1CopyVFGNode.html#aee4a402546b3df92412a5252c9608818">SVF::CopyVFGNode</a>
749
+ : <a class="el" href="classSVF_1_1CopyVFGNode.html#ac04930bac7b31563ce761779ff1dbf91">SVF::CopyVFGNode</a>
747
750
  </li>
748
751
  <li>CoreBitVector()
749
- : <a class="el" href="classSVF_1_1CoreBitVector.html#a57b3db689583b652ab1426c04a66c4ae">SVF::CoreBitVector</a>
752
+ : <a class="el" href="classSVF_1_1CoreBitVector.html#adb5b13df8bc76f00ceb145711cfb77e1">SVF::CoreBitVector</a>
750
753
  </li>
751
754
  <li>CoreBitVectorIterator()
752
755
  : <a class="el" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#ae209179f396c8b5b788ff6d2c437e5d6">SVF::CoreBitVector::CoreBitVectorIterator</a>
@@ -862,7 +865,7 @@ $(function() {
862
865
  : <a class="el" href="classSVF_1_1CxtStmt.html#ad976db5b794019bb68ccc9a35349fb41">SVF::CxtStmt</a>
863
866
  </li>
864
867
  <li>CxtStmtDPItem()
865
- : <a class="el" href="classSVF_1_1CxtStmtDPItem.html#a5c3bd4e8f26bfdc863baeb1241a557d1">SVF::CxtStmtDPItem&lt; LocCond &gt;</a>
868
+ : <a class="el" href="classSVF_1_1CxtStmtDPItem.html#a595d44fa92f4ebef2fe789873fd357e0">SVF::CxtStmtDPItem&lt; LocCond &gt;</a>
866
869
  </li>
867
870
  <li>CxtThread()
868
871
  : <a class="el" href="classSVF_1_1CxtThread.html#ac6af46ba08bbad4454358298fd2557d3">SVF::CxtThread</a>
@@ -871,7 +874,7 @@ $(function() {
871
874
  : <a class="el" href="classSVF_1_1CxtThreadProc.html#a1c7dd7740266a07d354df537a9167bcc">SVF::CxtThreadProc</a>
872
875
  </li>
873
876
  <li>CxtThreadStmt()
874
- : <a class="el" href="classSVF_1_1CxtThreadStmt.html#adeef75dbfd24665521931780c70aa5f9">SVF::CxtThreadStmt</a>
877
+ : <a class="el" href="classSVF_1_1CxtThreadStmt.html#ab5487e3f330bb18685281c5effcecfbb">SVF::CxtThreadStmt</a>
875
878
  </li>
876
879
  <li>cxtToStr()
877
880
  : <a class="el" href="classSVF_1_1CxtProc.html#ac53f22f1e9547b15b8998d83290f4281">SVF::CxtProc</a>
@@ -201,12 +201,12 @@ $(function() {
201
201
  <li>loadsToMRsMap
202
202
  : <a class="el" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">SVF::MRGenerator</a>
203
203
  </li>
204
- <li>LoadsToPointsToMap
205
- : <a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">SVF::MRGenerator</a>
206
- </li>
207
204
  <li>loadsToPointsToMap
208
205
  : <a class="el" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">SVF::MRGenerator</a>
209
206
  </li>
207
+ <li>LoadsToPointsToMap
208
+ : <a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">SVF::MRGenerator</a>
209
+ </li>
210
210
  <li>loadTime
211
211
  : <a class="el" href="classSVF_1_1FlowSensitive.html#aab4f70210eb1e6447a24697d3b459067">SVF::FlowSensitive</a>
212
212
  </li>