svf-tools 1.0.418 → 1.0.421

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 (260) hide show
  1. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +14 -14
  3. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/Conditions_8cpp.html +0 -1
  5. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +58 -49
  6. package/SVF-doxygen/html/html/Conditions_8h.html +6 -2
  7. package/SVF-doxygen/html/html/Conditions_8h_source.html +68 -60
  8. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  12. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  27. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/Options_8cpp_source.html +114 -113
  29. package/SVF-doxygen/html/html/Options_8h.html +1 -0
  30. package/SVF-doxygen/html/html/Options_8h_source.html +117 -115
  31. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +41 -23
  33. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +74 -74
  34. package/SVF-doxygen/html/html/PathDPItem_8h_source.html +7 -7
  35. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +4 -4
  36. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
  37. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +13 -13
  40. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  41. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  45. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
  48. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  52. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  54. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  55. package/SVF-doxygen/html/html/annotated.html +7 -5
  56. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +23 -25
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
  59. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -0
  62. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -6
  63. package/SVF-doxygen/html/html/classSVF_1_1BDDExpr-members.html +92 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1BDDExpr.html +304 -0
  65. package/SVF-doxygen/html/html/classSVF_1_1BDDExpr.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1BDDManager-members.html +124 -0
  67. package/SVF-doxygen/html/html/classSVF_1_1BDDManager.html +1139 -0
  68. package/SVF-doxygen/html/html/classSVF_1_1BDDManager.png +0 -0
  69. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
  70. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1CondExpr-members.html +5 -8
  76. package/SVF-doxygen/html/html/classSVF_1_1CondExpr.html +22 -151
  77. package/SVF-doxygen/html/html/classSVF_1_1CondExpr.png +0 -0
  78. package/SVF-doxygen/html/html/classSVF_1_1CondManager-members.html +25 -36
  79. package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +276 -605
  80. package/SVF-doxygen/html/html/classSVF_1_1CondManager.png +0 -0
  81. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  82. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  85. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +9 -9
  88. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
  89. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  101. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
  102. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  103. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
  105. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
  107. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +103 -102
  110. package/SVF-doxygen/html/html/classSVF_1_1Options.html +141 -115
  111. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  112. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +189 -196
  114. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
  116. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +20 -20
  118. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
  120. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
  121. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
  122. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
  123. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +8 -8
  125. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  127. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  128. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  136. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
  137. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +95 -0
  138. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +396 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.png +0 -0
  140. package/SVF-doxygen/html/html/classSVF_1_1Z3Manager-members.html +122 -0
  141. package/SVF-doxygen/html/html/classSVF_1_1Z3Manager.html +1066 -0
  142. package/SVF-doxygen/html/html/classSVF_1_1Z3Manager.png +0 -0
  143. package/SVF-doxygen/html/html/classes.html +12 -11
  144. package/SVF-doxygen/html/html/functions_0x7e.html +9 -3
  145. package/SVF-doxygen/html/html/functions_a.html +4 -6
  146. package/SVF-doxygen/html/html/functions_b.html +33 -34
  147. package/SVF-doxygen/html/html/functions_c.html +43 -32
  148. package/SVF-doxygen/html/html/functions_d.html +5 -4
  149. package/SVF-doxygen/html/html/functions_e.html +8 -7
  150. package/SVF-doxygen/html/html/functions_enum.html +3 -0
  151. package/SVF-doxygen/html/html/functions_eval_b.html +6 -3
  152. package/SVF-doxygen/html/html/functions_eval_z.html +79 -0
  153. package/SVF-doxygen/html/html/functions_f.html +3 -3
  154. package/SVF-doxygen/html/html/functions_func.html +8 -7
  155. package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -3
  156. package/SVF-doxygen/html/html/functions_func_b.html +10 -10
  157. package/SVF-doxygen/html/html/functions_func_c.html +23 -20
  158. package/SVF-doxygen/html/html/functions_func_d.html +5 -4
  159. package/SVF-doxygen/html/html/functions_func_e.html +3 -2
  160. package/SVF-doxygen/html/html/functions_func_g.html +33 -24
  161. package/SVF-doxygen/html/html/functions_func_i.html +17 -11
  162. package/SVF-doxygen/html/html/functions_func_n.html +4 -3
  163. package/SVF-doxygen/html/html/functions_func_o.html +4 -3
  164. package/SVF-doxygen/html/html/functions_func_p.html +3 -3
  165. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  166. package/SVF-doxygen/html/html/functions_func_z.html +79 -0
  167. package/SVF-doxygen/html/html/functions_g.html +35 -26
  168. package/SVF-doxygen/html/html/functions_i.html +30 -15
  169. package/SVF-doxygen/html/html/functions_l.html +8 -8
  170. package/SVF-doxygen/html/html/functions_m.html +1 -1
  171. package/SVF-doxygen/html/html/functions_n.html +4 -3
  172. package/SVF-doxygen/html/html/functions_o.html +9 -14
  173. package/SVF-doxygen/html/html/functions_p.html +10 -10
  174. package/SVF-doxygen/html/html/functions_r.html +7 -7
  175. package/SVF-doxygen/html/html/functions_rela.html +4 -0
  176. package/SVF-doxygen/html/html/functions_s.html +13 -15
  177. package/SVF-doxygen/html/html/functions_t.html +1 -3
  178. package/SVF-doxygen/html/html/functions_type_b.html +5 -6
  179. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  180. package/SVF-doxygen/html/html/functions_type_i.html +4 -1
  181. package/SVF-doxygen/html/html/functions_type_z.html +77 -0
  182. package/SVF-doxygen/html/html/functions_v.html +3 -3
  183. package/SVF-doxygen/html/html/functions_vars_a.html +0 -3
  184. package/SVF-doxygen/html/html/functions_vars_b.html +6 -9
  185. package/SVF-doxygen/html/html/functions_vars_c.html +5 -2
  186. package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
  187. package/SVF-doxygen/html/html/functions_vars_i.html +6 -0
  188. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  189. package/SVF-doxygen/html/html/functions_vars_n.html +1 -1
  190. package/SVF-doxygen/html/html/functions_vars_s.html +1 -1
  191. package/SVF-doxygen/html/html/functions_z.html +16 -0
  192. package/SVF-doxygen/html/html/hierarchy.html +436 -434
  193. package/SVF-doxygen/html/html/menudata.js +5 -2
  194. package/SVF-doxygen/html/html/namespaceSVF.html +8 -4
  195. package/SVF-doxygen/html/html/search/all_1.js +1 -2
  196. package/SVF-doxygen/html/html/search/all_10.js +11 -11
  197. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  198. package/SVF-doxygen/html/html/search/all_13.js +8 -8
  199. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  200. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  201. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  202. package/SVF-doxygen/html/html/search/all_1a.js +5 -0
  203. package/SVF-doxygen/html/html/search/all_1b.js +5 -3
  204. package/SVF-doxygen/html/html/search/all_2.js +10 -9
  205. package/SVF-doxygen/html/html/search/all_3.js +9 -7
  206. package/SVF-doxygen/html/html/search/all_4.js +3 -3
  207. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  208. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  209. package/SVF-doxygen/html/html/search/all_7.js +13 -11
  210. package/SVF-doxygen/html/html/search/all_9.js +8 -6
  211. package/SVF-doxygen/html/html/search/all_c.js +5 -5
  212. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  213. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  214. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  215. package/SVF-doxygen/html/html/search/classes_1.js +2 -2
  216. package/SVF-doxygen/html/html/search/classes_14.html +26 -0
  217. package/SVF-doxygen/html/html/search/classes_14.js +5 -0
  218. package/SVF-doxygen/html/html/search/enums_1.js +1 -0
  219. package/SVF-doxygen/html/html/search/enumvalues_1.js +2 -1
  220. package/SVF-doxygen/html/html/search/enumvalues_14.html +26 -0
  221. package/SVF-doxygen/html/html/search/enumvalues_14.js +5 -0
  222. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  223. package/SVF-doxygen/html/html/search/functions_1.js +5 -5
  224. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  225. package/SVF-doxygen/html/html/search/functions_15.js +2 -0
  226. package/SVF-doxygen/html/html/search/functions_16.js +5 -3
  227. package/SVF-doxygen/html/html/search/functions_2.js +5 -5
  228. package/SVF-doxygen/html/html/search/functions_3.js +3 -3
  229. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  230. package/SVF-doxygen/html/html/search/functions_6.js +13 -11
  231. package/SVF-doxygen/html/html/search/functions_8.js +4 -4
  232. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  233. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  234. package/SVF-doxygen/html/html/search/functions_e.js +4 -4
  235. package/SVF-doxygen/html/html/search/related_0.js +2 -1
  236. package/SVF-doxygen/html/html/search/searchdata.js +3 -3
  237. package/SVF-doxygen/html/html/search/typedefs_1.js +2 -2
  238. package/SVF-doxygen/html/html/search/typedefs_16.html +26 -0
  239. package/SVF-doxygen/html/html/search/typedefs_16.js +4 -0
  240. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  241. package/SVF-doxygen/html/html/search/typedefs_8.js +2 -1
  242. package/SVF-doxygen/html/html/search/variables_1.js +0 -1
  243. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  244. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  245. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  246. package/SVF-doxygen/html/html/search/variables_2.js +2 -3
  247. package/SVF-doxygen/html/html/search/variables_3.js +2 -1
  248. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  249. package/SVF-doxygen/html/html/search/variables_9.js +2 -0
  250. package/SVF-doxygen/html/html/search/variables_d.js +2 -2
  251. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  252. package/include/SABER/PathCondAllocator.h +2 -3
  253. package/include/Util/Conditions.h +272 -166
  254. package/include/Util/Options.h +4 -0
  255. package/index.html +2 -0
  256. package/lib/SABER/PathCondAllocator.cpp +3 -0
  257. package/lib/Util/Conditions.cpp +245 -209
  258. package/lib/Util/Options.cpp +11 -0
  259. package/lib/WPA/Andersen.cpp +10 -9
  260. package/package.json +1 -1
@@ -999,7 +999,7 @@ Additional Inherited Members</h2></td></tr>
999
999
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a55803a2d30137b5ad15c5afeec7c6b28"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">SVF::DDAVFSolver&lt; CxtVar, CxtPtSet, CxtLocDPItem &gt;::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">GetDefinition SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00320">DDAVFSolver.h:320</a></div></div>
1000
1000
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
1001
1001
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_afe518d3d7f8051de5b9860f2460aa1b7"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#afe518d3d7f8051de5b9860f2460aa1b7">SVF::DDAVFSolver&lt; CxtVar, CxtPtSet, CxtLocDPItem &gt;::resetQuery</a></div><div class="ttdeci">virtual void resetQuery()</div><div class="ttdoc">Reset visited map for next points-to query. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00297">DDAVFSolver.h:297</a></div></div>
1002
- <div class="ttc" id="classSVF_1_1Options_html_a7b9af13feccc116377aeb107640ae874"><div class="ttname"><a href="classSVF_1_1Options.html#a7b9af13feccc116377aeb107640ae874">SVF::Options::CxtBudget</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned long long &gt; CxtBudget</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00080">Options.h:80</a></div></div>
1002
+ <div class="ttc" id="classSVF_1_1Options_html_a7b9af13feccc116377aeb107640ae874"><div class="ttname"><a href="classSVF_1_1Options.html#a7b9af13feccc116377aeb107640ae874">SVF::Options::CxtBudget</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned long long &gt; CxtBudget</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00081">Options.h:81</a></div></div>
1003
1003
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00370">PointerAnalysis.h:370</a></div></div>
1004
1004
  <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#l00046">SVFVariables.h:46</a></div></div>
1005
1005
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a94f3e4d073b8c5bab3c46058ddba3f43"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">SVF::CondPTAImpl&lt; ContextCond &gt;::getBVPointsTo</a></div><div class="ttdeci">virtual PointsTo getBVPointsTo(const CPtSet &amp;cpts) const</div><div class="ttdoc">Given a conditional pts return its bit vector points-to. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00484">PointerAnalysisImpl.h:484</a></div></div>
@@ -503,7 +503,7 @@ Additional Inherited Members</h2></td></tr>
503
503
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
504
504
  <div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
505
505
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
506
- <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
506
+ <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
507
507
  </div><!-- fragment -->
508
508
  </div>
509
509
  </div>
@@ -475,7 +475,7 @@ Additional Inherited Members</h2></td></tr>
475
475
  <div class="ttc" id="classSVF_1_1DCHGraph_html_a671f379ae54eef247b5e013478eb3f0c"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a671f379ae54eef247b5e013478eb3f0c">SVF::DCHGraph::handleDISubroutineType</a></div><div class="ttdeci">void handleDISubroutineType(const DISubroutineType *subroutineType)</div><div class="ttdoc">Construction helper to process DISubroutineTypes. </div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8cpp_source.html#l00133">DCHG.cpp:133</a></div></div>
476
476
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae265a7f3cc7367d62013e0f15cf3d233"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae265a7f3cc7367d62013e0f15cf3d233">SVF::LLVMModuleSet::getModuleNum</a></div><div class="ttdeci">u32_t getModuleNum() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00093">LLVMModule.h:93</a></div></div>
477
477
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00077">SVFBasicTypes.h:77</a></div></div>
478
- <div class="ttc" id="classSVF_1_1Options_html_adf6c289ef9f2d0196984dd4024ea4316"><div class="ttname"><a href="classSVF_1_1Options.html#adf6c289ef9f2d0196984dd4024ea4316">SVF::Options::PrintDCHG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintDCHG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00205">Options.h:205</a></div></div>
478
+ <div class="ttc" id="classSVF_1_1Options_html_adf6c289ef9f2d0196984dd4024ea4316"><div class="ttname"><a href="classSVF_1_1Options.html#adf6c289ef9f2d0196984dd4024ea4316">SVF::Options::PrintDCHG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintDCHG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00206">Options.h:206</a></div></div>
479
479
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph&lt; DCHNode, DCHEdge &gt;::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
480
480
  <div class="ttc" id="classSVF_1_1DCHGraph_html_a294a2075c97e1db8003393fb472c1def"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a294a2075c97e1db8003393fb472c1def">SVF::DCHGraph::addEdge</a></div><div class="ttdeci">DCHEdge * addEdge(const DIType *t1, const DIType *t2, DCHEdge::GEdgeKind et)</div><div class="ttdoc">Creates an edge between from t1 to t2. </div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8cpp_source.html#l00421">DCHG.cpp:421</a></div></div>
481
481
  <div class="ttc" id="namespaceSVF_html_a090e0791e8c200104ed3ab6bab157129"><div class="ttname"><a href="namespaceSVF.html#a090e0791e8c200104ed3ab6bab157129">SVF::DISubroutineType</a></div><div class="ttdeci">llvm::DISubroutineType DISubroutineType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00211">BasicTypes.h:211</a></div></div>
@@ -684,8 +684,8 @@ Private Attributes</h2></td></tr>
684
684
  <p class="definition">Definition at line <a class="el" href="DDAPass_8cpp_source.html#l00145">145</a> of file <a class="el" href="DDAPass_8cpp_source.html">DDAPass.cpp</a>.</p>
685
685
  <div class="fragment"><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; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aa1a3b9293dffeef1bb16a2a7b3a007dd">Options::InsenRecur</a>)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#af8bc7f84e7dc8c7032eec6162a837ba6">collectCxtInsenEdgeForRecur</a>(pta,svfg,insensitveEdges);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a35cfe6add81dc82983e0c53c36c6e667">Options::InsenCycle</a>)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#af03661604ba924d1c3fd34a231ba87a6">collectCxtInsenEdgeForVFCycle</a>(pta,svfg,svfgSCC,insensitveEdges);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAPass_html_af03661604ba924d1c3fd34a231ba87a6"><div class="ttname"><a href="classSVF_1_1DDAPass.html#af03661604ba924d1c3fd34a231ba87a6">SVF::DDAPass::collectCxtInsenEdgeForVFCycle</a></div><div class="ttdeci">void collectCxtInsenEdgeForVFCycle(PointerAnalysis *pta, const SVFG *svfg, const SVFGSCC *svfgSCC, SVFGEdgeSet &amp;insensitveEdges)</div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00205">DDAPass.cpp:205</a></div></div>
686
686
  <div class="ttc" id="classSVF_1_1DDAPass_html_af8bc7f84e7dc8c7032eec6162a837ba6"><div class="ttname"><a href="classSVF_1_1DDAPass.html#af8bc7f84e7dc8c7032eec6162a837ba6">SVF::DDAPass::collectCxtInsenEdgeForRecur</a></div><div class="ttdeci">void collectCxtInsenEdgeForRecur(PointerAnalysis *pta, const SVFG *svfg, SVFGEdgeSet &amp;insensitveEdges)</div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00182">DDAPass.cpp:182</a></div></div>
687
- <div class="ttc" id="classSVF_1_1Options_html_a35cfe6add81dc82983e0c53c36c6e667"><div class="ttname"><a href="classSVF_1_1Options.html#a35cfe6add81dc82983e0c53c36c6e667">SVF::Options::InsenCycle</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; InsenCycle</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00099">Options.h:99</a></div></div>
688
- <div class="ttc" id="classSVF_1_1Options_html_aa1a3b9293dffeef1bb16a2a7b3a007dd"><div class="ttname"><a href="classSVF_1_1Options.html#aa1a3b9293dffeef1bb16a2a7b3a007dd">SVF::Options::InsenRecur</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; InsenRecur</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00098">Options.h:98</a></div></div>
687
+ <div class="ttc" id="classSVF_1_1Options_html_a35cfe6add81dc82983e0c53c36c6e667"><div class="ttname"><a href="classSVF_1_1Options.html#a35cfe6add81dc82983e0c53c36c6e667">SVF::Options::InsenCycle</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; InsenCycle</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00100">Options.h:100</a></div></div>
688
+ <div class="ttc" id="classSVF_1_1Options_html_aa1a3b9293dffeef1bb16a2a7b3a007dd"><div class="ttname"><a href="classSVF_1_1Options.html#aa1a3b9293dffeef1bb16a2a7b3a007dd">SVF::Options::InsenRecur</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; InsenRecur</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00099">Options.h:99</a></div></div>
689
689
  </div><!-- fragment -->
690
690
  </div>
691
691
  </div>
@@ -755,7 +755,7 @@ Private Attributes</h2></td></tr>
755
755
 
756
756
  <p class="definition">Definition at line <a class="el" href="DDAPass_8cpp_source.html#l00032">32</a> of file <a class="el" href="DDAPass_8cpp_source.html">DDAPass.cpp</a>.</p>
757
757
  <div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">//InitializeAliasAnalysis(this, SymbolTableInfo::getDataLayout(&amp;module));</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#aa33694e0b5f30c451c229e92877e4842">selectClient</a>(module);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">PointerAnalysis::FlowS_DDA</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; i &lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">PointerAnalysis::Default_PTA</a>; i++)</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a2203f622ab539b3a38488575c9eec33b">Options::DDASelected</a>.isSet(i))</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a13ff3107a0e4f8749b166fa9b8165167">runPointerAnalysis</a>(module, i);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00077">SVFBasicTypes.h:77</a></div></div>
758
- <div class="ttc" id="classSVF_1_1Options_html_a2203f622ab539b3a38488575c9eec33b"><div class="ttname"><a href="classSVF_1_1Options.html#a2203f622ab539b3a38488575c9eec33b">SVF::Options::DDASelected</a></div><div class="ttdeci">static llvm::cl::bits&lt; PointerAnalysis::PTATY &gt; DDASelected</div><div class="ttdoc">register this into alias analysis group </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00103">Options.h:103</a></div></div>
758
+ <div class="ttc" id="classSVF_1_1Options_html_a2203f622ab539b3a38488575c9eec33b"><div class="ttname"><a href="classSVF_1_1Options.html#a2203f622ab539b3a38488575c9eec33b">SVF::Options::DDASelected</a></div><div class="ttdeci">static llvm::cl::bits&lt; PointerAnalysis::PTATY &gt; DDASelected</div><div class="ttdoc">register this into alias analysis group </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00104">Options.h:104</a></div></div>
759
759
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">SVF::PointerAnalysis::Default_PTA</a></div><div class="ttdoc">default pta without any analysis </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00094">PointerAnalysis.h:94</a></div></div>
760
760
  <div class="ttc" id="classSVF_1_1DDAPass_html_aa33694e0b5f30c451c229e92877e4842"><div class="ttname"><a href="classSVF_1_1DDAPass.html#aa33694e0b5f30c451c229e92877e4842">SVF::DDAPass::selectClient</a></div><div class="ttdeci">virtual void selectClient(SVFModule *module)</div><div class="ttdoc">Select a client. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00055">DDAPass.cpp:55</a></div></div>
761
761
  <div class="ttc" id="classSVF_1_1DDAPass_html_a13ff3107a0e4f8749b166fa9b8165167"><div class="ttname"><a href="classSVF_1_1DDAPass.html#a13ff3107a0e4f8749b166fa9b8165167">SVF::DDAPass::runPointerAnalysis</a></div><div class="ttdeci">void runPointerAnalysis(SVFModule *module, u32_t kind)</div><div class="ttdoc">Create pointer analysis according to specified kind and analyze the module. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00091">DDAPass.cpp:91</a></div></div>
@@ -838,22 +838,22 @@ Private Attributes</h2></td></tr>
838
838
  <p>finalize </p>
839
839
 
840
840
  <p class="definition">Definition at line <a class="el" href="DDAPass_8cpp_source.html#l00091">91</a> of file <a class="el" href="DDAPass_8cpp_source.html">DDAPass.cpp</a>.</p>
841
- <div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</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>(module);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html#a084679a423e78217ca10794775c25b1d">ContextCond::setMaxPathLen</a>(<a class="code" href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">Options::MaxPathLen</a>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html#a92e89bbae0f31bb9eb971ab3edcc8071">ContextCond::setMaxCxtLen</a>(<a class="code" href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">Options::MaxContextLen</a>);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">switch</span> (kind)</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; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">PointerAnalysis::Cxt_DDA</a>:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ContextDDA.html">ContextDDA</a>(pag, <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">PointerAnalysis::FlowS_DDA</a>:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FlowDDA.html">FlowDDA</a>(pag, <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;This pointer analysis has not been implemented yet.\n&quot;</span>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a0865038c4738fcc8f47106faad03d98a">Options::WPANum</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="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#a76b4c50a1051ff7c0b162b55473de028">collectWPANum</a>(module);</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; <span class="keywordflow">else</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">initialize</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#a3b202f9a70b6e23c06a15556d23d245e">answerQueries</a>(<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">finalize</a>();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aee5e47ee3ca9bacb514f9dfbcb3abf24">Options::PrintCPts</a>)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">dumpCPts</a>();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3">performStat</a>(<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>);</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; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#aabfcfcd67df527cdf587aff5ecc26a10">Options::PrintQueryPts</a>)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#afc700bd3abb5d9199621741b9bd04f0f">printQueryPTS</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div><div class="ttc" id="classSVF_1_1Options_html_a2e53156bd075d7802d390672f129c6a8"><div class="ttname"><a href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">SVF::Options::MaxContextLen</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxContextLen</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00095">Options.h:95</a></div></div>
842
- <div class="ttc" id="classSVF_1_1Options_html_a32ef95b3bd06b50337b3129b74ffb45c"><div class="ttname"><a href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">SVF::Options::MaxPathLen</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxPathLen</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00094">Options.h:94</a></div></div>
841
+ <div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</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>(module);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html#a084679a423e78217ca10794775c25b1d">ContextCond::setMaxPathLen</a>(<a class="code" href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">Options::MaxPathLen</a>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classSVF_1_1ContextCond.html#a92e89bbae0f31bb9eb971ab3edcc8071">ContextCond::setMaxCxtLen</a>(<a class="code" href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">Options::MaxContextLen</a>);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">switch</span> (kind)</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; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">PointerAnalysis::Cxt_DDA</a>:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ContextDDA.html">ContextDDA</a>(pag, <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">PointerAnalysis::FlowS_DDA</a>:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FlowDDA.html">FlowDDA</a>(pag, <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;This pointer analysis has not been implemented yet.\n&quot;</span>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a0865038c4738fcc8f47106faad03d98a">Options::WPANum</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="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#a76b4c50a1051ff7c0b162b55473de028">collectWPANum</a>(module);</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; <span class="keywordflow">else</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">initialize</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#a3b202f9a70b6e23c06a15556d23d245e">answerQueries</a>(<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">finalize</a>();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aee5e47ee3ca9bacb514f9dfbcb3abf24">Options::PrintCPts</a>)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">dumpCPts</a>();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3">performStat</a>(<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>);</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; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#aabfcfcd67df527cdf587aff5ecc26a10">Options::PrintQueryPts</a>)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html#afc700bd3abb5d9199621741b9bd04f0f">printQueryPTS</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div><div class="ttc" id="classSVF_1_1Options_html_a2e53156bd075d7802d390672f129c6a8"><div class="ttname"><a href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">SVF::Options::MaxContextLen</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxContextLen</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00096">Options.h:96</a></div></div>
842
+ <div class="ttc" id="classSVF_1_1Options_html_a32ef95b3bd06b50337b3129b74ffb45c"><div class="ttname"><a href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">SVF::Options::MaxPathLen</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxPathLen</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00095">Options.h:95</a></div></div>
843
843
  <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#l00048">SVFIRBuilder.cpp:48</a></div></div>
844
844
  <div class="ttc" id="classSVF_1_1DDAClient_html_a76b4c50a1051ff7c0b162b55473de028"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a76b4c50a1051ff7c0b162b55473de028">SVF::DDAClient::collectWPANum</a></div><div class="ttdeci">virtual void collectWPANum(SVFModule *)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00080">DDAClient.h:80</a></div></div>
845
845
  <div class="ttc" id="classSVF_1_1ContextCond_html_a92e89bbae0f31bb9eb971ab3edcc8071"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a92e89bbae0f31bb9eb971ab3edcc8071">SVF::ContextCond::setMaxCxtLen</a></div><div class="ttdeci">static void setMaxCxtLen(u32_t max)</div><div class="ttdoc">set max context limit </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00240">DPItem.h:240</a></div></div>
846
846
  <div class="ttc" id="classSVF_1_1FlowDDA_html"><div class="ttname"><a href="classSVF_1_1FlowDDA.html">SVF::FlowDDA</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00025">FlowDDA.h:25</a></div></div>
847
847
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00370">PointerAnalysis.h:370</a></div></div>
848
848
  <div class="ttc" id="classSVF_1_1DDAClient_html_aedd25e487775d37d4f6dcc8a5565c2a3"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3">SVF::DDAClient::performStat</a></div><div class="ttdeci">virtual void performStat(PointerAnalysis *)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00078">DDAClient.h:78</a></div></div>
849
- <div class="ttc" id="classSVF_1_1Options_html_a0865038c4738fcc8f47106faad03d98a"><div class="ttname"><a href="classSVF_1_1Options.html#a0865038c4738fcc8f47106faad03d98a">SVF::Options::WPANum</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; WPANum</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00102">Options.h:102</a></div></div>
849
+ <div class="ttc" id="classSVF_1_1Options_html_a0865038c4738fcc8f47106faad03d98a"><div class="ttname"><a href="classSVF_1_1Options.html#a0865038c4738fcc8f47106faad03d98a">SVF::Options::WPANum</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; WPANum</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00103">Options.h:103</a></div></div>
850
850
  <div class="ttc" id="classSVF_1_1DDAPass_html_a240ffa3ed0963e579db60784f4a21b9f"><div class="ttname"><a href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">SVF::DDAPass::_pta</a></div><div class="ttdeci">PointerAnalysis * _pta</div><div class="ttdoc">pointer analysis to be executed. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00079">DDAPass.h:79</a></div></div>
851
851
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">SVF::PointerAnalysis::Cxt_DDA</a></div><div class="ttdoc">context sensitive DDA </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00091">PointerAnalysis.h:91</a></div></div>
852
852
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00200">PointerAnalysis.cpp:200</a></div></div>
853
853
  <div class="ttc" id="classSVF_1_1DDAPass_html_a8bb61315bc5d1816f4e07140864af47f"><div class="ttname"><a href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">SVF::DDAPass::_client</a></div><div class="ttdeci">DDAClient * _client</div><div class="ttdoc">DDA client used. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00080">DDAPass.h:80</a></div></div>
854
854
  <div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00045">SVFIRBuilder.h:45</a></div></div>
855
- <div class="ttc" id="classSVF_1_1Options_html_aabfcfcd67df527cdf587aff5ecc26a10"><div class="ttname"><a href="classSVF_1_1Options.html#aabfcfcd67df527cdf587aff5ecc26a10">SVF::Options::PrintQueryPts</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintQueryPts</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00101">Options.h:101</a></div></div>
856
- <div class="ttc" id="classSVF_1_1Options_html_aee5e47ee3ca9bacb514f9dfbcb3abf24"><div class="ttname"><a href="classSVF_1_1Options.html#aee5e47ee3ca9bacb514f9dfbcb3abf24">SVF::Options::PrintCPts</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintCPts</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00100">Options.h:100</a></div></div>
855
+ <div class="ttc" id="classSVF_1_1Options_html_aabfcfcd67df527cdf587aff5ecc26a10"><div class="ttname"><a href="classSVF_1_1Options.html#aabfcfcd67df527cdf587aff5ecc26a10">SVF::Options::PrintQueryPts</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintQueryPts</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00102">Options.h:102</a></div></div>
856
+ <div class="ttc" id="classSVF_1_1Options_html_aee5e47ee3ca9bacb514f9dfbcb3abf24"><div class="ttname"><a href="classSVF_1_1Options.html#aee5e47ee3ca9bacb514f9dfbcb3abf24">SVF::Options::PrintCPts</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintCPts</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00101">Options.h:101</a></div></div>
857
857
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad409cbf61271743394b9e5868f3fd197"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">SVF::PointerAnalysis::dumpCPts</a></div><div class="ttdeci">virtual void dumpCPts()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00267">PointerAnalysis.h:267</a></div></div>
858
858
  <div class="ttc" id="classSVF_1_1DDAPass_html_afc700bd3abb5d9199621741b9bd04f0f"><div class="ttname"><a href="classSVF_1_1DDAPass.html#afc700bd3abb5d9199621741b9bd04f0f">SVF::DDAPass::printQueryPTS</a></div><div class="ttdeci">void printQueryPTS()</div><div class="ttdoc">Print queries&amp;#39; pts. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00311">DDAPass.cpp:311</a></div></div>
859
859
  <div class="ttc" id="classSVF_1_1ContextCond_html_a084679a423e78217ca10794775c25b1d"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a084679a423e78217ca10794775c25b1d">SVF::ContextCond::setMaxPathLen</a></div><div class="ttdeci">static void setMaxPathLen(u32_t max)</div><div class="ttdoc">set max path limit </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00245">DPItem.h:245</a></div></div>
@@ -902,7 +902,7 @@ Private Attributes</h2></td></tr>
902
902
  <div class="ttc" id="cuddInt_8c_html_a5beb39637a978181c7c17714ac96672e"><div class="ttname"><a href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a></div><div class="ttdeci">static DdNode * empty</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l28567">cuddInt.c:28567</a></div></div>
903
903
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00077">SVFBasicTypes.h:77</a></div></div>
904
904
  <div class="ttc" id="classSVF_1_1DDAPass_html_a8bb61315bc5d1816f4e07140864af47f"><div class="ttname"><a href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">SVF::DDAPass::_client</a></div><div class="ttdeci">DDAClient * _client</div><div class="ttdoc">DDA client used. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00080">DDAPass.h:80</a></div></div>
905
- <div class="ttc" id="classSVF_1_1Options_html_a3c3d704c209c4e6eed1a771caf8214ce"><div class="ttname"><a href="classSVF_1_1Options.html#a3c3d704c209c4e6eed1a771caf8214ce">SVF::Options::UserInputQuery</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; UserInputQuery</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00097">Options.h:97</a></div></div>
905
+ <div class="ttc" id="classSVF_1_1Options_html_a3c3d704c209c4e6eed1a771caf8214ce"><div class="ttname"><a href="classSVF_1_1Options.html#a3c3d704c209c4e6eed1a771caf8214ce">SVF::Options::UserInputQuery</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; UserInputQuery</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00098">Options.h:98</a></div></div>
906
906
  <div class="ttc" id="classSVF_1_1AliasDDAClient_html"><div class="ttname"><a href="classSVF_1_1AliasDDAClient.html">SVF::AliasDDAClient</a></div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00121">DDAClient.h:121</a></div></div>
907
907
  <div class="ttc" id="classSVF_1_1DDAClient_html"><div class="ttname"><a href="classSVF_1_1DDAClient.html">SVF::DDAClient</a></div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00025">DDAClient.h:25</a></div></div>
908
908
  <div class="ttc" id="classSVF_1_1DDAClient_html_a3d0f732e284f3237287b375582c0aa88"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a3d0f732e284f3237287b375582c0aa88">SVF::DDAClient::setQuery</a></div><div class="ttdeci">void setQuery(NodeID ptr)</div><div class="ttdoc">Set pointer to be queried by DDA analysis. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00066">DDAClient.h:66</a></div></div>
@@ -541,7 +541,7 @@ Additional Inherited Members</h2></td></tr>
541
541
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
542
542
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
543
543
  <div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
544
- <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
544
+ <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
545
545
  </div><!-- fragment -->
546
546
  </div>
547
547
  </div>
@@ -1001,7 +1001,7 @@ Additional Inherited Members</h2></td></tr>
1001
1001
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_ad7d92fad8606d5512786a7b7a08930e2"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#ad7d92fad8606d5512786a7b7a08930e2">SVF::DDAVFSolver&lt; NodeID, PointsTo, LocDPItem &gt;::getDPIm</a></div><div class="ttdeci">virtual LocDPItem getDPIm(const NodeID &amp;var, const SVFGNode *loc) const</div><div class="ttdoc">Given CVar and location (SVFGNode) return a new DPItem. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00074">DDAVFSolver.h:74</a></div></div>
1002
1002
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
1003
1003
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
1004
- <div class="ttc" id="classSVF_1_1Options_html_a53b1a1ec4e5bbd9696ed9b680aa0c3c7"><div class="ttname"><a href="classSVF_1_1Options.html#a53b1a1ec4e5bbd9696ed9b680aa0c3c7">SVF::Options::FlowBudget</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned long long &gt; FlowBudget</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00106">Options.h:106</a></div></div>
1004
+ <div class="ttc" id="classSVF_1_1Options_html_a53b1a1ec4e5bbd9696ed9b680aa0c3c7"><div class="ttname"><a href="classSVF_1_1Options.html#a53b1a1ec4e5bbd9696ed9b680aa0c3c7">SVF::Options::FlowBudget</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned long long &gt; FlowBudget</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00107">Options.h:107</a></div></div>
1005
1005
  <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00156">SVFBasicTypes.h:156</a></div></div>
1006
1006
  <div class="ttc" id="classSVF_1_1StmtDPItem_html"><div class="ttname"><a href="classSVF_1_1StmtDPItem.html">SVF::StmtDPItem</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00118">DPItem.h:118</a></div></div>
1007
1007
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a7994236bff84ba8244592fdf5e546734"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a7994236bff84ba8244592fdf5e546734">SVF::DDAVFSolver&lt; NodeID, PointsTo, LocDPItem &gt;::isOutOfBudgetQuery</a></div><div class="ttdeci">bool isOutOfBudgetQuery() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00711">DDAVFSolver.h:711</a></div></div>
@@ -1059,7 +1059,7 @@ Additional Inherited Members</h2></td></tr>
1059
1059
 
1060
1060
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00086">86</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
1061
1061
  <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">bool</span> limitTimerSet = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVFUtil::startAnalysisLimitTimer</a>(<a class="code" href="classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b">Options::FsTimeLimit</a>);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ad6243c1317503bed39411dab47c83da7">initialize</a>();</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Start Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">do</span></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; <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>++;</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; <span class="keywordflow">if</span>(0 == <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a> % <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">dumpStat</a>();</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; <a class="code" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">initWorklist</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1FlowSensitive.html#a9d81537ec20196315a9a2541477ec5bf">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Finish Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// Reset the time-up alarm; analysis is done.</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVFUtil::stopAnalysisLimitTimer</a>(limitTimerSet);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514">solveTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ad148549070b042aeddafca39ee949c77">Options::CTirAliasEval</a>)</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a023d0b492deaba40c593332cf1b2e3f6">printCTirAliasStats</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#afed358369102f01f6fe88b1433e704c3">finalize</a>();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3e7753643166465b0d647a75bc145a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">SVF::PointerAnalysis::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap &amp; getIndirectCallsites() const</div><div class="ttdoc">Return all indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00275">PointerAnalysis.h:275</a></div></div>
1062
- <div class="ttc" id="classSVF_1_1Options_html_ad03c4697dd4da2b6adde112e3ee1884b"><div class="ttname"><a href="classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b">SVF::Options::FsTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; FsTimeLimit</div><div class="ttdoc">Time limit for the main phase (i.e., the actual solving) of FS analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00071">Options.h:71</a></div></div>
1062
+ <div class="ttc" id="classSVF_1_1Options_html_ad03c4697dd4da2b6adde112e3ee1884b"><div class="ttname"><a href="classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b">SVF::Options::FsTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; FsTimeLimit</div><div class="ttdoc">Time limit for the main phase (i.e., the actual solving) of FS analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00072">Options.h:72</a></div></div>
1063
1063
  <div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00206">WPASolver.h:206</a></div></div>
1064
1064
  <div class="ttc" id="classSVF_1_1WPASolver_html_af1bb670efde7006e3e99b3735e4fc4cc"><div class="ttname"><a href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">SVF::WPASolver::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00112">WPASolver.h:112</a></div></div>
1065
1065
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ab83b827ea42d3a61aad20b1a1485d866"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">SVF::PointerAnalysis::dumpStat</a></div><div class="ttdeci">void dumpStat()</div><div class="ttdoc">Dump the statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00187">PointerAnalysis.cpp:187</a></div></div>
@@ -1067,7 +1067,7 @@ Additional Inherited Members</h2></td></tr>
1067
1067
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a023d0b492deaba40c593332cf1b2e3f6"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a023d0b492deaba40c593332cf1b2e3f6">SVF::FlowSensitive::printCTirAliasStats</a></div><div class="ttdeci">virtual void printCTirAliasStats(void)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00818">FlowSensitive.cpp:818</a></div></div>
1068
1068
  <div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
1069
1069
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_afed358369102f01f6fe88b1433e704c3"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#afed358369102f01f6fe88b1433e704c3">SVF::FlowSensitive::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00131">FlowSensitive.cpp:131</a></div></div>
1070
- <div class="ttc" id="classSVF_1_1Options_html_ad148549070b042aeddafca39ee949c77"><div class="ttname"><a href="classSVF_1_1Options.html#ad148549070b042aeddafca39ee949c77">SVF::Options::CTirAliasEval</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; CTirAliasEval</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00238">Options.h:238</a></div></div>
1070
+ <div class="ttc" id="classSVF_1_1Options_html_ad148549070b042aeddafca39ee949c77"><div class="ttname"><a href="classSVF_1_1Options.html#ad148549070b042aeddafca39ee949c77">SVF::Options::CTirAliasEval</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; CTirAliasEval</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00239">Options.h:239</a></div></div>
1071
1071
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afc320fbf269404fe128e69c98e6f9cac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">SVF::PointerAnalysis::OnTheFlyIterBudgetForStat</a></div><div class="ttdeci">u32_t OnTheFlyIterBudgetForStat</div><div class="ttdoc">Flag for iteration budget for on-the-fly statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00143">PointerAnalysis.h:143</a></div></div>
1072
1072
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a9d81537ec20196315a9a2541477ec5bf"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a9d81537ec20196315a9a2541477ec5bf">SVF::FlowSensitive::updateCallGraph</a></div><div class="ttdeci">bool updateCallGraph(const CallSiteToFunPtrMap &amp;callsites)</div><div class="ttdoc">Update call graph. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00648">FlowSensitive.cpp:648</a></div></div>
1073
1073
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ad6243c1317503bed39411dab47c83da7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ad6243c1317503bed39411dab47c83da7">SVF::FlowSensitive::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00048">FlowSensitive.cpp:48</a></div></div>
@@ -1384,7 +1384,7 @@ Additional Inherited Members</h2></td></tr>
1384
1384
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00250">FlowSensitive.h:250</a></div></div>
1385
1385
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a57ff2bf45ede7a730a8adaba8e61179d"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00072">PointerAnalysisImpl.cpp:72</a></div></div>
1386
1386
  <div class="ttc" id="classSVF_1_1SCCDetection_html_a6ab5eff6a576e6d8703c1ea29b7f425d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">SVF::SCCDetection::subNodes</a></div><div class="ttdeci">const NodeBS &amp; subNodes(NodeID n) const</div><div class="ttdoc">get all subnodes in one scc, if size is empty insert itself into the set </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00173">SCC.h:173</a></div></div>
1387
- <div class="ttc" id="classSVF_1_1Options_html_a9dc372635fc6f5ea2d902fc5c49fca8a"><div class="ttname"><a href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">SVF::Options::ClusterFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterFs</div><div class="ttdoc">Whether to cluster FS or VFS with the auxiliary Andersen&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00043">Options.h:43</a></div></div>
1387
+ <div class="ttc" id="classSVF_1_1Options_html_a9dc372635fc6f5ea2d902fc5c49fca8a"><div class="ttname"><a href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">SVF::Options::ClusterFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterFs</div><div class="ttdoc">Whether to cluster FS or VFS with the auxiliary Andersen&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00044">Options.h:44</a></div></div>
1388
1388
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aa3d4703756a6297ab5c0756172024fe4"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aa3d4703756a6297ab5c0756172024fe4">SVF::FlowSensitive::maxSCCSize</a></div><div class="ttdeci">u32_t maxSCCSize</div><div class="ttdoc">Number of processed mssa node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00301">FlowSensitive.h:301</a></div></div>
1389
1389
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
1390
1390
  <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#l00121">SVFBasicTypes.h:121</a></div></div>
@@ -1395,7 +1395,7 @@ Additional Inherited Members</h2></td></tr>
1395
1395
  <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac10cbda6a84ce890c9946a5ff35800b7"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">SVF::NodeIDAllocator::Clusterer::printStats</a></div><div class="ttdeci">static void printStats(std::string title, Map&lt; std::string, std::string &gt; &amp;stats)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00691">NodeIDAllocator.cpp:691</a></div></div>
1396
1396
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a0ac955bf06261eec1c6bb78ec99652e3"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3">SVF::FlowSensitive::numOfSCC</a></div><div class="ttdeci">u32_t numOfSCC</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00302">FlowSensitive.h:302</a></div></div>
1397
1397
  <div class="ttc" id="fastcluster_8h_html_a4205a14ad66b3320d2e94c61d74913dd"><div class="ttname"><a href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a></div><div class="ttdeci">hclust_fast_methods</div><div class="ttdef"><b>Definition:</b> <a href="fastcluster_8h_source.html#l00065">fastcluster.h:65</a></div></div>
1398
- <div class="ttc" id="classSVF_1_1Options_html_a3061c75f7491dd737222b1b877721070"><div class="ttname"><a href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">SVF::Options::DumpVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00121">Options.h:121</a></div></div>
1398
+ <div class="ttc" id="classSVF_1_1Options_html_a3061c75f7491dd737222b1b877721070"><div class="ttname"><a href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">SVF::Options::DumpVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00122">Options.h:122</a></div></div>
1399
1399
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a14a4c5124f2fd03ca3d898e2acd54160"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">SVF::SVFUtil::hclustMethodToString</a></div><div class="ttdeci">std::string hclustMethodToString(hclust_fast_methods method)</div><div class="ttdoc">Returns a string representation of a hclust method. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00367">SVFUtil.cpp:367</a></div></div>
1400
1400
  <div class="ttc" id="classSVF_1_1PointsTo_html_a6c1885ddfcc72604463f7c4ea94d2f74"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a6c1885ddfcc72604463f7c4ea94d2f74">SVF::PointsTo::getCurrentBestNodeMapping</a></div><div class="ttdeci">static MappingPtr getCurrentBestNodeMapping(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00345">PointsTo.cpp:345</a></div></div>
1401
1401
  <div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
@@ -1610,20 +1610,20 @@ Additional Inherited Members</h2></td></tr>
1610
1610
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00048">48</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
1611
1611
  <div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">PointerAnalysis::initialize</a>();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a88f9752372eabb71f47f13a89e4d6d9c">FlowSensitiveStat</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// TODO: support clustered aux. Andersen&#39;s.</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<a class="code" href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">Options::ClusterAnder</a> &amp;&amp; <span class="stringliteral">&quot;FlowSensitive::initialize: clustering auxiliary Andersen&#39;s unsupported.&quot;</span>);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">ander</a> = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">AndersenWaveDiff::createAndersenWaveDiff</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>());</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// If cluster option is not set, it will give us a no-mapping points-to set.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!(<a class="code" href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">Options::ClusterFs</a> &amp;&amp; <a class="code" href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">Options::PlainMappingFs</a>)</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; &amp;&amp; <span class="stringliteral">&quot;FS::init: plain-mapping and cluster-fs are mutually exclusive.&quot;</span>);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">Options::ClusterFs</a>)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a89d3b97b8077027514135c9201c4d02c">cluster</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Reset the points-to cache although empty so the new mapping could</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// be applied to the inserted empty set.</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a34d87fa1988b78f032735b5fc2803792">getPtCache</a>().reset();</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">Options::PlainMappingFs</a>)</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b">plainMap</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// As above.</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a34d87fa1988b78f032735b5fc2803792">getPtCache</a>().reset();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// When evaluating ctir aliases, we want the whole SVFG.</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a> = <a class="code" href="classSVF_1_1Options.html#ad148549070b042aeddafca39ee949c77">Options::CTirAliasEval</a> ? <a class="code" href="classSVF_1_1FlowSensitive.html#a76f6f19ac2b58ab4a10a2d7e6e24e42a">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">buildFullSVFG</a>(<a class="code" href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">ander</a>) : <a class="code" href="classSVF_1_1FlowSensitive.html#a76f6f19ac2b58ab4a10a2d7e6e24e42a">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#ab7353191edd06568e2598177d253c1d9">buildPTROnlySVFG</a>(<a class="code" href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">ander</a>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a>(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">//AndersenWaveDiff::releaseAndersenWaveDiff();</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div><div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00250">FlowSensitive.h:250</a></div></div>
1612
1612
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a89d3b97b8077027514135c9201c4d02c"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a89d3b97b8077027514135c9201c4d02c">SVF::FlowSensitive::cluster</a></div><div class="ttdeci">virtual void cluster(void)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00788">FlowSensitive.cpp:788</a></div></div>
1613
- <div class="ttc" id="classSVF_1_1Options_html_a9dc372635fc6f5ea2d902fc5c49fca8a"><div class="ttname"><a href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">SVF::Options::ClusterFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterFs</div><div class="ttdoc">Whether to cluster FS or VFS with the auxiliary Andersen&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00043">Options.h:43</a></div></div>
1613
+ <div class="ttc" id="classSVF_1_1Options_html_a9dc372635fc6f5ea2d902fc5c49fca8a"><div class="ttname"><a href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">SVF::Options::ClusterFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterFs</div><div class="ttdoc">Whether to cluster FS or VFS with the auxiliary Andersen&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00044">Options.h:44</a></div></div>
1614
1614
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00052">SVFGBuilder.cpp:52</a></div></div>
1615
1615
  <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>
1616
1616
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a34d87fa1988b78f032735b5fc2803792"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a34d87fa1988b78f032735b5fc2803792">SVF::BVDataPTAImpl::getPtCache</a></div><div class="ttdeci">PersistentPointsToCache&lt; PointsTo &gt; &amp; getPtCache(void)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00079">PointerAnalysisImpl.h:79</a></div></div>
1617
- <div class="ttc" id="classSVF_1_1Options_html_ad148549070b042aeddafca39ee949c77"><div class="ttname"><a href="classSVF_1_1Options.html#ad148549070b042aeddafca39ee949c77">SVF::Options::CTirAliasEval</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; CTirAliasEval</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00238">Options.h:238</a></div></div>
1617
+ <div class="ttc" id="classSVF_1_1Options_html_ad148549070b042aeddafca39ee949c77"><div class="ttname"><a href="classSVF_1_1Options.html#ad148549070b042aeddafca39ee949c77">SVF::Options::CTirAliasEval</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; CTirAliasEval</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00239">Options.h:239</a></div></div>
1618
1618
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a88f9752372eabb71f47f13a89e4d6d9c"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a88f9752372eabb71f47f13a89e4d6d9c">SVF::FlowSensitive::FlowSensitiveStat</a></div><div class="ttdeci">friend class FlowSensitiveStat</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00051">FlowSensitive.h:51</a></div></div>
1619
1619
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_ab7353191edd06568e2598177d253c1d9"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#ab7353191edd06568e2598177d253c1d9">SVF::SVFGBuilder::buildPTROnlySVFG</a></div><div class="ttdeci">SVFG * buildPTROnlySVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00044">SVFGBuilder.cpp:44</a></div></div>
1620
1620
  <div class="ttc" id="classSVF_1_1WPASolver_html_aa04deb39cd024c051f30ac43d1d62b34"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">SVF::WPASolver::setGraph</a></div><div class="ttdeci">void setGraph(GraphType g)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00082">WPASolver.h:82</a></div></div>
1621
1621
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
1622
1622
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a5a8688102f3675cf414b01dc2ae51c6b"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b">SVF::FlowSensitive::plainMap</a></div><div class="ttdeci">virtual void plainMap(void) const</div><div class="ttdoc">Sets the global best mapping as a plain mapping, i.e. n -&gt; n. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00801">FlowSensitive.cpp:801</a></div></div>
1623
1623
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
1624
- <div class="ttc" id="classSVF_1_1Options_html_a75a38fff97f7f18f3945c953cabc168b"><div class="ttname"><a href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">SVF::Options::PlainMappingFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PlainMappingFs</div><div class="ttdoc">Use an explicitly plain mapping with flow-sensitive (not null). </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00046">Options.h:46</a></div></div>
1624
+ <div class="ttc" id="classSVF_1_1Options_html_a75a38fff97f7f18f3945c953cabc168b"><div class="ttname"><a href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">SVF::Options::PlainMappingFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PlainMappingFs</div><div class="ttdoc">Use an explicitly plain mapping with flow-sensitive (not null). </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00047">Options.h:47</a></div></div>
1625
1625
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00430">Andersen.h:430</a></div></div>
1626
- <div class="ttc" id="classSVF_1_1Options_html_a8459d43a21bcf8a50fc55d14fcf5a81e"><div class="ttname"><a href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&amp;#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00040">Options.h:40</a></div></div>
1626
+ <div class="ttc" id="classSVF_1_1Options_html_a8459d43a21bcf8a50fc55d14fcf5a81e"><div class="ttname"><a href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&amp;#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00041">Options.h:41</a></div></div>
1627
1627
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a5cfee013a1a5821ef0c449842dd8690d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">SVF::FlowSensitive::ander</a></div><div class="ttdeci">AndersenWaveDiff * ander</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00284">FlowSensitive.h:284</a></div></div>
1628
1628
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a76f6f19ac2b58ab4a10a2d7e6e24e42a"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a76f6f19ac2b58ab4a10a2d7e6e24e42a">SVF::FlowSensitive::memSSA</a></div><div class="ttdeci">SVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00283">FlowSensitive.h:283</a></div></div>
1629
1629
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a431ec4f85eb0f029e5740b92fd9ceb32"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">SVF::PointerAnalysis::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialization of a pointer analysis, including building symbol table and SVFIR etc. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00113">PointerAnalysis.cpp:113</a></div></div>
@@ -1713,7 +1713,7 @@ Additional Inherited Members</h2></td></tr>
1713
1713
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00801">801</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
1714
1714
  <div class="fragment"><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;{</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">Options::NodeAllocStrat</a> == NodeIDAllocator::Strategy::DENSE</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; &amp;&amp; <span class="stringliteral">&quot;FS::cluster: plain mapping requires dense allocation strategy.&quot;</span>);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> numObjects = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a2bd3ca30fc9669d9a0327544bdb4557b">NodeIDAllocator::get</a>()-&gt;<a class="code" href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89">getNumObjects</a>();</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">PointsTo::MappingPtr</a> plainMapping = std::make_shared&lt;std::vector&lt;NodeID&gt;&gt;(numObjects);</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">PointsTo::MappingPtr</a> reversePlainMapping = std::make_shared&lt;std::vector&lt;NodeID&gt;&gt;(numObjects);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i = 0; i &lt; plainMapping-&gt;size(); ++i)</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; {</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; plainMapping-&gt;at(i) = i;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; reversePlainMapping-&gt;at(i) = i;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; }</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">PointsTo::setCurrentBestNodeMapping</a>(plainMapping, reversePlainMapping);</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
1715
1715
  <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>
1716
- <div class="ttc" id="classSVF_1_1Options_html_a2537be131132830c63d408133619a065"><div class="ttname"><a href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">SVF::Options::NodeAllocStrat</a></div><div class="ttdeci">static const llvm::cl::opt&lt; SVF::NodeIDAllocator::Strategy &gt; NodeAllocStrat</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00034">Options.h:34</a></div></div>
1716
+ <div class="ttc" id="classSVF_1_1Options_html_a2537be131132830c63d408133619a065"><div class="ttname"><a href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">SVF::Options::NodeAllocStrat</a></div><div class="ttdeci">static const llvm::cl::opt&lt; SVF::NodeIDAllocator::Strategy &gt; NodeAllocStrat</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00035">Options.h:35</a></div></div>
1717
1717
  <div class="ttc" id="classSVF_1_1PointsTo_html_a849f670b38cb6f65fc23707a212591c7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">SVF::PointsTo::MappingPtr</a></div><div class="ttdeci">std::shared_ptr&lt; std::vector&lt; NodeID &gt; &gt; MappingPtr</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00041">PointsTo.h:41</a></div></div>
1718
1718
  <div class="ttc" id="classSVF_1_1NodeIDAllocator_html_ad63e43c65cb7d7cac7824f5cede5ec89"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89">SVF::NodeIDAllocator::getNumObjects</a></div><div class="ttdeci">NodeID getNumObjects(void) const</div><div class="ttdoc">Returns the total number of memory objects. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00077">NodeIDAllocator.h:77</a></div></div>
1719
1719
  <div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a2bd3ca30fc9669d9a0327544bdb4557b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a2bd3ca30fc9669d9a0327544bdb4557b">SVF::NodeIDAllocator::get</a></div><div class="ttdeci">static NodeIDAllocator * get(void)</div><div class="ttdoc">Return (singleton) allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00025">NodeIDAllocator.cpp:25</a></div></div>
@@ -993,8 +993,8 @@ Additional Inherited Members</h2></td></tr>
993
993
  <div class="fragment"><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; : <a class="code" href="classSVF_1_1FlowSensitive.html#aac88b67b49cbd72912ff586d30197ffb">FlowSensitive</a>(_pag, type), <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#af4d0abf53755a070478c142add3322d8">TypeBasedHeapCloning</a>(<span class="keyword">this</span>)</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">// Using `this` as the argument for TypeBasedHeapCloning is okay. As PointerAnalysis, it&#39;s</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="comment">// already constructed. TypeBasedHeapCloning also doesn&#39;t use pta in the constructor so it</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// just needs to be allocated, which it is.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#a734e01c66832346c61d4cda38db84f4a">allReuse</a> = <a class="code" href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">Options::TBHCAllReuse</a>;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#ac7ed9100533dc399c71cdf017bfa2462">storeReuse</a> = <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#a734e01c66832346c61d4cda38db84f4a">allReuse</a> || <a class="code" href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">Options::TBHCStoreReuse</a>;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;}</div><div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_af4d0abf53755a070478c142add3322d8"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#af4d0abf53755a070478c142add3322d8">SVF::TypeBasedHeapCloning::TypeBasedHeapCloning</a></div><div class="ttdeci">TypeBasedHeapCloning(BVDataPTAImpl *pta)</div><div class="ttdoc">Constructor. pta is the pointer analysis using this object (i.e. that which is extending). </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00021">TypeBasedHeapCloning.cpp:21</a></div></div>
994
994
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_ac7ed9100533dc399c71cdf017bfa2462"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#ac7ed9100533dc399c71cdf017bfa2462">SVF::FlowSensitiveTBHC::storeReuse</a></div><div class="ttdeci">bool storeReuse</div><div class="ttdoc">Whether to allow for reuse at stores. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8h_source.html#l00109">FlowSensitiveTBHC.h:109</a></div></div>
995
995
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aac88b67b49cbd72912ff586d30197ffb"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aac88b67b49cbd72912ff586d30197ffb">SVF::FlowSensitive::FlowSensitive</a></div><div class="ttdeci">FlowSensitive(SVFIR *_pag, PTATY type=FSSPARSE_WPA)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00061">FlowSensitive.h:61</a></div></div>
996
- <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
997
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
996
+ <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
997
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
998
998
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a734e01c66832346c61d4cda38db84f4a"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a734e01c66832346c61d4cda38db84f4a">SVF::FlowSensitiveTBHC::allReuse</a></div><div class="ttdeci">bool allReuse</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8h_source.html#l00112">FlowSensitiveTBHC.h:112</a></div></div>
999
999
  </div><!-- fragment -->
1000
1000
  </div>
@@ -1644,10 +1644,10 @@ Additional Inherited Members</h2></td></tr>
1644
1644
  <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00125">PointsTo.cpp:125</a></div></div>
1645
1645
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a6363466e64eee4405806568d26206d2e"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">SVF::TypeBasedHeapCloning::undefType</a></div><div class="ttdeci">static const DIType * undefType</div><div class="ttdoc">The undefined type (•); void. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00027">TypeBasedHeapCloning.h:27</a></div></div>
1646
1646
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a465e67781977e83526df7e36d576e539"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a465e67781977e83526df7e36d576e539">SVF::TypeBasedHeapCloning::dchg</a></div><div class="ttdeci">DCHGraph * dchg</div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00047">TypeBasedHeapCloning.h:47</a></div></div>
1647
- <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
1647
+ <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1648
1648
  <div class="ttc" id="classSVF_1_1DCHGraph_html_a9d2be5aec5216cbc1d1709b41f79c44b"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a9d2be5aec5216cbc1d1709b41f79c44b">SVF::DCHGraph::isAgg</a></div><div class="ttdeci">static bool isAgg(const DIType *t)</div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8cpp_source.html#l00342">DCHG.cpp:342</a></div></div>
1649
1649
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_ad5b294dacf51a89306df9a22c6799bad"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#ad5b294dacf51a89306df9a22c6799bad">SVF::FlowSensitiveTBHC::gepIsLoad</a></div><div class="ttdeci">bool gepIsLoad(NodeID gep)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00608">FlowSensitiveTBHC.cpp:608</a></div></div>
1650
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1650
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
1651
1651
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1652
1652
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
1653
1653
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00357">PointerAnalysis.h:357</a></div></div>
@@ -1707,7 +1707,7 @@ Additional Inherited Members</h2></td></tr>
1707
1707
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a4dd7615f42971da9b6ec1dc04f0ec4e6"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a4dd7615f42971da9b6ec1dc04f0ec4e6">SVF::StmtVFGNode::getPAGEdge</a></div><div class="ttdeci">const PAGEdge * getPAGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00136">VFGNode.h:136</a></div></div>
1708
1708
  <div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00395">SVFIR.h:395</a></div></div>
1709
1709
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a6363466e64eee4405806568d26206d2e"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">SVF::TypeBasedHeapCloning::undefType</a></div><div class="ttdeci">static const DIType * undefType</div><div class="ttdoc">The undefined type (•); void. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00027">TypeBasedHeapCloning.h:27</a></div></div>
1710
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1710
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
1711
1711
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1712
1712
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
1713
1713
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_ad53c6aebdcfa9fa334ccff4c68efa8ae"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#ad53c6aebdcfa9fa334ccff4c68efa8ae">SVF::FlowSensitiveTBHC::unionPtsFromIn</a></div><div class="ttdeci">virtual bool unionPtsFromIn(const SVFGNode *stmt, NodeID srcVar, NodeID dstVar) override</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00548">FlowSensitiveTBHC.cpp:548</a></div></div>
@@ -1806,9 +1806,9 @@ Additional Inherited Members</h2></td></tr>
1806
1806
  <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00125">PointsTo.cpp:125</a></div></div>
1807
1807
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a6363466e64eee4405806568d26206d2e"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">SVF::TypeBasedHeapCloning::undefType</a></div><div class="ttdeci">static const DIType * undefType</div><div class="ttdoc">The undefined type (•); void. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00027">TypeBasedHeapCloning.h:27</a></div></div>
1808
1808
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ab492c283e2264b4cbd4c192e805b7750"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ab492c283e2264b4cbd4c192e805b7750">SVF::FlowSensitive::weakUpdateOutFromIn</a></div><div class="ttdeci">virtual bool weakUpdateOutFromIn(const SVFGNode *node)</div><div class="ttdoc">Handle weak updates. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00162">FlowSensitive.h:162</a></div></div>
1809
- <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
1809
+ <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1810
1810
  <div class="ttc" id="classSVF_1_1DFPTData_html_a7e4ae809b40d55448de0103746254158"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a7e4ae809b40d55448de0103746254158">SVF::DFPTData::updateAllDFOutFromIn</a></div><div class="ttdeci">virtual bool updateAllDFOutFromIn(LocID loc, const Key &amp;singleton, bool strongUpdates)=0</div><div class="ttdoc">For each variable var in IN at loc, do updateDFOutFromIn(loc, var, loc, var). </div></div>
1811
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1811
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
1812
1812
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1813
1813
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
1814
1814
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>