svf-tools 1.0.481 → 1.0.482

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 (337) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +1 -1
  4. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +8 -8
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -6
  7. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +7 -7
  11. package/SVF-doxygen/html/html/CHG_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +14 -15
  13. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +14 -14
  14. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +13 -13
  16. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  17. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +8 -8
  19. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
  20. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
  21. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +6 -6
  23. package/SVF-doxygen/html/html/ExeState_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +4 -4
  26. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +12 -12
  27. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/FlowSensitive_8cpp.html +0 -1
  29. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +32 -38
  30. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +66 -67
  31. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  32. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +6 -6
  33. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -7
  35. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -6
  39. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +5 -5
  40. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/Options_8cpp_source.html +17 -21
  42. package/SVF-doxygen/html/html/Options_8h_source.html +13 -16
  43. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  44. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +5 -5
  45. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +21 -22
  47. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +17 -17
  48. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +0 -1
  49. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +64 -69
  50. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +109 -110
  51. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  53. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  54. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +12 -12
  56. package/SVF-doxygen/html/html/SVFIR_8h_source.html +9 -9
  57. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +26 -32
  58. package/SVF-doxygen/html/html/SVFVariables_8h.html +0 -6
  59. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +109 -130
  60. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
  62. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  66. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +5 -5
  67. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  68. package/SVF-doxygen/html/html/VFG_8cpp_source.html +9 -9
  69. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +16 -16
  71. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
  72. package/SVF-doxygen/html/html/WPAPass_8cpp.html +0 -1
  73. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +16 -19
  74. package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
  75. package/SVF-doxygen/html/html/annotated.html +248 -253
  76. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  77. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  79. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +173 -174
  80. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +27 -29
  81. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +146 -147
  82. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +17 -19
  83. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +185 -186
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +7 -8
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +189 -190
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +6 -7
  87. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +180 -181
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +8 -9
  89. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +182 -183
  90. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -12
  91. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +185 -186
  92. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +8 -9
  93. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +11 -11
  94. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +177 -178
  95. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +8 -9
  96. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +4 -4
  97. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +103 -104
  98. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +42 -48
  99. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  100. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  101. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +73 -74
  102. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +13 -14
  103. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +13 -13
  105. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +3 -3
  106. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  107. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +94 -95
  108. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +26 -28
  109. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +163 -164
  110. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +33 -35
  111. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
  112. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  113. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +15 -15
  114. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +5 -5
  115. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
  116. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +72 -75
  117. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +16 -27
  118. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
  119. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +70 -73
  120. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +17 -20
  121. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +6 -6
  122. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +72 -75
  123. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +18 -29
  124. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
  125. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +112 -114
  126. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +12 -15
  127. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +163 -164
  128. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +25 -27
  129. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +106 -108
  130. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +234 -314
  131. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.png +0 -0
  132. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +43 -43
  133. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +4 -4
  136. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +77 -80
  137. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +38 -49
  138. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.png +0 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +73 -76
  140. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +28 -31
  141. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +9 -9
  142. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  145. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +44 -45
  147. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +4 -45
  148. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +14 -14
  150. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +8 -8
  154. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +71 -74
  156. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +30 -42
  157. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +104 -107
  159. package/SVF-doxygen/html/html/classSVF_1_1Options.html +13 -94
  160. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +3 -3
  161. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  162. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +5 -5
  163. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +69 -70
  165. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +302 -319
  166. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  167. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +70 -73
  168. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +18 -21
  169. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +5 -5
  170. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +2 -2
  171. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +18 -18
  172. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +73 -76
  174. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +84 -99
  175. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  176. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +8 -8
  178. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -3
  179. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +157 -158
  180. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -7
  181. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +4 -4
  182. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  183. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +150 -151
  184. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +21 -23
  185. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +9 -9
  187. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +69 -72
  188. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +23 -26
  189. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +70 -73
  190. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +18 -21
  191. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +125 -127
  192. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +44 -48
  193. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +31 -31
  194. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +6 -7
  195. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.png +0 -0
  196. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +38 -40
  197. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +17 -15
  198. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.png +0 -0
  199. package/SVF-doxygen/html/html/classes.html +104 -105
  200. package/SVF-doxygen/html/html/dir_66541c162fd98954e2c32089ba9a721f.html +0 -4
  201. package/SVF-doxygen/html/html/dir_ea25a8a5b2904424d8a51916f8b475b2.html +0 -4
  202. package/SVF-doxygen/html/html/files.html +12 -16
  203. package/SVF-doxygen/html/html/functions_0x7e.html +0 -6
  204. package/SVF-doxygen/html/html/functions_a.html +8 -30
  205. package/SVF-doxygen/html/html/functions_b.html +8 -12
  206. package/SVF-doxygen/html/html/functions_c.html +24 -54
  207. package/SVF-doxygen/html/html/functions_d.html +1 -13
  208. package/SVF-doxygen/html/html/functions_e.html +1 -2
  209. package/SVF-doxygen/html/html/functions_eval_c.html +0 -9
  210. package/SVF-doxygen/html/html/functions_eval_f.html +0 -3
  211. package/SVF-doxygen/html/html/functions_f.html +19 -24
  212. package/SVF-doxygen/html/html/functions_func.html +6 -25
  213. package/SVF-doxygen/html/html/functions_func_0x7e.html +0 -6
  214. package/SVF-doxygen/html/html/functions_func_b.html +1 -5
  215. package/SVF-doxygen/html/html/functions_func_c.html +20 -37
  216. package/SVF-doxygen/html/html/functions_func_d.html +0 -6
  217. package/SVF-doxygen/html/html/functions_func_e.html +2 -3
  218. package/SVF-doxygen/html/html/functions_func_f.html +1 -5
  219. package/SVF-doxygen/html/html/functions_func_g.html +8 -48
  220. package/SVF-doxygen/html/html/functions_func_i.html +5 -15
  221. package/SVF-doxygen/html/html/functions_func_p.html +2 -16
  222. package/SVF-doxygen/html/html/functions_func_s.html +6 -19
  223. package/SVF-doxygen/html/html/functions_func_t.html +0 -6
  224. package/SVF-doxygen/html/html/functions_func_u.html +0 -4
  225. package/SVF-doxygen/html/html/functions_func_v.html +0 -3
  226. package/SVF-doxygen/html/html/functions_g.html +12 -55
  227. package/SVF-doxygen/html/html/functions_i.html +11 -21
  228. package/SVF-doxygen/html/html/functions_l.html +8 -14
  229. package/SVF-doxygen/html/html/functions_m.html +0 -6
  230. package/SVF-doxygen/html/html/functions_n.html +0 -36
  231. package/SVF-doxygen/html/html/functions_o.html +12 -20
  232. package/SVF-doxygen/html/html/functions_p.html +9 -31
  233. package/SVF-doxygen/html/html/functions_s.html +15 -31
  234. package/SVF-doxygen/html/html/functions_t.html +8 -18
  235. package/SVF-doxygen/html/html/functions_u.html +2 -9
  236. package/SVF-doxygen/html/html/functions_v.html +7 -10
  237. package/SVF-doxygen/html/html/functions_vars_a.html +0 -3
  238. package/SVF-doxygen/html/html/functions_vars_c.html +0 -6
  239. package/SVF-doxygen/html/html/functions_vars_d.html +0 -6
  240. package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
  241. package/SVF-doxygen/html/html/functions_vars_l.html +0 -6
  242. package/SVF-doxygen/html/html/functions_vars_m.html +0 -6
  243. package/SVF-doxygen/html/html/functions_vars_n.html +0 -36
  244. package/SVF-doxygen/html/html/functions_vars_o.html +0 -12
  245. package/SVF-doxygen/html/html/functions_vars_p.html +0 -4
  246. package/SVF-doxygen/html/html/functions_vars_s.html +0 -3
  247. package/SVF-doxygen/html/html/functions_vars_t.html +0 -6
  248. package/SVF-doxygen/html/html/functions_vars_u.html +0 -3
  249. package/SVF-doxygen/html/html/functions_w.html +10 -6
  250. package/SVF-doxygen/html/html/globals_func_g.html +0 -3
  251. package/SVF-doxygen/html/html/globals_func_i.html +2 -7
  252. package/SVF-doxygen/html/html/globals_g.html +2 -5
  253. package/SVF-doxygen/html/html/globals_i.html +4 -7
  254. package/SVF-doxygen/html/html/globals_r.html +3 -3
  255. package/SVF-doxygen/html/html/globals_s.html +9 -7
  256. package/SVF-doxygen/html/html/hierarchy.html +13 -19
  257. package/SVF-doxygen/html/html/namespaceSVF.html +0 -10
  258. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +36 -38
  259. package/SVF-doxygen/html/html/search/all_1.js +1 -8
  260. package/SVF-doxygen/html/html/search/all_10.js +19 -21
  261. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  262. package/SVF-doxygen/html/html/search/all_13.js +12 -17
  263. package/SVF-doxygen/html/html/search/all_14.js +8 -12
  264. package/SVF-doxygen/html/html/search/all_15.js +5 -6
  265. package/SVF-doxygen/html/html/search/all_16.js +4 -5
  266. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  267. package/SVF-doxygen/html/html/search/all_1b.js +0 -2
  268. package/SVF-doxygen/html/html/search/all_2.js +0 -1
  269. package/SVF-doxygen/html/html/search/all_3.js +2 -11
  270. package/SVF-doxygen/html/html/search/all_4.js +0 -4
  271. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  272. package/SVF-doxygen/html/html/search/all_6.js +2 -6
  273. package/SVF-doxygen/html/html/search/all_7.js +3 -16
  274. package/SVF-doxygen/html/html/search/all_9.js +5 -8
  275. package/SVF-doxygen/html/html/search/all_c.js +4 -6
  276. package/SVF-doxygen/html/html/search/all_d.js +4 -6
  277. package/SVF-doxygen/html/html/search/all_e.js +3 -15
  278. package/SVF-doxygen/html/html/search/all_f.js +0 -4
  279. package/SVF-doxygen/html/html/search/classes_10.js +1 -2
  280. package/SVF-doxygen/html/html/search/classes_2.js +0 -3
  281. package/SVF-doxygen/html/html/search/classes_5.js +0 -1
  282. package/SVF-doxygen/html/html/search/enumvalues_2.js +0 -3
  283. package/SVF-doxygen/html/html/search/enumvalues_5.js +0 -1
  284. package/SVF-doxygen/html/html/search/files_5.js +0 -2
  285. package/SVF-doxygen/html/html/search/files_e.js +1 -3
  286. package/SVF-doxygen/html/html/search/functions_0.js +1 -7
  287. package/SVF-doxygen/html/html/search/functions_1.js +0 -1
  288. package/SVF-doxygen/html/html/search/functions_11.js +2 -6
  289. package/SVF-doxygen/html/html/search/functions_12.js +2 -3
  290. package/SVF-doxygen/html/html/search/functions_13.js +4 -4
  291. package/SVF-doxygen/html/html/search/functions_14.js +0 -1
  292. package/SVF-doxygen/html/html/search/functions_17.js +0 -2
  293. package/SVF-doxygen/html/html/search/functions_2.js +2 -6
  294. package/SVF-doxygen/html/html/search/functions_3.js +0 -2
  295. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  296. package/SVF-doxygen/html/html/search/functions_5.js +1 -2
  297. package/SVF-doxygen/html/html/search/functions_6.js +3 -15
  298. package/SVF-doxygen/html/html/search/functions_8.js +4 -7
  299. package/SVF-doxygen/html/html/search/functions_f.js +12 -13
  300. package/SVF-doxygen/html/html/search/variables_1.js +0 -1
  301. package/SVF-doxygen/html/html/search/variables_10.js +1 -2
  302. package/SVF-doxygen/html/html/search/variables_13.js +0 -1
  303. package/SVF-doxygen/html/html/search/variables_14.js +3 -5
  304. package/SVF-doxygen/html/html/search/variables_15.js +1 -2
  305. package/SVF-doxygen/html/html/search/variables_3.js +0 -2
  306. package/SVF-doxygen/html/html/search/variables_4.js +0 -2
  307. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  308. package/SVF-doxygen/html/html/search/variables_7.js +0 -1
  309. package/SVF-doxygen/html/html/search/variables_c.js +1 -3
  310. package/SVF-doxygen/html/html/search/variables_d.js +1 -3
  311. package/SVF-doxygen/html/html/search/variables_e.js +2 -14
  312. package/SVF-doxygen/html/html/search/variables_f.js +0 -4
  313. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  314. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  315. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  316. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
  317. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +4 -4
  318. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  319. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  320. package/build.sh +1 -28
  321. package/include/MemoryModel/PointerAnalysis.h +0 -1
  322. package/include/MemoryModel/SVFVariables.h +11 -140
  323. package/include/SVF-FE/LLVMModule.h +0 -24
  324. package/include/Util/Options.h +0 -7
  325. package/include/WPA/FlowSensitive.h +0 -4
  326. package/lib/MemoryModel/PointerAnalysis.cpp +4 -22
  327. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  328. package/lib/MemoryModel/SVFVariables.cpp +1 -28
  329. package/lib/SVF-FE/CPPUtil.cpp +0 -7
  330. package/lib/Util/Options.cpp +0 -24
  331. package/lib/WPA/FlowSensitive.cpp +1 -75
  332. package/lib/WPA/WPAPass.cpp +0 -4
  333. package/package.json +1 -1
  334. package/include/WPA/FlowSensitiveTBHC.h +0 -122
  335. package/include/WPA/TypeBasedHeapCloning.h +0 -188
  336. package/lib/WPA/FlowSensitiveTBHC.cpp +0 -695
  337. package/lib/WPA/TypeBasedHeapCloning.cpp +0 -795
@@ -121,21 +121,20 @@ Public Types</h2></td></tr>
121
121
  <br />
122
122
  &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322">FSDATAFLOW_WPA</a>,
123
123
  <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">FSSPARSE_WPA</a>,
124
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a088dda60195ab259693977af8414f203">FSTBHC_WPA</a>,
125
124
  <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>,
125
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">FSCS_WPA</a>,
126
126
  <br />
127
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">FSCS_WPA</a>,
128
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">CFLFICI_WPA</a>,
127
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">CFLFICI_WPA</a>,
129
128
  <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc">CFLFSCI_WPA</a>,
130
129
  <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">CFLFSCS_WPA</a>,
130
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a>,
131
131
  <br />
132
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a>,
133
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">FieldS_DDA</a>,
132
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">FieldS_DDA</a>,
134
133
  <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">FlowS_DDA</a>,
135
134
  <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a>,
135
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>,
136
136
  <br />
137
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>,
138
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a>
137
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a>
139
138
  <br />
140
139
  }<tr class="memdesc:a0b182ac680cce0547dbe7714c870ca85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer analysis type list. <a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">More...</a><br /></td></tr>
141
140
  </td></tr>
@@ -688,16 +687,16 @@ template&lt;class Cond&gt; </div>
688
687
 
689
688
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00260">260</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
690
689
  <div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; : <a class="code" href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">PointerAnalysis</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a>(<span class="keyword">false</span>)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a> || <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>)</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;no points-to data available&quot;</span>);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><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>
691
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a14e2a209cb594f91a24ef09b12f82f3f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">SVF::PointerAnalysis::PointerAnalysis</a></div><div class="ttdeci">PointerAnalysis(SVFIR *pag, PTATY ty=Default_PTA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00076">PointerAnalysis.cpp:76</a></div></div>
690
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a14e2a209cb594f91a24ef09b12f82f3f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">SVF::PointerAnalysis::PointerAnalysis</a></div><div class="ttdeci">PointerAnalysis(SVFIR *pag, PTATY ty=Default_PTA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00075">PointerAnalysis.cpp:75</a></div></div>
692
691
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00466">PointerAnalysisImpl.h:466</a></div></div>
693
- <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>
692
+ <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#l00090">PointerAnalysis.h:90</a></div></div>
694
693
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00464">PointerAnalysisImpl.h:464</a></div></div>
695
694
  <div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
696
695
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData&lt; CVar, Set&lt; CVar &gt;, CVar, CPtSet &gt; MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00254">PointerAnalysisImpl.h:254</a></div></div>
697
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00102">PointerAnalysis.h:102</a></div></div>
698
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5d3c3094e263bf16a4f312a118c1bd36"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">SVF::PointerAnalysis::ptaImplTy</a></div><div class="ttdeci">PTAImplTy ptaImplTy</div><div class="ttdoc">PTA implementation type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00153">PointerAnalysis.h:153</a></div></div>
699
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00090">PointerAnalysis.h:90</a></div></div>
700
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
696
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00101">PointerAnalysis.h:101</a></div></div>
697
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5d3c3094e263bf16a4f312a118c1bd36"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">SVF::PointerAnalysis::ptaImplTy</a></div><div class="ttdeci">PTAImplTy ptaImplTy</div><div class="ttdoc">PTA implementation type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00152">PointerAnalysis.h:152</a></div></div>
698
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00089">PointerAnalysis.h:89</a></div></div>
699
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
701
700
  </div><!-- fragment -->
702
701
  </div>
703
702
  </div>
@@ -818,7 +817,7 @@ template&lt;class Cond&gt; </div>
818
817
 
819
818
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00507">507</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
820
819
  <div class="fragment"><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a171918ada9b679b0114b27476caa5ee6">alias</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V1),<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V2));</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="ttc" id="classSVF_1_1IRGraph_html_abffddd41cc308b9b3bd5ad4a7f8f1624"><div class="ttname"><a href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00124">IRGraph.h:124</a></div></div>
821
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
820
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
822
821
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a171918ada9b679b0114b27476caa5ee6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a171918ada9b679b0114b27476caa5ee6">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00507">PointerAnalysisImpl.h:507</a></div></div>
823
822
  </div><!-- fragment -->
824
823
  </div>
@@ -954,11 +953,11 @@ template&lt;class Cond&gt; </div>
954
953
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00522">522</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
955
954
  <div class="fragment"><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts1;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts1,cpts1);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts2;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts2,cpts2);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">containBlackHoleNode</a>(cpts1) || <a class="code" href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">containBlackHoleNode</a>(cpts2))</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">getAnalysisTy</a>()==<a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a> &amp;&amp; <a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts1,cpts2) &amp;&amp; <a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts2,cpts1))</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">AliasResult::MustAlias</a>;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8">overlap</a>(cpts1,cpts2))</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a87b48287d7edb97fc120200fe0e5218d"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">SVF::CondPTAImpl::expandFIObjs</a></div><div class="ttdeci">void expandFIObjs(const CPtSet &amp;cpts, CPtSet &amp;expandedCpts)</div><div class="ttdoc">Expand all fields of an aggregate in all points-to sets. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00346">PointerAnalysisImpl.h:346</a></div></div>
956
955
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a3f2f48fc122c07ff9eb1382aa7a3f966"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">SVF::CondPTAImpl::CPtSet</a></div><div class="ttdeci">CondStdSet&lt; CVar &gt; CPtSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00252">PointerAnalysisImpl.h:252</a></div></div>
957
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac23f71c1307cda9cba44acc40059f0a3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">SVF::PointerAnalysis::getAnalysisTy</a></div><div class="ttdeci">PTATY getAnalysisTy() const</div><div class="ttdoc">Type of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00193">PointerAnalysis.h:193</a></div></div>
956
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac23f71c1307cda9cba44acc40059f0a3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">SVF::PointerAnalysis::getAnalysisTy</a></div><div class="ttdeci">PTATY getAnalysisTy() const</div><div class="ttdoc">Type of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00192">PointerAnalysis.h:192</a></div></div>
958
957
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_adf0acbb0c605278e43d88787d651bbd8"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8">SVF::CondPTAImpl::overlap</a></div><div class="ttdeci">bool overlap(const CPtSet &amp;cpts1, const CPtSet &amp;cpts2) const</div><div class="ttdoc">Whether cpts1 and cpts2 have overlap points-to targets. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00332">PointerAnalysisImpl.h:332</a></div></div>
959
958
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">SVF::MayAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00198">SVFBasicTypes.h:198</a></div></div>
960
959
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5af00bb26800882ab96c470ee9fc4632"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">SVF::CondPTAImpl::contains</a></div><div class="ttdeci">bool contains(const CPtSet &amp;cpts1, const CPtSet &amp;cpts2)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00407">PointerAnalysisImpl.h:407</a></div></div>
961
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00090">PointerAnalysis.h:90</a></div></div>
960
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00089">PointerAnalysis.h:89</a></div></div>
962
961
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a8cd7b08bd978513cb0faacc47bbaf578"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">SVF::CondPTAImpl::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const CPtSet &amp;cpts)</div><div class="ttdoc">Test blk node for cpts. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00540">PointerAnalysisImpl.h:540</a></div></div>
963
962
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00197">SVFBasicTypes.h:197</a></div></div>
964
963
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">SVF::MustAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00199">SVFBasicTypes.h:199</a></div></div>
@@ -992,7 +991,7 @@ template&lt;class Cond&gt; </div>
992
991
  </div><div class="memdoc">
993
992
 
994
993
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00276">276</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
995
- <div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> pta-&gt;getImplTy() == <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00102">PointerAnalysis.h:102</a></div></div>
994
+ <div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> pta-&gt;getImplTy() == <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00101">PointerAnalysis.h:101</a></div></div>
996
995
  </div><!-- fragment -->
997
996
  </div>
998
997
  </div>
@@ -1059,7 +1058,7 @@ template&lt;class Cond&gt; </div>
1059
1058
 
1060
1059
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00540">540</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1061
1060
  <div class="fragment"><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">if</span>(cit-&gt;get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">getBlackHoleNode</a>())</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; }</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; }</div><div class="ttc" id="classSVF_1_1IRGraph_html_a3ce34b9fcb651689bce44ab48fbcdff0"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">SVF::IRGraph::getBlackHoleNode</a></div><div class="ttdeci">NodeID getBlackHoleNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00148">IRGraph.h:148</a></div></div>
1062
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
1061
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
1063
1062
  <div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet&lt; Element &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00136">ConditionalPT.h:136</a></div></div>
1064
1063
  </div><!-- fragment -->
1065
1064
  </div>
@@ -1094,7 +1093,7 @@ template&lt;class Cond&gt; </div>
1094
1093
 
1095
1094
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00550">550</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1096
1095
  <div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; {</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; {</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">if</span>(cit-&gt;get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">getConstantNode</a>())</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; }</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; }</div><div class="ttc" id="classSVF_1_1IRGraph_html_ac5da3a0cbe040a45d719b6f6a23aed91"><div class="ttname"><a href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">SVF::IRGraph::getConstantNode</a></div><div class="ttdeci">NodeID getConstantNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00152">IRGraph.h:152</a></div></div>
1097
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
1096
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
1098
1097
  <div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet&lt; Element &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00136">ConditionalPT.h:136</a></div></div>
1099
1098
  </div><!-- fragment -->
1100
1099
  </div>
@@ -1238,10 +1237,10 @@ template&lt;class Cond&gt; </div>
1238
1237
  <p>Reimplemented from <a class="el" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">SVF::PointerAnalysis</a>.</p>
1239
1238
 
1240
1239
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00563">563</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1241
- <div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">for</span> (OrderedNodeSet::iterator nIter = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().begin(); nIter != this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().end(); ++nIter)</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; {</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a>* node = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*nIter);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;isValidTopLevelPtr(node))</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjVar&gt;(node))</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;Blackhole or constant&gt; id:&quot;</span> &lt;&lt; node-&gt;getId();</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(node))</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;&quot;</span> &lt;&lt; node-&gt;getValue()-&gt;getName().str() &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">//SVFUtil::outs() &lt;&lt; &quot;Source Loc: &quot; &lt;&lt; SVFUtil::getSourceLoc(node-&gt;getValue());</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keyword">const</span> PointsTo&amp; pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(node-&gt;getId());</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nNodeID &quot;</span> &lt;&lt; node-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">if</span> (pts.empty())</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: {empty}\n\n&quot;</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: { &quot;</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">PointsTo::iterator</a> it = pts.begin(), eit = pts.end(); it != eit; ++it)</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;}\n\n&quot;</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a60b111647e000cc983aa52513f90afbc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">SVF::PointerAnalysis::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet &amp; getAllValidPtrs()</div><div class="ttdoc">Get all Valid Pointers for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00223">PointerAnalysis.h:223</a></div></div>
1240
+ <div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">for</span> (OrderedNodeSet::iterator nIter = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().begin(); nIter != this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().end(); ++nIter)</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; {</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a>* node = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*nIter);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;isValidTopLevelPtr(node))</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjVar&gt;(node))</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;Blackhole or constant&gt; id:&quot;</span> &lt;&lt; node-&gt;getId();</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(node))</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;&quot;</span> &lt;&lt; node-&gt;getValue()-&gt;getName().str() &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">//SVFUtil::outs() &lt;&lt; &quot;Source Loc: &quot; &lt;&lt; SVFUtil::getSourceLoc(node-&gt;getValue());</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keyword">const</span> PointsTo&amp; pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(node-&gt;getId());</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nNodeID &quot;</span> &lt;&lt; node-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">if</span> (pts.empty())</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: {empty}\n\n&quot;</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: { &quot;</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">PointsTo::iterator</a> it = pts.begin(), eit = pts.end(); it != eit; ++it)</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;}\n\n&quot;</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a60b111647e000cc983aa52513f90afbc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">SVF::PointerAnalysis::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet &amp; getAllValidPtrs()</div><div class="ttdoc">Get all Valid Pointers for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00222">PointerAnalysis.h:222</a></div></div>
1242
1241
  <div class="ttc" id="namespaceSVF_html_a733b44f64a95e6e13e7379120d7a3eea"><div class="ttname"><a href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">SVF::PAGNode</a></div><div class="ttdeci">SVFVar PAGNode</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00042">IRGraph.h:42</a></div></div>
1243
1242
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet &amp; getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00315">PointerAnalysisImpl.h:315</a></div></div>
1244
- <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#l00206">PointerAnalysis.h:206</a></div></div>
1243
+ <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>
1245
1244
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1246
1245
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab0493cc85f97abeea5b86dee488e5a7f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">SVF::PointsTo::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00039">PointsTo.h:39</a></div></div>
1247
1246
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00391">GenericGraph.h:391</a></div></div>
@@ -1290,7 +1289,7 @@ template&lt;class Cond&gt; </div>
1290
1289
  <div class="fragment"><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; expandedCpts = cpts;;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(cit-&gt;get_id())==cit-&gt;get_id())</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; fields = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(cit-&gt;get_id());</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">for</span>(NodeBS::iterator it = fields.begin(), eit = fields.end(); it!=eit; ++it)</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af71b4ec9844701582d997466c2e4d94f">CVar</a> cvar(cit-&gt;get_cond(),*it);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; expandedCpts.set(cvar);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00409">SVFIR.h:409</a></div></div>
1291
1290
  <div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS &amp; getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00480">SVFIR.cpp:480</a></div></div>
1292
1291
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
1293
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
1292
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
1294
1293
  <div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet&lt; Element &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00136">ConditionalPT.h:136</a></div></div>
1295
1294
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_af71b4ec9844701582d997466c2e4d94f"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af71b4ec9844701582d997466c2e4d94f">SVF::CondPTAImpl::CVar</a></div><div class="ttdeci">CondVar&lt; Cond &gt; CVar</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00251">PointerAnalysisImpl.h:251</a></div></div>
1296
1295
  </div><!-- fragment -->
@@ -1310,7 +1309,6 @@ template&lt;class Cond&gt; </div>
1310
1309
  <tr>
1311
1310
  <td class="memname">virtual void <a class="el" href="classSVF_1_1CondPTAImpl.html">SVF::CondPTAImpl</a>&lt; Cond &gt;::finalize </td>
1312
1311
  <td>(</td>
1313
- <td class="paramtype">void&#160;</td>
1314
1312
  <td class="paramname"></td><td>)</td>
1315
1313
  <td></td>
1316
1314
  </tr>
@@ -1329,7 +1327,7 @@ template&lt;class Cond&gt; </div>
1329
1327
  <p>Reimplemented in <a class="el" href="classSVF_1_1ContextDDA.html#ae34cd06ee3b7d763c81ec418af76d244">SVF::ContextDDA</a>.</p>
1330
1328
 
1331
1329
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00366">366</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1332
- <div class="fragment"><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">normalizePointsTo</a>();</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><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#l00206">PointerAnalysis.cpp:206</a></div></div>
1330
+ <div class="fragment"><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">normalizePointsTo</a>();</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><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#l00195">PointerAnalysis.cpp:195</a></div></div>
1333
1331
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_aa945d068c8935fc6926833fdf102e21c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">SVF::CondPTAImpl::normalizePointsTo</a></div><div class="ttdeci">virtual void normalizePointsTo()</div><div class="ttdoc">Normalize points-to information to BitVector/conditional representation. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00442">PointerAnalysisImpl.h:442</a></div></div>
1334
1332
  </div><!-- fragment -->
1335
1333
  </div>
@@ -1759,8 +1757,8 @@ template&lt;class Cond&gt; </div>
1759
1757
 
1760
1758
  <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00430">430</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1761
1759
  <div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">if</span>(var1.get_id() != var2.get_id())</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordtype">bool</span> singleton = !(<a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(var1.get_id()) || <a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(var1.get_id()));</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">isCondCompatible</a>(var1.get_cond(),var2.get_cond(),singleton);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a6b746c30161c7dab86510895e0032935"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">SVF::CondPTAImpl::isCondCompatible</a></div><div class="ttdeci">virtual bool isCondCompatible(const Cond &amp;cxt1, const Cond &amp;cxt2, bool singleton) const =0</div><div class="ttdoc">Whether two conditions are compatible (to be implemented by child class) </div></div>
1762
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00317">PointerAnalysis.h:317</a></div></div>
1763
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00162">PointerAnalysis.cpp:162</a></div></div>
1760
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00316">PointerAnalysis.h:316</a></div></div>
1761
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00151">PointerAnalysis.cpp:151</a></div></div>
1764
1762
  </div><!-- fragment -->
1765
1763
  </div>
1766
1764
  </div>
@@ -1806,8 +1804,8 @@ template&lt;class Cond&gt; </div>
1806
1804
  <div class="fragment"><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(var1,var2))</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordtype">bool</span> singleton = !(<a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(var1.get_id()) || <a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(var1.get_id()));</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">isCondCompatible</a>(var1.get_cond(),var2.get_cond(),singleton) == <span class="keyword">false</span>)</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a>&amp; cpts1 = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var1);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a>&amp; cpts2 = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var2);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts1,cpts2) &amp;&amp; <a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts2,cpts1));</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a3f2f48fc122c07ff9eb1382aa7a3f966"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">SVF::CondPTAImpl::CPtSet</a></div><div class="ttdeci">CondStdSet&lt; CVar &gt; CPtSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00252">PointerAnalysisImpl.h:252</a></div></div>
1807
1805
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet &amp; getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00315">PointerAnalysisImpl.h:315</a></div></div>
1808
1806
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a6b746c30161c7dab86510895e0032935"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">SVF::CondPTAImpl::isCondCompatible</a></div><div class="ttdeci">virtual bool isCondCompatible(const Cond &amp;cxt1, const Cond &amp;cxt2, bool singleton) const =0</div><div class="ttdoc">Whether two conditions are compatible (to be implemented by child class) </div></div>
1809
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00317">PointerAnalysis.h:317</a></div></div>
1810
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00162">PointerAnalysis.cpp:162</a></div></div>
1807
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00316">PointerAnalysis.h:316</a></div></div>
1808
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00151">PointerAnalysis.cpp:151</a></div></div>
1811
1809
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5af00bb26800882ab96c470ee9fc4632"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">SVF::CondPTAImpl::contains</a></div><div class="ttdeci">bool contains(const CPtSet &amp;cpts1, const CPtSet &amp;cpts2)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00407">PointerAnalysisImpl.h:407</a></div></div>
1812
1810
  <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &amp;var1, const CVar &amp;var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00430">PointerAnalysisImpl.h:430</a></div></div>
1813
1811
  </div><!-- fragment -->