svf-tools 1.0.281 → 1.0.285

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 (392) hide show
  1. package/Dockerfile +8 -5
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  13. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  14. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  17. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  19. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  20. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
  26. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  28. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +9 -9
  29. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +8 -8
  30. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +5 -5
  32. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  34. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
  35. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  36. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +4 -4
  37. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +7 -7
  39. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  40. package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
  41. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
  43. package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
  45. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  47. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  48. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
  49. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +15 -15
  52. package/SVF-doxygen/html/html/MemPartition_8h_source.html +11 -11
  53. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +103 -34
  54. package/SVF-doxygen/html/html/MemRegion_8h.html +3 -3
  55. package/SVF-doxygen/html/html/MemRegion_8h_source.html +97 -109
  56. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +43 -42
  57. package/SVF-doxygen/html/html/MemSSA_8h_source.html +46 -47
  58. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
  59. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +5 -5
  61. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  62. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  64. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  65. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +29 -29
  66. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
  67. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +2 -2
  68. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +19 -21
  69. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +81 -81
  70. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
  71. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +8 -8
  73. package/SVF-doxygen/html/html/SVFGBuilder_8h.html +2 -1
  74. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +20 -19
  75. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  76. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  77. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
  78. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -4
  79. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +21 -21
  80. package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -0
  81. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +46 -45
  82. package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -13
  83. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  84. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +9 -8
  85. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +34 -33
  86. package/SVF-doxygen/html/html/SVFUtil_8h.html +14 -2
  87. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +43 -36
  88. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  90. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
  91. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  92. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
  93. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  94. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  95. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  96. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  97. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
  98. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  100. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  101. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  102. package/SVF-doxygen/html/html/annotated.html +16 -16
  103. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +5 -5
  104. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +58 -59
  109. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +19 -22
  110. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +48 -49
  111. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -12
  112. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +60 -61
  113. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +2 -5
  114. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +63 -64
  115. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +2 -5
  116. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +59 -60
  117. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -5
  118. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +63 -64
  119. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -8
  120. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +67 -68
  121. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -5
  122. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  123. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +58 -59
  124. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -5
  125. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +64 -65
  126. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +4 -7
  127. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +135 -138
  130. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  132. package/SVF-doxygen/html/html/classSVF_1_1BranchCondManager.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  134. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  135. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  137. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  138. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
  139. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  142. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  143. package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
  145. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  152. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +63 -62
  153. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +94 -92
  154. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  155. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +65 -66
  159. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -5
  160. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +4 -4
  161. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +51 -52
  162. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -13
  163. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +62 -63
  164. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +55 -53
  165. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
  166. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +74 -75
  167. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +17 -20
  168. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +3 -3
  169. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +5 -5
  170. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
  177. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
  178. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
  180. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  181. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +71 -70
  182. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +88 -86
  183. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  184. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +71 -70
  187. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +126 -124
  188. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  189. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +13 -13
  192. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
  193. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +11 -11
  197. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +3 -3
  198. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
  199. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +5 -5
  200. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +76 -75
  201. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +515 -506
  202. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +2 -2
  203. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
  204. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
  206. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +5 -5
  208. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  209. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
  211. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +14 -14
  212. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +3 -3
  213. package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +9 -10
  214. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +38 -56
  215. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +132 -132
  217. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +5 -5
  218. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +21 -21
  219. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  221. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +6 -6
  224. package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  227. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  229. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +4 -4
  232. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  233. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +9 -9
  234. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +28 -27
  235. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +144 -111
  236. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -21
  237. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +5 -5
  239. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  240. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  241. package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
  242. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  243. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  244. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +4 -4
  245. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +62 -62
  246. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +37 -37
  247. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +6 -6
  248. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +49 -49
  249. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  251. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +15 -15
  252. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +52 -53
  254. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -9
  255. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  256. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
  257. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  259. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  260. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  261. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
  263. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +51 -52
  266. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -6
  267. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +10 -10
  268. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  271. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  273. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +82 -83
  274. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -8
  275. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -7
  277. package/SVF-doxygen/html/html/classes.html +2 -2
  278. package/SVF-doxygen/html/html/functions_a.html +10 -10
  279. package/SVF-doxygen/html/html/functions_c.html +11 -11
  280. package/SVF-doxygen/html/html/functions_e.html +4 -7
  281. package/SVF-doxygen/html/html/functions_f.html +17 -14
  282. package/SVF-doxygen/html/html/functions_func.html +10 -10
  283. package/SVF-doxygen/html/html/functions_func_c.html +5 -5
  284. package/SVF-doxygen/html/html/functions_func_g.html +33 -30
  285. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  286. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  287. package/SVF-doxygen/html/html/functions_func_m.html +2 -2
  288. package/SVF-doxygen/html/html/functions_func_o.html +3 -3
  289. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  290. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  291. package/SVF-doxygen/html/html/functions_g.html +30 -27
  292. package/SVF-doxygen/html/html/functions_h.html +1 -1
  293. package/SVF-doxygen/html/html/functions_i.html +7 -7
  294. package/SVF-doxygen/html/html/functions_l.html +4 -4
  295. package/SVF-doxygen/html/html/functions_m.html +2 -2
  296. package/SVF-doxygen/html/html/functions_o.html +7 -9
  297. package/SVF-doxygen/html/html/functions_p.html +17 -13
  298. package/SVF-doxygen/html/html/functions_r.html +8 -4
  299. package/SVF-doxygen/html/html/functions_s.html +7 -7
  300. package/SVF-doxygen/html/html/functions_t.html +3 -3
  301. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  302. package/SVF-doxygen/html/html/functions_type_e.html +0 -3
  303. package/SVF-doxygen/html/html/functions_type_f.html +4 -1
  304. package/SVF-doxygen/html/html/functions_type_l.html +1 -1
  305. package/SVF-doxygen/html/html/functions_type_p.html +3 -3
  306. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  307. package/SVF-doxygen/html/html/functions_vars_c.html +5 -5
  308. package/SVF-doxygen/html/html/functions_vars_f.html +3 -3
  309. package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
  310. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  311. package/SVF-doxygen/html/html/globals_s.html +3 -3
  312. package/SVF-doxygen/html/html/hierarchy.html +2 -2
  313. package/SVF-doxygen/html/html/menudata.js +1 -0
  314. package/SVF-doxygen/html/html/namespaceSVF.html +3 -3
  315. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +250 -122
  316. package/SVF-doxygen/html/html/namespacemembers_c.html +3 -0
  317. package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
  318. package/SVF-doxygen/html/html/namespacemembers_func.html +23 -10
  319. package/SVF-doxygen/html/html/namespacemembers_m.html +3 -0
  320. package/SVF-doxygen/html/html/namespacemembers_p.html +4 -1
  321. package/SVF-doxygen/html/html/namespacemembers_type_e.html +3 -0
  322. package/SVF-doxygen/html/html/namespacemembers_type_p.html +1 -1
  323. package/SVF-doxygen/html/html/search/all_1.js +10 -10
  324. package/SVF-doxygen/html/html/search/all_10.js +12 -11
  325. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  326. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  327. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  328. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  329. package/SVF-doxygen/html/html/search/all_3.js +12 -11
  330. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  331. package/SVF-doxygen/html/html/search/all_6.js +4 -3
  332. package/SVF-doxygen/html/html/search/all_7.js +14 -13
  333. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  334. package/SVF-doxygen/html/html/search/all_9.js +4 -4
  335. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  336. package/SVF-doxygen/html/html/search/all_d.js +5 -4
  337. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  338. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  339. package/SVF-doxygen/html/html/search/classes_4.js +2 -1
  340. package/SVF-doxygen/html/html/search/functions_0.js +10 -10
  341. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  342. package/SVF-doxygen/html/html/search/functions_2.js +6 -5
  343. package/SVF-doxygen/html/html/search/functions_6.js +14 -13
  344. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  345. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  346. package/SVF-doxygen/html/html/search/functions_b.js +3 -2
  347. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  348. package/SVF-doxygen/html/html/search/functions_e.js +2 -1
  349. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  350. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  351. package/SVF-doxygen/html/html/search/typedefs_4.js +2 -1
  352. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -1
  353. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
  354. package/SVF-doxygen/html/html/search/typedefs_f.js +3 -3
  355. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  356. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  357. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  358. package/SVF-doxygen/html/html/search/variables_3.js +5 -5
  359. package/SVF-doxygen/html/html/search/variables_6.js +3 -3
  360. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  361. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  362. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  363. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
  364. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS-members.html +81 -0
  365. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS.html +134 -0
  366. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalPointsTo.html +3 -3
  367. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  368. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  369. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +1 -1
  370. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  371. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  372. package/include/Graphs/SVFG.h +4 -4
  373. package/include/Graphs/SVFGOPT.h +4 -4
  374. package/include/MSSA/MemPartition.h +10 -10
  375. package/include/MSSA/MemRegion.h +40 -64
  376. package/include/MSSA/MemSSA.h +1 -4
  377. package/include/MSSA/SVFGBuilder.h +1 -0
  378. package/include/MemoryModel/LocationSet.h +3 -3
  379. package/include/MemoryModel/PersistentPointsToCache.h +20 -9
  380. package/include/MemoryModel/PointerAnalysisImpl.h +3 -4
  381. package/include/Util/SVFUtil.h +44 -1
  382. package/lib/Graphs/SVFG.cpp +12 -12
  383. package/lib/Graphs/SVFGOPT.cpp +6 -6
  384. package/lib/MSSA/MemPartition.cpp +31 -31
  385. package/lib/MSSA/MemRegion.cpp +59 -35
  386. package/lib/MSSA/MemSSA.cpp +5 -0
  387. package/lib/MemoryModel/LocationSet.cpp +2 -2
  388. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -4
  389. package/lib/Util/Options.cpp +3 -3
  390. package/lib/Util/SVFUtil.cpp +3 -2
  391. package/lib/WPA/FlowSensitive.cpp +34 -0
  392. package/package.json +1 -1
@@ -522,7 +522,7 @@ class SVF::CondPTAImpl&lt; Cond &gt;</h3>
522
522
 
523
523
  <p>Pointer analysis implementation which uses conditional points-to map data structure (context/path sensitive analysis) </p>
524
524
 
525
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00250">250</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
525
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00249">249</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
526
526
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
527
527
  <a id="a3f2f48fc122c07ff9eb1382aa7a3f966"></a>
528
528
  <h2 class="memtitle"><span class="permalink"><a href="#a3f2f48fc122c07ff9eb1382aa7a3f966">&#9670;&nbsp;</a></span>CPtSet</h2>
@@ -538,7 +538,7 @@ template&lt;class Cond&gt; </div>
538
538
  </table>
539
539
  </div><div class="memdoc">
540
540
 
541
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00255">255</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
541
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00254">254</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
542
542
 
543
543
  </div>
544
544
  </div>
@@ -556,7 +556,7 @@ template&lt;class Cond&gt; </div>
556
556
  </table>
557
557
  </div><div class="memdoc">
558
558
 
559
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00254">254</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
559
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00253">253</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
560
560
 
561
561
  </div>
562
562
  </div>
@@ -574,7 +574,7 @@ template&lt;class Cond&gt; </div>
574
574
  </table>
575
575
  </div><div class="memdoc">
576
576
 
577
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00257">257</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
577
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00256">256</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
578
578
 
579
579
  </div>
580
580
  </div>
@@ -592,7 +592,7 @@ template&lt;class Cond&gt; </div>
592
592
  </table>
593
593
  </div><div class="memdoc">
594
594
 
595
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00256">256</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
595
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00255">255</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
596
596
 
597
597
  </div>
598
598
  </div>
@@ -610,7 +610,7 @@ template&lt;class Cond&gt; </div>
610
610
  </table>
611
611
  </div><div class="memdoc">
612
612
 
613
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00258">258</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
613
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00257">257</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
614
614
 
615
615
  </div>
616
616
  </div>
@@ -628,7 +628,7 @@ template&lt;class Cond&gt; </div>
628
628
  </table>
629
629
  </div><div class="memdoc">
630
630
 
631
- <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>
631
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00259">259</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
632
632
 
633
633
  </div>
634
634
  </div>
@@ -648,7 +648,7 @@ template&lt;class Cond&gt; </div>
648
648
 
649
649
  <p>map a pointer to its BitVector points-to representation </p>
650
650
 
651
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00259">259</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
651
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00258">258</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
652
652
 
653
653
  </div>
654
654
  </div>
@@ -692,13 +692,13 @@ template&lt;class Cond&gt; </div>
692
692
  <p>map a pointer to its conditional points-to set </p>
693
693
  <p>Constructor </p>
694
694
 
695
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00263">263</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
696
- <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; : <a class="code" href="classSVF_1_1PointerAnalysis.html#af42ef08568b1fa892f8f98c4421a0477">PointerAnalysis</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>, type), <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a>(<span class="keyword">false</span>)</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (type == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a> || type == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>)</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</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="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</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="l00271"></a><span class="lineno"> 271</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>
697
- <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#l00469">PointerAnalysisImpl.h:469</a></div></div>
695
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00262">262</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
696
+ <div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; : <a class="code" href="classSVF_1_1PointerAnalysis.html#af42ef08568b1fa892f8f98c4421a0477">PointerAnalysis</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>, type), <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a>(<span class="keyword">false</span>)</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">if</span> (type == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a> || type == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>)</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</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="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</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="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</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="l00270"></a><span class="lineno"> 270</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>
697
+ <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#l00468">PointerAnalysisImpl.h:468</a></div></div>
698
698
  <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>
699
699
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_af42ef08568b1fa892f8f98c4421a0477"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af42ef08568b1fa892f8f98c4421a0477">SVF::PointerAnalysis::PointerAnalysis</a></div><div class="ttdeci">PointerAnalysis(PAG *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#l00077">PointerAnalysis.cpp:77</a></div></div>
700
- <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#l00467">PointerAnalysisImpl.h:467</a></div></div>
701
- <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#l00257">PointerAnalysisImpl.h:257</a></div></div>
700
+ <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#l00466">PointerAnalysisImpl.h:466</a></div></div>
701
+ <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#l00256">PointerAnalysisImpl.h:256</a></div></div>
702
702
  <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>
703
703
  <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>
704
704
  <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>
@@ -733,8 +733,8 @@ template&lt;class Cond&gt; </div>
733
733
 
734
734
  <p>Destructor. </p>
735
735
 
736
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00274">274</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
737
- <div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a5fa3d986e4ef710a2148b2854167c3ed">destroy</a>();</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5fa3d986e4ef710a2148b2854167c3ed"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5fa3d986e4ef710a2148b2854167c3ed">SVF::CondPTAImpl::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdoc">Release memory. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00285">PointerAnalysisImpl.h:285</a></div></div>
736
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00273">273</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
737
+ <div class="fragment"><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a5fa3d986e4ef710a2148b2854167c3ed">destroy</a>();</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5fa3d986e4ef710a2148b2854167c3ed"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5fa3d986e4ef710a2148b2854167c3ed">SVF::CondPTAImpl::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdoc">Release memory. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00284">PointerAnalysisImpl.h:284</a></div></div>
738
738
  </div><!-- fragment -->
739
739
  </div>
740
740
  </div>
@@ -775,8 +775,8 @@ template&lt;class Cond&gt; </div>
775
775
  </table>
776
776
  </div><div class="memdoc">
777
777
 
778
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00387">387</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
779
- <div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">addPts</a>(<span class="keywordtype">id</span>,ptd);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
778
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00386">386</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
779
+ <div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">addPts</a>(<span class="keywordtype">id</span>,ptd);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
780
780
  <div class="ttc" id="classSVF_1_1PTData_html_ac1b9dc035fb0bdf468c7d14b9f9d437a"><div class="ttname"><a href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">SVF::PTData::addPts</a></div><div class="ttdeci">virtual bool addPts(const Key &amp;var, const Data &amp;element)=0</div><div class="ttdoc">Adds element to the points-to set associated with var. </div></div>
781
781
  </div><!-- fragment -->
782
782
  </div>
@@ -821,8 +821,8 @@ template&lt;class Cond&gt; </div>
821
821
 
822
822
  <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#abd9da46106d820721a24201caaa164e1">SVF::PointerAnalysis</a>.</p>
823
823
 
824
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00510">510</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
825
- <div class="fragment"><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; {</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(LocA.Ptr, LocB.Ptr);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00510">PointerAnalysisImpl.h:510</a></div></div>
824
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00509">509</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
825
+ <div class="fragment"><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; {</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(LocA.Ptr, LocB.Ptr);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00509">PointerAnalysisImpl.h:509</a></div></div>
826
826
  </div><!-- fragment -->
827
827
  </div>
828
828
  </div>
@@ -866,9 +866,9 @@ template&lt;class Cond&gt; </div>
866
866
 
867
867
  <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis</a>.</p>
868
868
 
869
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00516">516</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
870
- <div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">getValueNode</a>(V1),<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">getValueNode</a>(V2));</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_a5f49b7da110a626ed6605d1f108dfa25"><div class="ttname"><a href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">SVF::PAG::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdoc">Get PAG Node according to LLVM value. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00547">PAG.h:547</a></div></div>
871
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00510">PointerAnalysisImpl.h:510</a></div></div>
869
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00515">515</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
870
+ <div class="fragment"><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; {</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">getValueNode</a>(V1),<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">getValueNode</a>(V2));</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_a5f49b7da110a626ed6605d1f108dfa25"><div class="ttname"><a href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">SVF::PAG::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdoc">Get PAG Node according to LLVM value. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00547">PAG.h:547</a></div></div>
871
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00509">PointerAnalysisImpl.h:509</a></div></div>
872
872
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8771956f7595b66d825b3dc459d1ae49"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">PAG. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
873
873
  </div><!-- fragment -->
874
874
  </div>
@@ -913,9 +913,9 @@ template&lt;class Cond&gt; </div>
913
913
 
914
914
  <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#a0f712ead1f31750879948c36b2fc77cf">SVF::PointerAnalysis</a>.</p>
915
915
 
916
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00521">521</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
917
- <div class="fragment"><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">getCondPointsTo</a>(node1),<a class="code" href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">getCondPointsTo</a>(node2));</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00510">PointerAnalysisImpl.h:510</a></div></div>
918
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a454a998ef5a866f2a6f270e3283c6ebd"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">SVF::CondPTAImpl::getCondPointsTo</a></div><div class="ttdeci">virtual const CPtSet &amp; getCondPointsTo(NodeID ptr)</div><div class="ttdoc">Given a pointer return its conditional points-to. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00497">PointerAnalysisImpl.h:497</a></div></div>
916
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00520">520</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
917
+ <div class="fragment"><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">getCondPointsTo</a>(node1),<a class="code" href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">getCondPointsTo</a>(node2));</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00509">PointerAnalysisImpl.h:509</a></div></div>
918
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a454a998ef5a866f2a6f270e3283c6ebd"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">SVF::CondPTAImpl::getCondPointsTo</a></div><div class="ttdeci">virtual const CPtSet &amp; getCondPointsTo(NodeID ptr)</div><div class="ttdoc">Given a pointer return its conditional points-to. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00496">PointerAnalysisImpl.h:496</a></div></div>
919
919
  </div><!-- fragment -->
920
920
  </div>
921
921
  </div>
@@ -957,9 +957,9 @@ template&lt;class Cond&gt; </div>
957
957
 
958
958
  <p>Interface expose to users of our pointer analysis, given conditional variables. </p>
959
959
 
960
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00526">526</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
961
- <div class="fragment"><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var1),<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var2));</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div><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#l00318">PointerAnalysisImpl.h:318</a></div></div>
962
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00510">PointerAnalysisImpl.h:510</a></div></div>
960
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00525">525</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
961
+ <div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">alias</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var1),<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var2));</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><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#l00317">PointerAnalysisImpl.h:317</a></div></div>
962
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_afa6dffc1ac7e8dada1ff9e75b8cfd187"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#afa6dffc1ac7e8dada1ff9e75b8cfd187">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00509">PointerAnalysisImpl.h:509</a></div></div>
963
963
  </div><!-- fragment -->
964
964
  </div>
965
965
  </div>
@@ -1001,14 +1001,14 @@ template&lt;class Cond&gt; </div>
1001
1001
 
1002
1002
  <p>Interface expose to users of our pointer analysis, given two conditional points-to sets. </p>
1003
1003
 
1004
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00531">531</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1005
- <div class="fragment"><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts1;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts1,cpts1);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts2;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts2,cpts2);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</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="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> llvm::MayAlias;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</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="l00540"></a><span class="lineno"> 540</span>&#160; {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">return</span> llvm::MustAlias;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; }</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</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="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> llvm::MayAlias;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">return</span> llvm::NoAlias;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</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#l00349">PointerAnalysisImpl.h:349</a></div></div>
1006
- <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#l00255">PointerAnalysisImpl.h:255</a></div></div>
1004
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00530">530</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1005
+ <div class="fragment"><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; <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts1;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts1,cpts1);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts2;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts2,cpts2);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</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="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> llvm::MayAlias;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</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="l00539"></a><span class="lineno"> 539</span>&#160; {</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">return</span> llvm::MustAlias;</div><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">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="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> llvm::MayAlias;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">return</span> llvm::NoAlias;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</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#l00348">PointerAnalysisImpl.h:348</a></div></div>
1006
+ <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#l00254">PointerAnalysisImpl.h:254</a></div></div>
1007
1007
  <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#l00191">PointerAnalysis.h:191</a></div></div>
1008
- <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#l00335">PointerAnalysisImpl.h:335</a></div></div>
1009
- <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#l00410">PointerAnalysisImpl.h:410</a></div></div>
1008
+ <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#l00334">PointerAnalysisImpl.h:334</a></div></div>
1009
+ <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#l00409">PointerAnalysisImpl.h:409</a></div></div>
1010
1010
  <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>
1011
- <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#l00549">PointerAnalysisImpl.h:549</a></div></div>
1011
+ <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#l00548">PointerAnalysisImpl.h:548</a></div></div>
1012
1012
  </div><!-- fragment -->
1013
1013
  </div>
1014
1014
  </div>
@@ -1038,8 +1038,8 @@ template&lt;class Cond&gt; </div>
1038
1038
  </table>
1039
1039
  </div><div class="memdoc">
1040
1040
 
1041
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00279">279</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1042
- <div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</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="l00282"></a><span class="lineno"> 282</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>
1041
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00278">278</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1042
+ <div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</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="l00281"></a><span class="lineno"> 281</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>
1043
1043
  </div><!-- fragment -->
1044
1044
  </div>
1045
1045
  </div>
@@ -1072,9 +1072,9 @@ template&lt;class Cond&gt; </div>
1072
1072
 
1073
1073
  <p>Reimplemented from <a class="el" href="classSVF_1_1PointerAnalysis.html#a3f78f60e1947a6d6fbcd3a0ee11e262a">SVF::PointerAnalysis</a>.</p>
1074
1074
 
1075
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00329">329</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1076
- <div class="fragment"><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">clear</a>();</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTData_html_ad45879017d8fdeedc987ce35c4eba1a5"><div class="ttname"><a href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">SVF::PTData::clear</a></div><div class="ttdeci">virtual void clear()=0</div><div class="ttdoc">Clears all points-to sets as if nothing is stored. </div></div>
1077
- <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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1075
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00328">328</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1076
+ <div class="fragment"><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">clear</a>();</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTData_html_ad45879017d8fdeedc987ce35c4eba1a5"><div class="ttname"><a href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">SVF::PTData::clear</a></div><div class="ttdeci">virtual void clear()=0</div><div class="ttdoc">Clears all points-to sets as if nothing is stored. </div></div>
1077
+ <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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1078
1078
  </div><!-- fragment -->
1079
1079
  </div>
1080
1080
  </div>
@@ -1106,8 +1106,8 @@ template&lt;class Cond&gt; </div>
1106
1106
 
1107
1107
  <p>Test blk node for cpts. </p>
1108
1108
 
1109
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00549">549</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1110
- <div class="fragment"><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; {</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</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="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">if</span>(cit-&gt;get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#adc2f52d5c95c6b8718fe3f899d19cc2f">getBlackHoleNode</a>())</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_adc2f52d5c95c6b8718fe3f899d19cc2f"><div class="ttname"><a href="classSVF_1_1PAG.html#adc2f52d5c95c6b8718fe3f899d19cc2f">SVF::PAG::getBlackHoleNode</a></div><div class="ttdeci">NodeID getBlackHoleNode() const</div><div class="ttdoc">Get black hole and constant id. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00634">PAG.h:634</a></div></div>
1109
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00548">548</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1110
+ <div class="fragment"><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</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="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">if</span>(cit-&gt;get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#adc2f52d5c95c6b8718fe3f899d19cc2f">getBlackHoleNode</a>())</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_adc2f52d5c95c6b8718fe3f899d19cc2f"><div class="ttname"><a href="classSVF_1_1PAG.html#adc2f52d5c95c6b8718fe3f899d19cc2f">SVF::PAG::getBlackHoleNode</a></div><div class="ttdeci">NodeID getBlackHoleNode() const</div><div class="ttdoc">Get black hole and constant id. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00634">PAG.h:634</a></div></div>
1111
1111
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8771956f7595b66d825b3dc459d1ae49"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">PAG. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
1112
1112
  <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>
1113
1113
  </div><!-- fragment -->
@@ -1141,8 +1141,8 @@ template&lt;class Cond&gt; </div>
1141
1141
 
1142
1142
  <p>Test constant node for cpts. </p>
1143
1143
 
1144
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00559">559</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1145
- <div class="fragment"><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; {</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</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="l00562"></a><span class="lineno"> 562</span>&#160; {</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">if</span>(cit-&gt;get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#ad1f9568cf8b514d1fe86fa3473836580">getConstantNode</a>())</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; }</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_ad1f9568cf8b514d1fe86fa3473836580"><div class="ttname"><a href="classSVF_1_1PAG.html#ad1f9568cf8b514d1fe86fa3473836580">SVF::PAG::getConstantNode</a></div><div class="ttdeci">NodeID getConstantNode() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00638">PAG.h:638</a></div></div>
1144
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00558">558</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1145
+ <div class="fragment"><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</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="l00561"></a><span class="lineno"> 561</span>&#160; {</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">if</span>(cit-&gt;get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#ad1f9568cf8b514d1fe86fa3473836580">getConstantNode</a>())</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_ad1f9568cf8b514d1fe86fa3473836580"><div class="ttname"><a href="classSVF_1_1PAG.html#ad1f9568cf8b514d1fe86fa3473836580">SVF::PAG::getConstantNode</a></div><div class="ttdeci">NodeID getConstantNode() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00638">PAG.h:638</a></div></div>
1146
1146
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8771956f7595b66d825b3dc459d1ae49"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">PAG. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
1147
1147
  <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>
1148
1148
  </div><!-- fragment -->
@@ -1184,9 +1184,9 @@ template&lt;class Cond&gt; </div>
1184
1184
  </table>
1185
1185
  </div><div class="memdoc">
1186
1186
 
1187
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00410">410</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1188
- <div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (cpts1.empty() || cpts2.empty())</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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> it2 = cpts2.begin(); it2 != cpts2.end(); ++it2)</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordtype">bool</span> hasObj = <span class="keyword">false</span>;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</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> it1 = cpts1.begin(); it1 != cpts1.end(); ++it1)</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(*it1,*it2))</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; hasObj = <span class="keyword">true</span>;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">if</span>(hasObj == <span class="keyword">false</span>)</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div><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>
1189
- <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#l00433">PointerAnalysisImpl.h:433</a></div></div>
1187
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00409">409</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1188
+ <div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span> (cpts1.empty() || cpts2.empty())</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> it2 = cpts2.begin(); it2 != cpts2.end(); ++it2)</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordtype">bool</span> hasObj = <span class="keyword">false</span>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</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> it1 = cpts1.begin(); it1 != cpts1.end(); ++it1)</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(*it1,*it2))</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; hasObj = <span class="keyword">true</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">if</span>(hasObj == <span class="keyword">false</span>)</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div><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>
1189
+ <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#l00432">PointerAnalysisImpl.h:432</a></div></div>
1190
1190
  </div><!-- fragment -->
1191
1191
  </div>
1192
1192
  </div>
@@ -1217,8 +1217,8 @@ template&lt;class Cond&gt; </div>
1217
1217
 
1218
1218
  <p>Release memory. </p>
1219
1219
 
1220
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00285">285</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1221
- <div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1220
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00284">284</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1221
+ <div class="fragment"><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1222
1222
  </div><!-- fragment -->
1223
1223
  </div>
1224
1224
  </div>
@@ -1251,8 +1251,8 @@ template&lt;class Cond&gt; </div>
1251
1251
 
1252
1252
  <p>Reimplemented from <a class="el" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">SVF::PointerAnalysis</a>.</p>
1253
1253
 
1254
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00478">478</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1255
- <div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#a91b898e3547eecfbf1ab155d183734bf">dumpPTData</a>();</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1254
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00477">477</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1255
+ <div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; {</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#a91b898e3547eecfbf1ab155d183734bf">dumpPTData</a>();</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1256
1256
  <div class="ttc" id="classSVF_1_1PTData_html_a91b898e3547eecfbf1ab155d183734bf"><div class="ttname"><a href="classSVF_1_1PTData.html#a91b898e3547eecfbf1ab155d183734bf">SVF::PTData::dumpPTData</a></div><div class="ttdeci">virtual void dumpPTData()=0</div><div class="ttdoc">Dump stored keys and points-to sets. </div></div>
1257
1257
  </div><!-- fragment -->
1258
1258
  </div>
@@ -1286,11 +1286,11 @@ template&lt;class Cond&gt; </div>
1286
1286
 
1287
1287
  <p>Reimplemented from <a class="el" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">SVF::PointerAnalysis</a>.</p>
1288
1288
 
1289
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00572">572</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1290
- <div class="fragment"><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">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="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keyword">const</span> PAGNode* node = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1PAG.html#a3aa1c92eb8a6fab72996964de80f19ac">getPAGNode</a>(*nIter);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">getPAG</a>()-&gt;isValidTopLevelPtr(node))</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; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjPN&gt;(node))</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">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="l00582"></a><span class="lineno"> 582</span>&#160; }</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValPN&gt;(node))</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;&quot;</span> &lt;&lt; node-&gt;getValue()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</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="l00587"></a><span class="lineno"> 587</span>&#160; }</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(node-&gt;getId());</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">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="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span> (pts.empty())</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; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: {empty}\n\n&quot;</span>;</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; <span class="keywordflow">else</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; {</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: { &quot;</span>;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">for</span> (PointsTo::iterator it = pts.begin(), eit = pts.end(); it != eit; ++it)</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;}\n\n&quot;</span>;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; }</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; }</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>().flush();</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</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#l00221">PointerAnalysis.h:221</a></div></div>
1289
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00571">571</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1290
+ <div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</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="l00574"></a><span class="lineno"> 574</span>&#160; {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keyword">const</span> PAGNode* node = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1PAG.html#a3aa1c92eb8a6fab72996964de80f19ac">getPAGNode</a>(*nIter);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">getPAG</a>()-&gt;isValidTopLevelPtr(node))</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; {</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjPN&gt;(node))</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; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">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="l00581"></a><span class="lineno"> 581</span>&#160; }</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValPN&gt;(node))</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#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;&quot;</span> &lt;&lt; node-&gt;getValue()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</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="l00586"></a><span class="lineno"> 586</span>&#160; }</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; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(node-&gt;getId());</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">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="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">if</span> (pts.empty())</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; {</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: {empty}\n\n&quot;</span>;</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; <span class="keywordflow">else</span></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#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\tPointsTo: { &quot;</span>;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">for</span> (PointsTo::iterator it = pts.begin(), eit = pts.end(); it != eit; ++it)</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;}\n\n&quot;</span>;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; }</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; }</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>().flush();</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</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#l00221">PointerAnalysis.h:221</a></div></div>
1291
1291
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_aaf6b41f44da3a4caea1fa395e41edf71"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">PAG * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00204">PointerAnalysis.h:204</a></div></div>
1292
1292
  <div class="ttc" id="classSVF_1_1PAG_html_a3aa1c92eb8a6fab72996964de80f19ac"><div class="ttname"><a href="classSVF_1_1PAG.html#a3aa1c92eb8a6fab72996964de80f19ac">SVF::PAG::getPAGNode</a></div><div class="ttdeci">PAGNode * getPAGNode(NodeID id) const</div><div class="ttdoc">Get PAGNode ID. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00539">PAG.h:539</a></div></div>
1293
- <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#l00318">PointerAnalysisImpl.h:318</a></div></div>
1293
+ <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#l00317">PointerAnalysisImpl.h:317</a></div></div>
1294
1294
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00047">SVFUtil.h:47</a></div></div>
1295
1295
  <div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
1296
1296
  </div><!-- fragment -->
@@ -1334,13 +1334,13 @@ template&lt;class Cond&gt; </div>
1334
1334
 
1335
1335
  <p>Expand all fields of an aggregate in all points-to sets. </p>
1336
1336
 
1337
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00349">349</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1338
- <div class="fragment"><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; expandedCpts = cpts;;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</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="l00353"></a><span class="lineno"> 353</span>&#160; {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#ae1e22e620954e3e9ede3f2bf0ac90c36">getBaseObjNode</a>(cit-&gt;get_id())==cit-&gt;get_id())</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="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; fields = <a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a049069cb76eada008e65b71e08ccdf46">getAllFieldsObjNode</a>(cit-&gt;get_id());</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">for</span>(NodeBS::iterator it = fields.begin(), eit = fields.end(); it!=eit; ++it)</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; <a class="code" href="classSVF_1_1CondPTAImpl.html#af71b4ec9844701582d997466c2e4d94f">CVar</a> cvar(cit-&gt;get_cond(),*it);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; expandedCpts.set(cvar);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; }</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_a049069cb76eada008e65b71e08ccdf46"><div class="ttname"><a href="classSVF_1_1PAG.html#a049069cb76eada008e65b71e08ccdf46">SVF::PAG::getAllFieldsObjNode</a></div><div class="ttdeci">NodeBS &amp; getAllFieldsObjNode(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00778">PAG.cpp:778</a></div></div>
1337
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00348">348</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1338
+ <div class="fragment"><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; expandedCpts = cpts;;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</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="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#ae1e22e620954e3e9ede3f2bf0ac90c36">getBaseObjNode</a>(cit-&gt;get_id())==cit-&gt;get_id())</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; fields = <a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a049069cb76eada008e65b71e08ccdf46">getAllFieldsObjNode</a>(cit-&gt;get_id());</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">for</span>(NodeBS::iterator it = fields.begin(), eit = fields.end(); it!=eit; ++it)</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</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="l00359"></a><span class="lineno"> 359</span>&#160; expandedCpts.set(cvar);</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="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; }</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="ttc" id="classSVF_1_1PAG_html_a049069cb76eada008e65b71e08ccdf46"><div class="ttname"><a href="classSVF_1_1PAG.html#a049069cb76eada008e65b71e08ccdf46">SVF::PAG::getAllFieldsObjNode</a></div><div class="ttdeci">NodeBS &amp; getAllFieldsObjNode(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00778">PAG.cpp:778</a></div></div>
1339
1339
  <div class="ttc" id="classSVF_1_1PAG_html_ae1e22e620954e3e9ede3f2bf0ac90c36"><div class="ttname"><a href="classSVF_1_1PAG.html#ae1e22e620954e3e9ede3f2bf0ac90c36">SVF::PAG::getBaseObjNode</a></div><div class="ttdeci">NodeID getBaseObjNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00717">PAG.h:717</a></div></div>
1340
1340
  <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#l00087">SVFBasicTypes.h:87</a></div></div>
1341
1341
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8771956f7595b66d825b3dc459d1ae49"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">PAG. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00146">PointerAnalysis.h:146</a></div></div>
1342
1342
  <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>
1343
- <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#l00254">PointerAnalysisImpl.h:254</a></div></div>
1343
+ <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#l00253">PointerAnalysisImpl.h:253</a></div></div>
1344
1344
  </div><!-- fragment -->
1345
1345
  </div>
1346
1346
  </div>
@@ -1376,9 +1376,9 @@ template&lt;class Cond&gt; </div>
1376
1376
 
1377
1377
  <p>Reimplemented in <a class="el" href="classSVF_1_1ContextDDA.html#ae34cd06ee3b7d763c81ec418af76d244">SVF::ContextDDA</a>.</p>
1378
1378
 
1379
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00369">369</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1380
- <div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">normalizePointsTo</a>();</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</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#l00222">PointerAnalysis.cpp:222</a></div></div>
1381
- <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#l00445">PointerAnalysisImpl.h:445</a></div></div>
1379
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00368">368</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1380
+ <div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">normalizePointsTo</a>();</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</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#l00222">PointerAnalysis.cpp:222</a></div></div>
1381
+ <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#l00444">PointerAnalysisImpl.h:444</a></div></div>
1382
1382
  </div><!-- fragment -->
1383
1383
  </div>
1384
1384
  </div>
@@ -1410,8 +1410,8 @@ template&lt;class Cond&gt; </div>
1410
1410
 
1411
1411
  <p>Given a conditional pts return its bit vector points-to. </p>
1412
1412
 
1413
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00483">483</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1414
- <div class="fragment"><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> pts;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</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="l00487"></a><span class="lineno"> 487</span>&#160; pts.set(cit-&gt;get_id());</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">return</span> pts;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
1413
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00482">482</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1414
+ <div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> pts;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</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="l00486"></a><span class="lineno"> 486</span>&#160; pts.set(cit-&gt;get_id());</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> pts;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
1415
1415
  <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>
1416
1416
  </div><!-- fragment -->
1417
1417
  </div>
@@ -1444,10 +1444,10 @@ template&lt;class Cond&gt; </div>
1444
1444
 
1445
1445
  <p>Given a pointer return its conditional points-to. </p>
1446
1446
 
1447
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00497">497</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1448
- <div class="fragment"><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> &amp;&amp; <span class="stringliteral">&quot;Pts of all context-vars have to be merged/normalized. Want to use getPts(CVar cvar)??&quot;</span>);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">ptrToCPtsMap</a>[ptr];</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</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>
1449
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00475">PointerAnalysisImpl.h:475</a></div></div>
1450
- <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#l00469">PointerAnalysisImpl.h:469</a></div></div>
1447
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00496">496</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1448
+ <div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> &amp;&amp; <span class="stringliteral">&quot;Pts of all context-vars have to be merged/normalized. Want to use getPts(CVar cvar)??&quot;</span>);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">ptrToCPtsMap</a>[ptr];</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</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>
1449
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00474">PointerAnalysisImpl.h:474</a></div></div>
1450
+ <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#l00468">PointerAnalysisImpl.h:468</a></div></div>
1451
1451
  </div><!-- fragment -->
1452
1452
  </div>
1453
1453
  </div>
@@ -1476,10 +1476,10 @@ template&lt;class Cond&gt; </div>
1476
1476
  </table>
1477
1477
  </div><div class="memdoc">
1478
1478
 
1479
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00297">297</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1480
- <div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>* mut = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>&gt;(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(mut &amp;&amp; <span class="stringliteral">&quot;BVDataPTAImpl::getMutPTDataTy: not a MutPTDataTy!&quot;</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> mut;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</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>
1481
- <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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1482
- <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#l00257">PointerAnalysisImpl.h:257</a></div></div>
1479
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00296">296</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1480
+ <div class="fragment"><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>* mut = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>&gt;(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(mut &amp;&amp; <span class="stringliteral">&quot;BVDataPTAImpl::getMutPTDataTy: not a MutPTDataTy!&quot;</span>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> mut;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</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>
1481
+ <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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1482
+ <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#l00256">PointerAnalysisImpl.h:256</a></div></div>
1483
1483
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
1484
1484
  </div><!-- fragment -->
1485
1485
  </div>
@@ -1511,8 +1511,8 @@ template&lt;class Cond&gt; </div>
1511
1511
 
1512
1512
  <p>Get points-to data. </p>
1513
1513
 
1514
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00292">292</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1515
- <div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1514
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00291">291</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1515
+ <div class="fragment"><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1516
1516
  </div><!-- fragment -->
1517
1517
  </div>
1518
1518
  </div>
@@ -1543,9 +1543,9 @@ template&lt;class Cond&gt; </div>
1543
1543
  </div><div class="memdoc">
1544
1544
  <p>Get points-to and reverse points-to </p>
1545
1545
 
1546
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00318">318</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1547
- <div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">getPts</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTData_html_a9ae6037637d8b9acb323333f491f4a7d"><div class="ttname"><a href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">SVF::PTData::getPts</a></div><div class="ttdeci">virtual const DataSet &amp; getPts(const Key &amp;var)=0</div><div class="ttdoc">Get points-to set of var. </div></div>
1548
- <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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1546
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00317">317</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1547
+ <div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">getPts</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTData_html_a9ae6037637d8b9acb323333f491f4a7d"><div class="ttname"><a href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">SVF::PTData::getPts</a></div><div class="ttdeci">virtual const DataSet &amp; getPts(const Key &amp;var)=0</div><div class="ttdoc">Get points-to set of var. </div></div>
1548
+ <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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1549
1549
  </div><!-- fragment -->
1550
1550
  </div>
1551
1551
  </div>
@@ -1579,10 +1579,10 @@ template&lt;class Cond&gt; </div>
1579
1579
 
1580
1580
  <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis</a>.</p>
1581
1581
 
1582
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00491">491</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1583
- <div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> &amp;&amp; <span class="stringliteral">&quot;Pts of all context-var have to be merged/normalized. Want to use getPts(CVar cvar)??&quot;</span>);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">ptrToBVPtsMap</a>[ptr];</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a30b9ee7b1dcd04285f92cf7accd05b2e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl::ptrToBVPtsMap</a></div><div class="ttdeci">PtrToBVPtsMap ptrToBVPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00471">PointerAnalysisImpl.h:471</a></div></div>
1582
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00490">490</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1583
+ <div class="fragment"><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> &amp;&amp; <span class="stringliteral">&quot;Pts of all context-var have to be merged/normalized. Want to use getPts(CVar cvar)??&quot;</span>);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">ptrToBVPtsMap</a>[ptr];</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a30b9ee7b1dcd04285f92cf7accd05b2e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl::ptrToBVPtsMap</a></div><div class="ttdeci">PtrToBVPtsMap ptrToBVPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00470">PointerAnalysisImpl.h:470</a></div></div>
1584
1584
  <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>
1585
- <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#l00469">PointerAnalysisImpl.h:469</a></div></div>
1585
+ <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#l00468">PointerAnalysisImpl.h:468</a></div></div>
1586
1586
  </div><!-- fragment -->
1587
1587
  </div>
1588
1588
  </div>
@@ -1611,11 +1611,11 @@ template&lt;class Cond&gt; </div>
1611
1611
  </table>
1612
1612
  </div><div class="memdoc">
1613
1613
 
1614
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00309">309</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1615
- <div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a> *m = SVFUtil::dyn_cast&lt;MutPTDataTy&gt;(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>)) <span class="keywordflow">return</span> m-&gt;getPtsMap();</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;CondPTAImpl::getPtsMap: not a PTData with a PtsMap!&quot;</span>);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>(1);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div><div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
1614
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00308">308</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1615
+ <div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a> *m = SVFUtil::dyn_cast&lt;MutPTDataTy&gt;(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>)) <span class="keywordflow">return</span> m-&gt;getPtsMap();</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;CondPTAImpl::getPtsMap: not a PTData with a PtsMap!&quot;</span>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>(1);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
1616
1616
  <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>
1617
- <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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1618
- <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#l00257">PointerAnalysisImpl.h:257</a></div></div>
1617
+ <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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1618
+ <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#l00256">PointerAnalysisImpl.h:256</a></div></div>
1619
1619
  </div><!-- fragment -->
1620
1620
  </div>
1621
1621
  </div>
@@ -1645,8 +1645,8 @@ template&lt;class Cond&gt; </div>
1645
1645
  </table>
1646
1646
  </div><div class="memdoc">
1647
1647
 
1648
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00322">322</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1649
- <div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#ab6146f5582946c08568f3a8d45e57b03">getRevPts</a>(nodeId);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1648
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00321">321</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1649
+ <div class="fragment"><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; {</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#ab6146f5582946c08568f3a8d45e57b03">getRevPts</a>(nodeId);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1650
1650
  <div class="ttc" id="classSVF_1_1PTData_html_ab6146f5582946c08568f3a8d45e57b03"><div class="ttname"><a href="classSVF_1_1PTData.html#ab6146f5582946c08568f3a8d45e57b03">SVF::PTData::getRevPts</a></div><div class="ttdeci">virtual const KeySet &amp; getRevPts(const Data &amp;datum)=0</div><div class="ttdoc">Get reverse points-to set of a datum. </div></div>
1651
1651
  </div><!-- fragment -->
1652
1652
  </div>
@@ -1681,10 +1681,10 @@ template&lt;class Cond&gt; </div>
1681
1681
 
1682
1682
  <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#ad9af9655a13f3faeaf265ba370d1f280">SVF::PointerAnalysis</a>.</p>
1683
1683
 
1684
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00503">503</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1685
- <div class="fragment"><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> &amp;&amp; <span class="stringliteral">&quot;Pts of all context-var have to be merged/normalized. Want to use getPts(CVar cvar)??&quot;</span>);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">objToNSRevPtsMap</a>[obj];</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</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>
1686
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00473">PointerAnalysisImpl.h:473</a></div></div>
1687
- <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#l00469">PointerAnalysisImpl.h:469</a></div></div>
1684
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00502">502</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1685
+ <div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> &amp;&amp; <span class="stringliteral">&quot;Pts of all context-var have to be merged/normalized. Want to use getPts(CVar cvar)??&quot;</span>);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">objToNSRevPtsMap</a>[obj];</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</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>
1686
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00472">PointerAnalysisImpl.h:472</a></div></div>
1687
+ <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#l00468">PointerAnalysisImpl.h:468</a></div></div>
1688
1688
  </div><!-- fragment -->
1689
1689
  </div>
1690
1690
  </div>
@@ -1714,8 +1714,8 @@ template&lt;class Cond&gt; </div>
1714
1714
  </table>
1715
1715
  </div><div class="memdoc">
1716
1716
 
1717
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00304">304</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1718
- <div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> SVFUtil::isa&lt;MutPTDataTy&gt;(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1717
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00303">303</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1718
+ <div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> SVFUtil::isa&lt;MutPTDataTy&gt;(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1719
1719
  </div><!-- fragment -->
1720
1720
  </div>
1721
1721
  </div>
@@ -1806,8 +1806,8 @@ template&lt;class Cond&gt; </div>
1806
1806
  <p>Whether two pointers/objects are the same one by considering their conditions. </p>
1807
1807
  <p>we distinguish context sensitive memory allocation here </p>
1808
1808
 
1809
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00433">433</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1810
- <div class="fragment"><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; {</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">if</span>(var1.get_id() != var2.get_id())</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</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="l00440"></a><span class="lineno"> 440</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="l00441"></a><span class="lineno"> 441</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>
1809
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00432">432</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1810
+ <div class="fragment"><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">if</span>(var1.get_id() != var2.get_id())</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</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="l00439"></a><span class="lineno"> 439</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="l00440"></a><span class="lineno"> 440</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>
1811
1811
  <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#l00327">PointerAnalysis.h:327</a></div></div>
1812
1812
  <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#l00170">PointerAnalysis.cpp:170</a></div></div>
1813
1813
  </div><!-- fragment -->
@@ -1851,14 +1851,14 @@ template&lt;class Cond&gt; </div>
1851
1851
 
1852
1852
  <p>Internal interface to be used for conditional points-to set queries. </p>
1853
1853
 
1854
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00395">395</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1855
- <div class="fragment"><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="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(var1,var2))</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</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="l00401"></a><span class="lineno"> 401</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="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</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="l00405"></a><span class="lineno"> 405</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="l00406"></a><span class="lineno"> 406</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="l00407"></a><span class="lineno"> 407</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#l00255">PointerAnalysisImpl.h:255</a></div></div>
1856
- <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#l00318">PointerAnalysisImpl.h:318</a></div></div>
1854
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00394">394</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1855
+ <div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</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="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</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="l00400"></a><span class="lineno"> 400</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="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</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="l00404"></a><span class="lineno"> 404</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="l00405"></a><span class="lineno"> 405</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="l00406"></a><span class="lineno"> 406</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#l00254">PointerAnalysisImpl.h:254</a></div></div>
1856
+ <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#l00317">PointerAnalysisImpl.h:317</a></div></div>
1857
1857
  <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>
1858
1858
  <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#l00327">PointerAnalysis.h:327</a></div></div>
1859
1859
  <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#l00170">PointerAnalysis.cpp:170</a></div></div>
1860
- <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#l00410">PointerAnalysisImpl.h:410</a></div></div>
1861
- <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#l00433">PointerAnalysisImpl.h:433</a></div></div>
1860
+ <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#l00409">PointerAnalysisImpl.h:409</a></div></div>
1861
+ <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#l00432">PointerAnalysisImpl.h:432</a></div></div>
1862
1862
  </div><!-- fragment -->
1863
1863
  </div>
1864
1864
  </div>
@@ -1889,14 +1889,14 @@ template&lt;class Cond&gt; </div>
1889
1889
 
1890
1890
  <p>Normalize points-to information to BitVector/conditional representation. </p>
1891
1891
 
1892
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00445">445</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1893
- <div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">hasPtsMap</a>())</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">MutPTDataTy::PtsMap</a>&amp; ptsMap = <a class="code" href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">getPtsMap</a>();</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">typename</span> MutPTDataTy::PtsMap::const_iterator it = ptsMap.begin(), eit=ptsMap.end(); it!=eit; ++it)</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</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 = it-&gt;second.begin(), ecit=it-&gt;second.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">ptrToBVPtsMap</a>[(it-&gt;first).get_id()].set(cit-&gt;get_id());</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">objToNSRevPtsMap</a>[cit-&gt;get_id()].insert((it-&gt;first).get_id());</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">ptrToCPtsMap</a>[(it-&gt;first).get_id()].set(*cit);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; }</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;CondPTAImpl::NormalizePointsTo: could not normalize points-to sets&quot;</span>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a30b9ee7b1dcd04285f92cf7accd05b2e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl::ptrToBVPtsMap</a></div><div class="ttdeci">PtrToBVPtsMap ptrToBVPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00471">PointerAnalysisImpl.h:471</a></div></div>
1894
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a979486e35b529fbc62b2974899627113"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">SVF::CondPTAImpl::getPtsMap</a></div><div class="ttdeci">const MutPTDataTy::PtsMap &amp; getPtsMap() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00309">PointerAnalysisImpl.h:309</a></div></div>
1892
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00444">444</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1893
+ <div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">hasPtsMap</a>())</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; {</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">MutPTDataTy::PtsMap</a>&amp; ptsMap = <a class="code" href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">getPtsMap</a>();</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">typename</span> MutPTDataTy::PtsMap::const_iterator it = ptsMap.begin(), eit=ptsMap.end(); it!=eit; ++it)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</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 = it-&gt;second.begin(), ecit=it-&gt;second.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">ptrToBVPtsMap</a>[(it-&gt;first).get_id()].set(cit-&gt;get_id());</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">objToNSRevPtsMap</a>[cit-&gt;get_id()].insert((it-&gt;first).get_id());</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">ptrToCPtsMap</a>[(it-&gt;first).get_id()].set(*cit);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;CondPTAImpl::NormalizePointsTo: could not normalize points-to sets&quot;</span>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; }</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a30b9ee7b1dcd04285f92cf7accd05b2e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl::ptrToBVPtsMap</a></div><div class="ttdeci">PtrToBVPtsMap ptrToBVPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00470">PointerAnalysisImpl.h:470</a></div></div>
1894
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a979486e35b529fbc62b2974899627113"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">SVF::CondPTAImpl::getPtsMap</a></div><div class="ttdeci">const MutPTDataTy::PtsMap &amp; getPtsMap() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00308">PointerAnalysisImpl.h:308</a></div></div>
1895
1895
  <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>
1896
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00475">PointerAnalysisImpl.h:475</a></div></div>
1897
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00473">PointerAnalysisImpl.h:473</a></div></div>
1898
- <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#l00469">PointerAnalysisImpl.h:469</a></div></div>
1899
- <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a597e9c4e76f358c36d4b820c4d69ebc6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">SVF::CondPTAImpl::hasPtsMap</a></div><div class="ttdeci">bool hasPtsMap(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00304">PointerAnalysisImpl.h:304</a></div></div>
1896
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00474">PointerAnalysisImpl.h:474</a></div></div>
1897
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00472">PointerAnalysisImpl.h:472</a></div></div>
1898
+ <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#l00468">PointerAnalysisImpl.h:468</a></div></div>
1899
+ <div class="ttc" id="classSVF_1_1CondPTAImpl_html_a597e9c4e76f358c36d4b820c4d69ebc6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">SVF::CondPTAImpl::hasPtsMap</a></div><div class="ttdeci">bool hasPtsMap(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00303">PointerAnalysisImpl.h:303</a></div></div>
1900
1900
  <div class="ttc" id="classSVF_1_1MutablePTData_html_ad74cc6c81c4a95f6ba4e89352bccee3e"><div class="ttname"><a href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">SVF::MutablePTData::PtsMap</a></div><div class="ttdeci">Map&lt; Key, DataSet &gt; PtsMap</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00026">MutablePointsToDS.h:26</a></div></div>
1901
1901
  <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>
1902
1902
  </div><!-- fragment -->
@@ -1940,9 +1940,9 @@ template&lt;class Cond&gt; </div>
1940
1940
 
1941
1941
  <p>Whether cpts1 and cpts2 have overlap points-to targets. </p>
1942
1942
 
1943
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00335">335</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1944
- <div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</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> it1 = cpts1.begin(); it1 != cpts1.end(); ++it1)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</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> it2 = cpts2.begin(); it2 != cpts2.end(); ++it2)</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(*it1,*it2))</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }</div><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>
1945
- <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#l00433">PointerAnalysisImpl.h:433</a></div></div>
1943
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00334">334</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1944
+ <div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</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> it1 = cpts1.begin(); it1 != cpts1.end(); ++it1)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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> it2 = cpts2.begin(); it2 != cpts2.end(); ++it2)</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(*it1,*it2))</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div><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>
1945
+ <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#l00432">PointerAnalysisImpl.h:432</a></div></div>
1946
1946
  </div><!-- fragment -->
1947
1947
  </div>
1948
1948
  </div>
@@ -1983,8 +1983,8 @@ template&lt;class Cond&gt; </div>
1983
1983
  </div><div class="memdoc">
1984
1984
  <p>Union/add points-to, and add the reverse points-to for node collapse purpose To be noted that adding reverse pts might incur 10% total overhead during solving </p>
1985
1985
 
1986
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00377">377</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1987
- <div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; {</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">unionPts</a>(<span class="keywordtype">id</span>, target);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
1986
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00376">376</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
1987
+ <div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">unionPts</a>(<span class="keywordtype">id</span>, target);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
1988
1988
  <div class="ttc" id="classSVF_1_1PTData_html_af7aa22f11558c12ff16612174e2221dd"><div class="ttname"><a href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">SVF::PTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const Key &amp;dstVar, const Key &amp;srcVar)=0</div><div class="ttdoc">Performs pts(dstVar) = pts(dstVar) U pts(srcVar). </div></div>
1989
1989
  </div><!-- fragment -->
1990
1990
  </div>
@@ -2025,8 +2025,8 @@ template&lt;class Cond&gt; </div>
2025
2025
  </table>
2026
2026
  </div><div class="memdoc">
2027
2027
 
2028
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00382">382</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2029
- <div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">unionPts</a>(<span class="keywordtype">id</span>,ptd);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div><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#l00467">PointerAnalysisImpl.h:467</a></div></div>
2028
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00381">381</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2029
+ <div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-&gt;<a class="code" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">unionPts</a>(<span class="keywordtype">id</span>,ptd);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div><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#l00466">PointerAnalysisImpl.h:466</a></div></div>
2030
2030
  <div class="ttc" id="classSVF_1_1PTData_html_af7aa22f11558c12ff16612174e2221dd"><div class="ttname"><a href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">SVF::PTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const Key &amp;dstVar, const Key &amp;srcVar)=0</div><div class="ttdoc">Performs pts(dstVar) = pts(dstVar) U pts(srcVar). </div></div>
2031
2031
  </div><!-- fragment -->
2032
2032
  </div>
@@ -2056,7 +2056,7 @@ template&lt;class Cond&gt; </div>
2056
2056
 
2057
2057
  <p>Normalized flag. </p>
2058
2058
 
2059
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00469">469</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2059
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00468">468</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2060
2060
 
2061
2061
  </div>
2062
2062
  </div>
@@ -2084,7 +2084,7 @@ template&lt;class Cond&gt; </div>
2084
2084
 
2085
2085
  <p>Normal points-to representation (without conditions) </p>
2086
2086
 
2087
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00473">473</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2087
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00472">472</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2088
2088
 
2089
2089
  </div>
2090
2090
  </div>
@@ -2112,7 +2112,7 @@ template&lt;class Cond&gt; </div>
2112
2112
 
2113
2113
  <p>Points-to data. </p>
2114
2114
 
2115
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00467">467</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2115
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00466">466</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2116
2116
 
2117
2117
  </div>
2118
2118
  </div>
@@ -2140,7 +2140,7 @@ template&lt;class Cond&gt; </div>
2140
2140
 
2141
2141
  <p>Normal points-to representation (without conditions) </p>
2142
2142
 
2143
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00471">471</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2143
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00470">470</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2144
2144
 
2145
2145
  </div>
2146
2146
  </div>
@@ -2168,7 +2168,7 @@ template&lt;class Cond&gt; </div>
2168
2168
 
2169
2169
  <p>Conditional points-to representation (with conditions) </p>
2170
2170
 
2171
- <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00475">475</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2171
+ <p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00474">474</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
2172
2172
 
2173
2173
  </div>
2174
2174
  </div>