svf-tools 1.0.284 → 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 (388) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  5. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  7. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  12. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  13. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  16. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  17. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  22. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  23. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  27. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +3 -3
  29. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +5 -5
  31. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
  34. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +4 -4
  36. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +7 -7
  38. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  39. package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
  40. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
  42. package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -3
  43. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
  44. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  45. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  47. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
  48. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +15 -15
  51. package/SVF-doxygen/html/html/MemPartition_8h_source.html +11 -11
  52. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +103 -34
  53. package/SVF-doxygen/html/html/MemRegion_8h.html +3 -3
  54. package/SVF-doxygen/html/html/MemRegion_8h_source.html +97 -109
  55. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +43 -42
  56. package/SVF-doxygen/html/html/MemSSA_8h_source.html +46 -47
  57. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
  58. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +5 -5
  59. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  60. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  61. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +29 -29
  64. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
  65. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +2 -2
  66. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +19 -21
  67. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +81 -81
  68. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
  69. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +8 -8
  71. package/SVF-doxygen/html/html/SVFGBuilder_8h.html +2 -1
  72. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +20 -19
  73. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  74. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  75. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
  76. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -4
  77. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +21 -21
  78. package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -0
  79. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +46 -45
  80. package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -13
  81. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +9 -8
  83. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +34 -33
  84. package/SVF-doxygen/html/html/SVFUtil_8h.html +14 -2
  85. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +43 -36
  86. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  88. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
  89. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  90. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
  91. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  93. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  94. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  95. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
  96. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  97. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  98. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  99. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  100. package/SVF-doxygen/html/html/annotated.html +16 -16
  101. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +5 -5
  102. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  103. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +58 -59
  107. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +19 -22
  108. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +48 -49
  109. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -12
  110. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +60 -61
  111. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +2 -5
  112. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +63 -64
  113. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +2 -5
  114. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +59 -60
  115. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -5
  116. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +63 -64
  117. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -8
  118. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +67 -68
  119. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -5
  120. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  121. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +58 -59
  122. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -5
  123. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +64 -65
  124. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +4 -7
  125. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  126. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +135 -138
  128. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  130. package/SVF-doxygen/html/html/classSVF_1_1BranchCondManager.html +2 -2
  131. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  132. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  135. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
  137. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  140. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  141. package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
  143. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  150. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +63 -62
  151. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +94 -92
  152. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +65 -66
  157. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -5
  158. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +4 -4
  159. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +51 -52
  160. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -13
  161. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +62 -63
  162. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +35 -38
  163. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
  164. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +74 -75
  165. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +17 -20
  166. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +3 -3
  167. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +5 -5
  168. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  170. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
  171. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
  175. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
  176. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
  178. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +71 -70
  180. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +88 -86
  181. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  182. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +71 -70
  185. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +126 -124
  186. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  187. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +13 -13
  190. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
  191. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +11 -11
  195. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +3 -3
  196. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
  197. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +5 -5
  198. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +76 -75
  199. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +515 -506
  200. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +2 -2
  201. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
  202. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
  204. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +5 -5
  206. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  207. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  208. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
  209. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +14 -14
  210. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +3 -3
  211. package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +9 -10
  212. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +38 -56
  213. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +1 -1
  214. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +132 -132
  215. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +5 -5
  216. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +21 -21
  217. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  221. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +6 -6
  222. package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  224. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  225. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  227. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +4 -4
  230. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  231. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +9 -9
  232. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +28 -27
  233. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +144 -111
  234. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -21
  235. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +5 -5
  237. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  239. package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  242. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +4 -4
  243. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +62 -62
  244. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +37 -37
  245. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +6 -6
  246. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +49 -49
  247. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  249. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +15 -15
  250. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +52 -53
  252. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -9
  253. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
  255. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  257. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  258. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  260. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
  261. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +51 -52
  264. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -6
  265. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +10 -10
  266. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  269. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  271. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +82 -83
  272. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -8
  273. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  274. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -7
  275. package/SVF-doxygen/html/html/classes.html +2 -2
  276. package/SVF-doxygen/html/html/functions_a.html +10 -10
  277. package/SVF-doxygen/html/html/functions_c.html +11 -11
  278. package/SVF-doxygen/html/html/functions_e.html +4 -7
  279. package/SVF-doxygen/html/html/functions_f.html +17 -14
  280. package/SVF-doxygen/html/html/functions_func.html +10 -10
  281. package/SVF-doxygen/html/html/functions_func_c.html +5 -5
  282. package/SVF-doxygen/html/html/functions_func_g.html +33 -30
  283. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  284. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  285. package/SVF-doxygen/html/html/functions_func_m.html +2 -2
  286. package/SVF-doxygen/html/html/functions_func_o.html +3 -3
  287. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  288. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  289. package/SVF-doxygen/html/html/functions_g.html +30 -27
  290. package/SVF-doxygen/html/html/functions_h.html +1 -1
  291. package/SVF-doxygen/html/html/functions_i.html +7 -7
  292. package/SVF-doxygen/html/html/functions_l.html +4 -4
  293. package/SVF-doxygen/html/html/functions_m.html +2 -2
  294. package/SVF-doxygen/html/html/functions_o.html +7 -9
  295. package/SVF-doxygen/html/html/functions_p.html +17 -13
  296. package/SVF-doxygen/html/html/functions_r.html +8 -4
  297. package/SVF-doxygen/html/html/functions_s.html +7 -7
  298. package/SVF-doxygen/html/html/functions_t.html +3 -3
  299. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  300. package/SVF-doxygen/html/html/functions_type_e.html +0 -3
  301. package/SVF-doxygen/html/html/functions_type_f.html +4 -1
  302. package/SVF-doxygen/html/html/functions_type_l.html +1 -1
  303. package/SVF-doxygen/html/html/functions_type_p.html +3 -3
  304. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  305. package/SVF-doxygen/html/html/functions_vars_c.html +5 -5
  306. package/SVF-doxygen/html/html/functions_vars_f.html +3 -3
  307. package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
  308. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  309. package/SVF-doxygen/html/html/globals_s.html +3 -3
  310. package/SVF-doxygen/html/html/hierarchy.html +2 -2
  311. package/SVF-doxygen/html/html/menudata.js +1 -0
  312. package/SVF-doxygen/html/html/namespaceSVF.html +3 -3
  313. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +250 -122
  314. package/SVF-doxygen/html/html/namespacemembers_c.html +3 -0
  315. package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
  316. package/SVF-doxygen/html/html/namespacemembers_func.html +23 -10
  317. package/SVF-doxygen/html/html/namespacemembers_m.html +3 -0
  318. package/SVF-doxygen/html/html/namespacemembers_p.html +4 -1
  319. package/SVF-doxygen/html/html/namespacemembers_type_e.html +3 -0
  320. package/SVF-doxygen/html/html/namespacemembers_type_p.html +1 -1
  321. package/SVF-doxygen/html/html/search/all_1.js +10 -10
  322. package/SVF-doxygen/html/html/search/all_10.js +12 -11
  323. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  324. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  325. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  326. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  327. package/SVF-doxygen/html/html/search/all_3.js +12 -11
  328. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  329. package/SVF-doxygen/html/html/search/all_6.js +4 -3
  330. package/SVF-doxygen/html/html/search/all_7.js +14 -13
  331. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  332. package/SVF-doxygen/html/html/search/all_9.js +4 -4
  333. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  334. package/SVF-doxygen/html/html/search/all_d.js +5 -4
  335. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  336. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  337. package/SVF-doxygen/html/html/search/classes_4.js +2 -1
  338. package/SVF-doxygen/html/html/search/functions_0.js +10 -10
  339. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  340. package/SVF-doxygen/html/html/search/functions_2.js +6 -5
  341. package/SVF-doxygen/html/html/search/functions_6.js +14 -13
  342. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  343. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  344. package/SVF-doxygen/html/html/search/functions_b.js +3 -2
  345. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  346. package/SVF-doxygen/html/html/search/functions_e.js +2 -1
  347. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  348. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  349. package/SVF-doxygen/html/html/search/typedefs_4.js +2 -1
  350. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -1
  351. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
  352. package/SVF-doxygen/html/html/search/typedefs_f.js +3 -3
  353. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  354. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  355. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  356. package/SVF-doxygen/html/html/search/variables_3.js +5 -5
  357. package/SVF-doxygen/html/html/search/variables_6.js +3 -3
  358. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  359. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  360. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  361. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
  362. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS-members.html +81 -0
  363. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS.html +134 -0
  364. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalPointsTo.html +3 -3
  365. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  366. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  367. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +1 -1
  368. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  369. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  370. package/include/Graphs/SVFG.h +4 -4
  371. package/include/Graphs/SVFGOPT.h +4 -4
  372. package/include/MSSA/MemPartition.h +10 -10
  373. package/include/MSSA/MemRegion.h +40 -64
  374. package/include/MSSA/MemSSA.h +1 -4
  375. package/include/MSSA/SVFGBuilder.h +1 -0
  376. package/include/MemoryModel/LocationSet.h +3 -3
  377. package/include/MemoryModel/PersistentPointsToCache.h +19 -8
  378. package/include/MemoryModel/PointerAnalysisImpl.h +3 -4
  379. package/include/Util/SVFUtil.h +44 -1
  380. package/lib/Graphs/SVFG.cpp +12 -12
  381. package/lib/Graphs/SVFGOPT.cpp +6 -6
  382. package/lib/MSSA/MemPartition.cpp +31 -31
  383. package/lib/MSSA/MemRegion.cpp +59 -35
  384. package/lib/MSSA/MemSSA.cpp +5 -0
  385. package/lib/MemoryModel/LocationSet.cpp +2 -2
  386. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -4
  387. package/lib/Util/SVFUtil.cpp +3 -2
  388. package/package.json +1 -1
@@ -88,11 +88,11 @@ Inheritance diagram for SVF::IntraDisjointMRG:</div>
88
88
  <table class="memberdecls">
89
89
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
90
90
  Public Types</h2></td></tr>
91
- <tr class="memitem:a95e5cc07c8e1838f9336c6a2f0aa941a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>, <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a></td></tr>
92
- <tr class="separator:a95e5cc07c8e1838f9336c6a2f0aa941a"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
- <tr class="memitem:a824dec1bb1df5052252e7fe0dd55a894"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a824dec1bb1df5052252e7fe0dd55a894">FunToPtsMap</a></td></tr>
91
+ <tr class="memitem:a5ff8d1cade33445ef7c17f0aedd6a4d1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a></td></tr>
92
+ <tr class="separator:a5ff8d1cade33445ef7c17f0aedd6a4d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
+ <tr class="memitem:a824dec1bb1df5052252e7fe0dd55a894"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a824dec1bb1df5052252e7fe0dd55a894">FunToPtsMap</a></td></tr>
94
94
  <tr class="separator:a824dec1bb1df5052252e7fe0dd55a894"><td class="memSeparator" colspan="2">&#160;</td></tr>
95
- <tr class="memitem:ad59c11753db0b310246418df4c62f639"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad59c11753db0b310246418df4c62f639">FunToInterMap</a></td></tr>
95
+ <tr class="memitem:ad59c11753db0b310246418df4c62f639"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad59c11753db0b310246418df4c62f639">FunToInterMap</a></td></tr>
96
96
  <tr class="separator:ad59c11753db0b310246418df4c62f639"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
97
  <tr class="inherit_header pub_types_classSVF_1_1MRGenerator"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1MRGenerator')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td></tr>
98
98
  <tr class="memitem:a68d50c752252bd40c402c7b99b95f0fc inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a></td></tr>
@@ -102,12 +102,14 @@ Public Types</h2></td></tr>
102
102
  <tr class="separator:a98ac3bf264e6a85d172c2c4264ea908f inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
103
  <tr class="memitem:a82be01b460a498c07fb6a8aba853ed31 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> *, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31">PAGEdgeToFunMap</a></td></tr>
104
104
  <tr class="separator:a82be01b460a498c07fb6a8aba853ed31 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
- <tr class="memitem:a2a9b87b7b9a567a7fd94e9267f3eb054 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>, <a class="el" href="structSVF_1_1SVFUtil_1_1equalPointsTo.html">SVFUtil::equalPointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a></td></tr>
106
- <tr class="separator:a2a9b87b7b9a567a7fd94e9267f3eb054 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
- <tr class="memitem:a71b584c7e0feb3014ad5f74eb31467bb inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a71b584c7e0feb3014ad5f74eb31467bb">FunToPointsToMap</a></td></tr>
108
- <tr class="separator:a71b584c7e0feb3014ad5f74eb31467bb inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
- <tr class="memitem:a429b45a55b948d6d1ffd73ea0ac6c04c inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>, <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>, <a class="el" href="structSVF_1_1SVFUtil_1_1equalPointsTo.html">SVFUtil::equalPointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a429b45a55b948d6d1ffd73ea0ac6c04c">PtsToRepPtsSetMap</a></td></tr>
110
- <tr class="separator:a429b45a55b948d6d1ffd73ea0ac6c04c inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
+ <tr class="memitem:a8b254a0c5063e25f297d1b00fb0b515e inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html">SVFUtil::equalNodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a></td></tr>
106
+ <tr class="separator:a8b254a0c5063e25f297d1b00fb0b515e inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:ad492e2940936fc7df06127f0cb94d47a inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">FunToPointsToMap</a></td></tr>
108
+ <tr class="separator:ad492e2940936fc7df06127f0cb94d47a inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+ <tr class="memitem:a6b8bbb60126105cc77c1a6a4c46677fd inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">FunToPointsTosMap</a></td></tr>
110
+ <tr class="separator:a6b8bbb60126105cc77c1a6a4c46677fd inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+ <tr class="memitem:a665836fd866c6393fc4a251eb4929dae inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html">SVFUtil::equalNodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a665836fd866c6393fc4a251eb4929dae">PtsToRepPtsSetMap</a></td></tr>
112
+ <tr class="separator:a665836fd866c6393fc4a251eb4929dae inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
113
  <tr class="memitem:a090070379a09460aef0c07270d32d27b inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">FunToMRsMap</a></td></tr>
112
114
  <tr class="memdesc:a090070379a09460aef0c07270d32d27b inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a function to its region set. <a href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">More...</a><br /></td></tr>
113
115
  <tr class="separator:a090070379a09460aef0c07270d32d27b inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -125,13 +127,13 @@ Public Types</h2></td></tr>
125
127
  <tr class="separator:a9d2221818297a7abeb8d8736093105d0 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
126
128
  <tr class="memitem:a71b5ce2c754ffff5a84fdb0c3aa16819 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a71b5ce2c754ffff5a84fdb0c3aa16819">CallSiteToMRsMap</a></td></tr>
127
129
  <tr class="separator:a71b5ce2c754ffff5a84fdb0c3aa16819 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
- <tr class="memitem:af500450901135fd31ceb2ab497ca1086 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *, <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af500450901135fd31ceb2ab497ca1086">LoadsToPointsToMap</a></td></tr>
129
- <tr class="memdesc:af500450901135fd31ceb2ab497ca1086 inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map loads/stores/callsites to their cpts set. <a href="classSVF_1_1MRGenerator.html#af500450901135fd31ceb2ab497ca1086">More...</a><br /></td></tr>
130
- <tr class="separator:af500450901135fd31ceb2ab497ca1086 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
- <tr class="memitem:a4e246650818afd8be99a5ed6e23c4cd7 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *, <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a4e246650818afd8be99a5ed6e23c4cd7">StoresToPointsToMap</a></td></tr>
132
- <tr class="separator:a4e246650818afd8be99a5ed6e23c4cd7 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:ae73349361642cbc0c5f4be0b8bf96090 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ae73349361642cbc0c5f4be0b8bf96090">CallSiteToPointsToMap</a></td></tr>
134
- <tr class="separator:ae73349361642cbc0c5f4be0b8bf96090 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
+ <tr class="memitem:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">LoadsToPointsToMap</a></td></tr>
131
+ <tr class="memdesc:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map loads/stores/callsites to their cpts set. <a href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">More...</a><br /></td></tr>
132
+ <tr class="separator:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+ <tr class="memitem:a45e786ca09aa6cbfcf17d8e5a166a801 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a45e786ca09aa6cbfcf17d8e5a166a801">StoresToPointsToMap</a></td></tr>
134
+ <tr class="separator:a45e786ca09aa6cbfcf17d8e5a166a801 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
+ <tr class="memitem:a9d22e9d113393c536c5fe473fd76f388 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9d22e9d113393c536c5fe473fd76f388">CallSiteToPointsToMap</a></td></tr>
136
+ <tr class="separator:a9d22e9d113393c536c5fe473fd76f388 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
137
  <tr class="memitem:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">FunToNodeBSMap</a></td></tr>
136
138
  <tr class="memdesc:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps Mod-Ref analysis. <a href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">More...</a><br /></td></tr>
137
139
  <tr class="separator:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -148,12 +150,12 @@ Public Member Functions</h2></td></tr>
148
150
  <tr class="inherit_header pub_methods_classSVF_1_1MRGenerator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1MRGenerator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td></tr>
149
151
  <tr class="memitem:a1f69924c587c4e68a029fd4e86cffacf inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1f69924c587c4e68a029fd4e86cffacf">getMRSet</a> ()</td></tr>
150
152
  <tr class="separator:a1f69924c587c4e68a029fd4e86cffacf inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
- <tr class="memitem:a2e039a855c8e421e80cc7b015211a192 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a2e039a855c8e421e80cc7b015211a192">getRepPointsTo</a> (const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts) const</td></tr>
152
- <tr class="memdesc:a2e039a855c8e421e80cc7b015211a192 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get superset cpts set. <a href="classSVF_1_1MRGenerator.html#a2e039a855c8e421e80cc7b015211a192">More...</a><br /></td></tr>
153
- <tr class="separator:a2e039a855c8e421e80cc7b015211a192 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
- <tr class="memitem:a7ecde80ed05d425a19bf7fe0c5feff84 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1MemRegion.html">MemRegion</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a7ecde80ed05d425a19bf7fe0c5feff84">getMR</a> (const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts) const</td></tr>
155
- <tr class="memdesc:a7ecde80ed05d425a19bf7fe0c5feff84 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a memory region according to cpts. <a href="classSVF_1_1MRGenerator.html#a7ecde80ed05d425a19bf7fe0c5feff84">More...</a><br /></td></tr>
156
- <tr class="separator:a7ecde80ed05d425a19bf7fe0c5feff84 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
153
+ <tr class="memitem:a98b3481580be48cff7e93bf3c8a29dac inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">getRepPointsTo</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts) const</td></tr>
154
+ <tr class="memdesc:a98b3481580be48cff7e93bf3c8a29dac inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get superset cpts set. <a href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">More...</a><br /></td></tr>
155
+ <tr class="separator:a98b3481580be48cff7e93bf3c8a29dac inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
156
+ <tr class="memitem:a55d38020bbece70847f7e72bb02bc4af inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1MemRegion.html">MemRegion</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a55d38020bbece70847f7e72bb02bc4af">getMR</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts) const</td></tr>
157
+ <tr class="memdesc:a55d38020bbece70847f7e72bb02bc4af inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a memory region according to cpts. <a href="classSVF_1_1MRGenerator.html#a55d38020bbece70847f7e72bb02bc4af">More...</a><br /></td></tr>
158
+ <tr class="separator:a55d38020bbece70847f7e72bb02bc4af inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
159
  <tr class="memitem:ad34e796ebc49f5749de39e81374dc7a7 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad34e796ebc49f5749de39e81374dc7a7">getMRNum</a> () const</td></tr>
158
160
  <tr class="separator:ad34e796ebc49f5749de39e81374dc7a7 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
159
161
  <tr class="memitem:a46e08638c8b5e6f6755de045c94862c4 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a46e08638c8b5e6f6755de045c94862c4">~MRGenerator</a> ()</td></tr>
@@ -165,12 +167,12 @@ Public Member Functions</h2></td></tr>
165
167
  <tr class="memitem:a3121380139c7ae96d2045d66203253b6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">getFunction</a> (const <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> *pagEdge) const</td></tr>
166
168
  <tr class="memdesc:a3121380139c7ae96d2045d66203253b6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the function which <a class="el" href="classSVF_1_1PAG.html">PAG</a> Edge located. <a href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">More...</a><br /></td></tr>
167
169
  <tr class="separator:a3121380139c7ae96d2045d66203253b6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
168
- <tr class="memitem:abe76a16b9eedc9f8ffca6bc39cfb5c7e inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#abe76a16b9eedc9f8ffca6bc39cfb5c7e">hasPAGEdgeList</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
169
- <tr class="memdesc:abe76a16b9eedc9f8ffca6bc39cfb5c7e inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether this instruction has <a class="el" href="classSVF_1_1PAG.html">PAG</a> Edge. <a href="classSVF_1_1MRGenerator.html#abe76a16b9eedc9f8ffca6bc39cfb5c7e">More...</a><br /></td></tr>
170
- <tr class="separator:abe76a16b9eedc9f8ffca6bc39cfb5c7e inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
171
- <tr class="memitem:a2eda764e59d9b5e7620d2cf26562615a inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a1715322c61a3f41f1a093098591869d4">PAGEdgeList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a2eda764e59d9b5e7620d2cf26562615a">getPAGEdgesFromInst</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
172
- <tr class="memdesc:a2eda764e59d9b5e7620d2cf26562615a inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an instruction, get all its the <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> (statement) in sequence. <a href="classSVF_1_1MRGenerator.html#a2eda764e59d9b5e7620d2cf26562615a">More...</a><br /></td></tr>
173
- <tr class="separator:a2eda764e59d9b5e7620d2cf26562615a inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
170
+ <tr class="memitem:a8832a53d8f6a5eb0a07551ca19c5513d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8832a53d8f6a5eb0a07551ca19c5513d">hasPAGEdgeList</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
171
+ <tr class="memdesc:a8832a53d8f6a5eb0a07551ca19c5513d inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether this instruction has <a class="el" href="classSVF_1_1PAG.html">PAG</a> Edge. <a href="classSVF_1_1MRGenerator.html#a8832a53d8f6a5eb0a07551ca19c5513d">More...</a><br /></td></tr>
172
+ <tr class="separator:a8832a53d8f6a5eb0a07551ca19c5513d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
173
+ <tr class="memitem:a5875a7f064e468d5eceba737eeb44791 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a1715322c61a3f41f1a093098591869d4">PAGEdgeList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a5875a7f064e468d5eceba737eeb44791">getPAGEdgesFromInst</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
174
+ <tr class="memdesc:a5875a7f064e468d5eceba737eeb44791 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an instruction, get all its the <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> (statement) in sequence. <a href="classSVF_1_1MRGenerator.html#a5875a7f064e468d5eceba737eeb44791">More...</a><br /></td></tr>
175
+ <tr class="separator:a5875a7f064e468d5eceba737eeb44791 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
176
  <tr class="memitem:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
175
177
  <tr class="memdesc:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Memory Region set. <a href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">More...</a><br /></td></tr>
176
178
  <tr class="separator:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -186,11 +188,11 @@ Public Member Functions</h2></td></tr>
186
188
  <tr class="separator:a7ede01d58bb2490ded5895ca5bd45948 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
187
189
  <tr class="memitem:acb78098bf1fc8c3a80720a3dff3a0a1d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acb78098bf1fc8c3a80720a3dff3a0a1d">getCallSiteModMRSet</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
188
190
  <tr class="separator:acb78098bf1fc8c3a80720a3dff3a0a1d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
189
- <tr class="memitem:a1658aacb68aacb4785266263c1641a6a inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1658aacb68aacb4785266263c1641a6a">getModInfoForCall</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
190
- <tr class="memdesc:a1658aacb68aacb4785266263c1641a6a inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">getModRefInfo APIs <a href="classSVF_1_1MRGenerator.html#a1658aacb68aacb4785266263c1641a6a">More...</a><br /></td></tr>
191
- <tr class="separator:a1658aacb68aacb4785266263c1641a6a inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
192
- <tr class="memitem:afc17f566f57656cf17c08665602b4849 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#afc17f566f57656cf17c08665602b4849">getRefInfoForCall</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
193
- <tr class="separator:afc17f566f57656cf17c08665602b4849 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
191
+ <tr class="memitem:af0d1a34ce38e9b20ee6fc7b27fcd5198 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af0d1a34ce38e9b20ee6fc7b27fcd5198">getModInfoForCall</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
192
+ <tr class="memdesc:af0d1a34ce38e9b20ee6fc7b27fcd5198 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">getModRefInfo APIs <a href="classSVF_1_1MRGenerator.html#af0d1a34ce38e9b20ee6fc7b27fcd5198">More...</a><br /></td></tr>
193
+ <tr class="separator:af0d1a34ce38e9b20ee6fc7b27fcd5198 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
+ <tr class="memitem:acbc431cc7fb72135e592d74709ea7a77 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acbc431cc7fb72135e592d74709ea7a77">getRefInfoForCall</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
195
+ <tr class="separator:acbc431cc7fb72135e592d74709ea7a77 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
196
  <tr class="memitem:a455e0ba173141ac8ce76a655ac52205f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a7e833aa9feaf931fb44fb1e3fd502a6c">ModRefInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a455e0ba173141ac8ce76a655ac52205f">getModRefInfo</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
195
197
  <tr class="separator:a455e0ba173141ac8ce76a655ac52205f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
198
  <tr class="memitem:a9f1d1604fb884e5c99702556915396f9 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a7e833aa9feaf931fb44fb1e3fd502a6c">ModRefInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9f1d1604fb884e5c99702556915396f9">getModRefInfo</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *V)</td></tr>
@@ -203,25 +205,25 @@ Protected Member Functions</h2></td></tr>
203
205
  <tr class="memitem:a6d2434f0e3a318b89b7b9fa4f5613b64"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a6d2434f0e3a318b89b7b9fa4f5613b64">partitionMRs</a> ()</td></tr>
204
206
  <tr class="memdesc:a6d2434f0e3a318b89b7b9fa4f5613b64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partition regions. <a href="#a6d2434f0e3a318b89b7b9fa4f5613b64">More...</a><br /></td></tr>
205
207
  <tr class="separator:a6d2434f0e3a318b89b7b9fa4f5613b64"><td class="memSeparator" colspan="2">&#160;</td></tr>
206
- <tr class="memitem:aa1395f921e2a6e2607a6887f134cb63f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#aa1395f921e2a6e2607a6887f134cb63f">getMRsForLoad</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;aliasMRs, const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
207
- <tr class="separator:aa1395f921e2a6e2607a6887f134cb63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
- <tr class="memitem:a9caabaac320e8a28bb7176f8da285f1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a9caabaac320e8a28bb7176f8da285f1f">getMRsForLoadFromInterList</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;mrs, const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &amp;inters)</td></tr>
209
- <tr class="separator:a9caabaac320e8a28bb7176f8da285f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
- <tr class="memitem:a8a1c8f676758ba6193bc683d10126175"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a8a1c8f676758ba6193bc683d10126175">getMRsForCallSiteRef</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;aliasMRs, const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
211
- <tr class="memdesc:a8a1c8f676758ba6193bc683d10126175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get memory regions to be inserted at a load statement. <a href="#a8a1c8f676758ba6193bc683d10126175">More...</a><br /></td></tr>
212
- <tr class="separator:a8a1c8f676758ba6193bc683d10126175"><td class="memSeparator" colspan="2">&#160;</td></tr>
213
- <tr class="memitem:a25480ff3297b8e6037d62809aee81a79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a25480ff3297b8e6037d62809aee81a79">createDisjointMR</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func, const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts)</td></tr>
214
- <tr class="memdesc:a25480ff3297b8e6037d62809aee81a79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create disjoint memory region. <a href="#a25480ff3297b8e6037d62809aee81a79">More...</a><br /></td></tr>
215
- <tr class="separator:a25480ff3297b8e6037d62809aee81a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
216
- <tr class="memitem:a8e40dbd57f40172ca5356122874c0978"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a8e40dbd57f40172ca5356122874c0978">computeIntersections</a> (const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &amp;inters)</td></tr>
217
- <tr class="memdesc:a8e40dbd57f40172ca5356122874c0978"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute intersections between cpts and computed cpts intersections before. <a href="#a8e40dbd57f40172ca5356122874c0978">More...</a><br /></td></tr>
218
- <tr class="separator:a8e40dbd57f40172ca5356122874c0978"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
+ <tr class="memitem:ae577d4d6f3a6e6fb62f6eff49ca6be88"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">getMRsForLoad</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;aliasMRs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
209
+ <tr class="separator:ae577d4d6f3a6e6fb62f6eff49ca6be88"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
+ <tr class="memitem:a8d390306f30e8b9736a3d1228ef5bf3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a8d390306f30e8b9736a3d1228ef5bf3a">getMRsForLoadFromInterList</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;mrs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &amp;inters)</td></tr>
211
+ <tr class="separator:a8d390306f30e8b9736a3d1228ef5bf3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
212
+ <tr class="memitem:a89ca36aaf82f17963abaa67c88415272"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a89ca36aaf82f17963abaa67c88415272">getMRsForCallSiteRef</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;aliasMRs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
213
+ <tr class="memdesc:a89ca36aaf82f17963abaa67c88415272"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get memory regions to be inserted at a load statement. <a href="#a89ca36aaf82f17963abaa67c88415272">More...</a><br /></td></tr>
214
+ <tr class="separator:a89ca36aaf82f17963abaa67c88415272"><td class="memSeparator" colspan="2">&#160;</td></tr>
215
+ <tr class="memitem:a17d0ad0c62982d2b03121e935469e7b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a17d0ad0c62982d2b03121e935469e7b2">createDisjointMR</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts)</td></tr>
216
+ <tr class="memdesc:a17d0ad0c62982d2b03121e935469e7b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create disjoint memory region. <a href="#a17d0ad0c62982d2b03121e935469e7b2">More...</a><br /></td></tr>
217
+ <tr class="separator:a17d0ad0c62982d2b03121e935469e7b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
218
+ <tr class="memitem:adb3ed119aee3f1bc62b9679ee095580d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#adb3ed119aee3f1bc62b9679ee095580d">computeIntersections</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &amp;inters)</td></tr>
219
+ <tr class="memdesc:adb3ed119aee3f1bc62b9679ee095580d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute intersections between cpts and computed cpts intersections before. <a href="#adb3ed119aee3f1bc62b9679ee095580d">More...</a><br /></td></tr>
220
+ <tr class="separator:adb3ed119aee3f1bc62b9679ee095580d"><td class="memSeparator" colspan="2">&#160;</td></tr>
219
221
  <tr class="inherit_header pro_methods_classSVF_1_1MRGenerator"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1MRGenerator')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td></tr>
220
- <tr class="memitem:a1023eb17f1a46eee9a948490a4c8fdd5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1023eb17f1a46eee9a948490a4c8fdd5">MRGenerator</a> (<a class="el" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> *p, bool ptrOnly)</td></tr>
221
- <tr class="separator:a1023eb17f1a46eee9a948490a4c8fdd5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
222
- <tr class="memitem:a42708b4ce8b5548e156a0e6d01602cc2 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a42708b4ce8b5548e156a0e6d01602cc2">createMR</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun, const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts)</td></tr>
223
- <tr class="memdesc:a42708b4ce8b5548e156a0e6d01602cc2 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a memory region and put in into functions which use it. <a href="classSVF_1_1MRGenerator.html#a42708b4ce8b5548e156a0e6d01602cc2">More...</a><br /></td></tr>
224
- <tr class="separator:a42708b4ce8b5548e156a0e6d01602cc2 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
222
+ <tr class="memitem:ac8fedbb65a582135354c939183d48f46 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">MRGenerator</a> (<a class="el" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> *p, bool ptrOnly)</td></tr>
223
+ <tr class="separator:ac8fedbb65a582135354c939183d48f46 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
224
+ <tr class="memitem:ac18324bd2b862c3cdbf65494bf69ecb5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">createMR</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts)</td></tr>
225
+ <tr class="memdesc:ac18324bd2b862c3cdbf65494bf69ecb5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a memory region and put in into functions which use it. <a href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">More...</a><br /></td></tr>
226
+ <tr class="separator:ac18324bd2b862c3cdbf65494bf69ecb5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
225
227
  <tr class="memitem:afdae3e11009966856736d9aa1e2ad5bd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#afdae3e11009966856736d9aa1e2ad5bd">collectGlobals</a> ()</td></tr>
226
228
  <tr class="memdesc:afdae3e11009966856736d9aa1e2ad5bd inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect all global variables for later escape analysis. <a href="classSVF_1_1MRGenerator.html#afdae3e11009966856736d9aa1e2ad5bd">More...</a><br /></td></tr>
227
229
  <tr class="separator:afdae3e11009966856736d9aa1e2ad5bd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -234,36 +236,36 @@ Protected Member Functions</h2></td></tr>
234
236
  <tr class="memitem:a9c1da53188729eb743e1a33bbad87af7 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9c1da53188729eb743e1a33bbad87af7">updateAliasMRs</a> ()</td></tr>
235
237
  <tr class="memdesc:a9c1da53188729eb743e1a33bbad87af7 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update aliased regions for loads/stores/callsites. <a href="classSVF_1_1MRGenerator.html#a9c1da53188729eb743e1a33bbad87af7">More...</a><br /></td></tr>
236
238
  <tr class="separator:a9c1da53188729eb743e1a33bbad87af7 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
237
- <tr class="memitem:a4d20ddfe5cb90d91fd86276a3f010b87 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a4d20ddfe5cb90d91fd86276a3f010b87">sortPointsTo</a> (const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts)</td></tr>
238
- <tr class="memdesc:a4d20ddfe5cb90d91fd86276a3f010b87 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a condition pts, insert into cptsToRepCPtsMap for region generation. <a href="classSVF_1_1MRGenerator.html#a4d20ddfe5cb90d91fd86276a3f010b87">More...</a><br /></td></tr>
239
- <tr class="separator:a4d20ddfe5cb90d91fd86276a3f010b87 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
240
- <tr class="memitem:acd1759ce72edc748e6628d7e82458473 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acd1759ce72edc748e6628d7e82458473">isAliasedMR</a> (const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1MemRegion.html">MemRegion</a> *mr)</td></tr>
241
- <tr class="memdesc:acd1759ce72edc748e6628d7e82458473 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether a region is aliased with a conditional points-to. <a href="classSVF_1_1MRGenerator.html#acd1759ce72edc748e6628d7e82458473">More...</a><br /></td></tr>
242
- <tr class="separator:acd1759ce72edc748e6628d7e82458473 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
243
- <tr class="memitem:a6426e7a9a6324b8b2f8a9bcf4aab1fc1 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6426e7a9a6324b8b2f8a9bcf4aab1fc1">getAliasMemRegions</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;aliasMRs, const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
244
- <tr class="memdesc:a6426e7a9a6324b8b2f8a9bcf4aab1fc1 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all aliased mem regions from function fun according to cpts. <a href="classSVF_1_1MRGenerator.html#a6426e7a9a6324b8b2f8a9bcf4aab1fc1">More...</a><br /></td></tr>
245
- <tr class="separator:a6426e7a9a6324b8b2f8a9bcf4aab1fc1 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
239
+ <tr class="memitem:a66d94d15fb94e90a771f6b3dd7c0ecdd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a66d94d15fb94e90a771f6b3dd7c0ecdd">sortPointsTo</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts)</td></tr>
240
+ <tr class="memdesc:a66d94d15fb94e90a771f6b3dd7c0ecdd inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a condition pts, insert into cptsToRepCPtsMap for region generation. <a href="classSVF_1_1MRGenerator.html#a66d94d15fb94e90a771f6b3dd7c0ecdd">More...</a><br /></td></tr>
241
+ <tr class="separator:a66d94d15fb94e90a771f6b3dd7c0ecdd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
242
+ <tr class="memitem:a28130cc55ab317d383ba6593f323b12a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">isAliasedMR</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1MemRegion.html">MemRegion</a> *mr)</td></tr>
243
+ <tr class="memdesc:a28130cc55ab317d383ba6593f323b12a inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether a region is aliased with a conditional points-to. <a href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">More...</a><br /></td></tr>
244
+ <tr class="separator:a28130cc55ab317d383ba6593f323b12a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
245
+ <tr class="memitem:ad740188222439c089907fa6c6c951f02 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02">getAliasMemRegions</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;aliasMRs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
246
+ <tr class="memdesc:ad740188222439c089907fa6c6c951f02 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all aliased mem regions from function fun according to cpts. <a href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02">More...</a><br /></td></tr>
247
+ <tr class="separator:ad740188222439c089907fa6c6c951f02 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
246
248
  <tr class="memitem:adc9d530e6f010596d91cd3711dc1358b inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#adc9d530e6f010596d91cd3711dc1358b">modRefAnalysis</a> (<a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> *callGraphNode, <a class="el" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> &amp;worklist)</td></tr>
247
249
  <tr class="memdesc:adc9d530e6f010596d91cd3711dc1358b inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mod-Ref analysis for callsite invoking this callGraphNode. <a href="classSVF_1_1MRGenerator.html#adc9d530e6f010596d91cd3711dc1358b">More...</a><br /></td></tr>
248
250
  <tr class="separator:adc9d530e6f010596d91cd3711dc1358b inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
249
251
  <tr class="memitem:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">handleCallsiteModRef</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;mod, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;ref, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
250
252
  <tr class="memdesc:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Mod-Ref of a callee function. <a href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">More...</a><br /></td></tr>
251
253
  <tr class="separator:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
252
- <tr class="memitem:ae439967f24dbb6dbc11287592eb0d30c inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ae439967f24dbb6dbc11287592eb0d30c">addCPtsToStore</a> (<a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *st, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
253
- <tr class="memdesc:ae439967f24dbb6dbc11287592eb0d30c inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add cpts to store/load. <a href="classSVF_1_1MRGenerator.html#ae439967f24dbb6dbc11287592eb0d30c">More...</a><br /></td></tr>
254
- <tr class="separator:ae439967f24dbb6dbc11287592eb0d30c inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
255
- <tr class="memitem:a4d71379ec4350d6fde0c12336c1b92d8 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a4d71379ec4350d6fde0c12336c1b92d8">addCPtsToLoad</a> (<a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *ld, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
256
- <tr class="separator:a4d71379ec4350d6fde0c12336c1b92d8 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
257
- <tr class="memitem:a2416e15c41fce38dfa63318a8f64e11f inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a2416e15c41fce38dfa63318a8f64e11f">addCPtsToCallSiteRefs</a> (<a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
258
- <tr class="separator:a2416e15c41fce38dfa63318a8f64e11f inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
259
- <tr class="memitem:ae2594115874771c93963846f3276e1fb inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ae2594115874771c93963846f3276e1fb">addCPtsToCallSiteMods</a> (<a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
260
- <tr class="separator:ae2594115874771c93963846f3276e1fb inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
254
+ <tr class="memitem:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">addCPtsToStore</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *st, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
255
+ <tr class="memdesc:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add cpts to store/load. <a href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">More...</a><br /></td></tr>
256
+ <tr class="separator:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
257
+ <tr class="memitem:a4cd3d3af2cfad7b5c086f00ab8e68169 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a4cd3d3af2cfad7b5c086f00ab8e68169">addCPtsToLoad</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *ld, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
258
+ <tr class="separator:a4cd3d3af2cfad7b5c086f00ab8e68169 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
259
+ <tr class="memitem:a77cf2b1959581da2b0cdf88291664ff3 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">addCPtsToCallSiteRefs</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
260
+ <tr class="separator:a77cf2b1959581da2b0cdf88291664ff3 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
261
+ <tr class="memitem:a3c9e58dee18cde9a6e1575e34955af78 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">addCPtsToCallSiteMods</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
262
+ <tr class="separator:a3c9e58dee18cde9a6e1575e34955af78 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
261
263
  <tr class="memitem:a1cb94c8a0379eb30c99f0c3cb2bfebaf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1cb94c8a0379eb30c99f0c3cb2bfebaf">hasCPtsList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun) const</td></tr>
262
264
  <tr class="separator:a1cb94c8a0379eb30c99f0c3cb2bfebaf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
263
- <tr class="memitem:a6d86c8ebe87cb54f39e52daa7ffb0e2e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e">getPointsToList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
265
+ <tr class="memitem:a6d86c8ebe87cb54f39e52daa7ffb0e2e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e">getPointsToList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
264
266
  <tr class="separator:a6d86c8ebe87cb54f39e52daa7ffb0e2e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
265
- <tr class="memitem:ad8333efeda532f0d403352ad6a4987e9 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a71b584c7e0feb3014ad5f74eb31467bb">FunToPointsToMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad8333efeda532f0d403352ad6a4987e9">getFunToPointsToList</a> ()</td></tr>
266
- <tr class="separator:ad8333efeda532f0d403352ad6a4987e9 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
267
+ <tr class="memitem:a1331e6f0941838064d77a5adaa5c6303 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">FunToPointsTosMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a> ()</td></tr>
268
+ <tr class="separator:a1331e6f0941838064d77a5adaa5c6303 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
267
269
  <tr class="memitem:a899c81db92c6bcf24f6f9b769e02e5bf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a899c81db92c6bcf24f6f9b769e02e5bf">addRefSideEffectOfFunction</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;refs)</td></tr>
268
270
  <tr class="memdesc:a899c81db92c6bcf24f6f9b769e02e5bf inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add/Get methods for side-effect of functions and callsites. <a href="classSVF_1_1MRGenerator.html#a899c81db92c6bcf24f6f9b769e02e5bf">More...</a><br /></td></tr>
269
271
  <tr class="separator:a899c81db92c6bcf24f6f9b769e02e5bf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -297,11 +299,11 @@ Protected Member Functions</h2></td></tr>
297
299
  </table><table class="memberdecls">
298
300
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
299
301
  Private Member Functions</h2></td></tr>
300
- <tr class="memitem:ae3c857c056f4e6e863843bafba7fdea1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae3c857c056f4e6e863843bafba7fdea1">getPtsSubSetMap</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func)</td></tr>
302
+ <tr class="memitem:ae3c857c056f4e6e863843bafba7fdea1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae3c857c056f4e6e863843bafba7fdea1">getPtsSubSetMap</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func)</td></tr>
301
303
  <tr class="separator:ae3c857c056f4e6e863843bafba7fdea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
302
- <tr class="memitem:aa8c653e895ff0889615cdbf349be7652"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func)</td></tr>
304
+ <tr class="memitem:aa8c653e895ff0889615cdbf349be7652"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func)</td></tr>
303
305
  <tr class="separator:aa8c653e895ff0889615cdbf349be7652"><td class="memSeparator" colspan="2">&#160;</td></tr>
304
- <tr class="memitem:ad0640ef6e02d9a90964ca495c0fd8f53"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad0640ef6e02d9a90964ca495c0fd8f53">getPtsSubSetMap</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func) const</td></tr>
306
+ <tr class="memitem:ad0640ef6e02d9a90964ca495c0fd8f53"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad0640ef6e02d9a90964ca495c0fd8f53">getPtsSubSetMap</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func) const</td></tr>
305
307
  <tr class="separator:ad0640ef6e02d9a90964ca495c0fd8f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
306
308
  </table><table class="memberdecls">
307
309
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
@@ -317,7 +319,7 @@ Additional Inherited Members</h2></td></tr>
317
319
  <tr class="memitem:af94bd8155a23273aab2396334d905119 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a></td></tr>
318
320
  <tr class="memdesc:af94bd8155a23273aab2396334d905119 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">A set of All memory regions. <a href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">More...</a><br /></td></tr>
319
321
  <tr class="separator:af94bd8155a23273aab2396334d905119 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
320
- <tr class="memitem:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a429b45a55b948d6d1ffd73ea0ac6c04c">PtsToRepPtsSetMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a></td></tr>
322
+ <tr class="memitem:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a665836fd866c6393fc4a251eb4929dae">PtsToRepPtsSetMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a></td></tr>
321
323
  <tr class="memdesc:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a condition pts to its rep conditional pts (super set points-to) <a href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">More...</a><br /></td></tr>
322
324
  <tr class="separator:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
323
325
  </table>
@@ -333,7 +335,7 @@ Additional Inherited Members</h2></td></tr>
333
335
  <div class="memproto">
334
336
  <table class="memname">
335
337
  <tr>
336
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a>&gt; <a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad59c11753db0b310246418df4c62f639">SVF::IntraDisjointMRG::FunToInterMap</a></td>
338
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>&gt; <a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad59c11753db0b310246418df4c62f639">SVF::IntraDisjointMRG::FunToInterMap</a></td>
337
339
  </tr>
338
340
  </table>
339
341
  </div><div class="memdoc">
@@ -349,7 +351,7 @@ Additional Inherited Members</h2></td></tr>
349
351
  <div class="memproto">
350
352
  <table class="memname">
351
353
  <tr>
352
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a>&gt; <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a824dec1bb1df5052252e7fe0dd55a894">SVF::IntraDisjointMRG::FunToPtsMap</a></td>
354
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a>&gt; <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a824dec1bb1df5052252e7fe0dd55a894">SVF::IntraDisjointMRG::FunToPtsMap</a></td>
353
355
  </tr>
354
356
  </table>
355
357
  </div><div class="memdoc">
@@ -358,14 +360,14 @@ Additional Inherited Members</h2></td></tr>
358
360
 
359
361
  </div>
360
362
  </div>
361
- <a id="a95e5cc07c8e1838f9336c6a2f0aa941a"></a>
362
- <h2 class="memtitle"><span class="permalink"><a href="#a95e5cc07c8e1838f9336c6a2f0aa941a">&#9670;&nbsp;</a></span>PtsToSubPtsMap</h2>
363
+ <a id="a5ff8d1cade33445ef7c17f0aedd6a4d1"></a>
364
+ <h2 class="memtitle"><span class="permalink"><a href="#a5ff8d1cade33445ef7c17f0aedd6a4d1">&#9670;&nbsp;</a></span>PtsToSubPtsMap</h2>
363
365
 
364
366
  <div class="memitem">
365
367
  <div class="memproto">
366
368
  <table class="memname">
367
369
  <tr>
368
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;<a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>, <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a>&gt; <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">SVF::IntraDisjointMRG::PtsToSubPtsMap</a></td>
370
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>&gt; <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">SVF::IntraDisjointMRG::PtsToSubPtsMap</a></td>
369
371
  </tr>
370
372
  </table>
371
373
  </div><div class="memdoc">
@@ -410,7 +412,7 @@ Additional Inherited Members</h2></td></tr>
410
412
  </div><div class="memdoc">
411
413
 
412
414
  <p class="definition">Definition at line <a class="el" href="MemPartition_8h_source.html#l00080">80</a> of file <a class="el" href="MemPartition_8h_source.html">MemPartition.h</a>.</p>
413
- <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; : <a class="code" href="classSVF_1_1MRGenerator.html#a1023eb17f1a46eee9a948490a4c8fdd5">MRGenerator</a>(p, ptrOnly)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_a1023eb17f1a46eee9a948490a4c8fdd5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a1023eb17f1a46eee9a948490a4c8fdd5">SVF::MRGenerator::MRGenerator</a></div><div class="ttdeci">MRGenerator(BVDataPTAImpl *p, bool ptrOnly)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00275">MemRegion.h:275</a></div></div>
415
+ <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; : <a class="code" href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">MRGenerator</a>(p, ptrOnly)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_ac8fedbb65a582135354c939183d48f46"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">SVF::MRGenerator::MRGenerator</a></div><div class="ttdeci">MRGenerator(BVDataPTAImpl *p, bool ptrOnly)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00042">MemRegion.cpp:42</a></div></div>
414
416
  </div><!-- fragment -->
415
417
  </div>
416
418
  </div>
@@ -442,8 +444,8 @@ Additional Inherited Members</h2></td></tr>
442
444
  </div>
443
445
  </div>
444
446
  <h2 class="groupheader">Member Function Documentation</h2>
445
- <a id="a8e40dbd57f40172ca5356122874c0978"></a>
446
- <h2 class="memtitle"><span class="permalink"><a href="#a8e40dbd57f40172ca5356122874c0978">&#9670;&nbsp;</a></span>computeIntersections()</h2>
447
+ <a id="adb3ed119aee3f1bc62b9679ee095580d"></a>
448
+ <h2 class="memtitle"><span class="permalink"><a href="#adb3ed119aee3f1bc62b9679ee095580d">&#9670;&nbsp;</a></span>computeIntersections()</h2>
447
449
 
448
450
  <div class="memitem">
449
451
  <div class="memproto">
@@ -454,13 +456,13 @@ Additional Inherited Members</h2></td></tr>
454
456
  <tr>
455
457
  <td class="memname">void IntraDisjointMRG::computeIntersections </td>
456
458
  <td>(</td>
457
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;&#160;</td>
459
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td>
458
460
  <td class="paramname"><em>cpts</em>, </td>
459
461
  </tr>
460
462
  <tr>
461
463
  <td class="paramkey"></td>
462
464
  <td></td>
463
- <td class="paramtype"><a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &amp;&#160;</td>
465
+ <td class="paramtype"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &amp;&#160;</td>
464
466
  <td class="paramname"><em>inters</em>&#160;</td>
465
467
  </tr>
466
468
  <tr>
@@ -480,13 +482,13 @@ Additional Inherited Members</h2></td></tr>
480
482
  <p>Compute intersections between cpts and computed cpts intersections before. </p>
481
483
 
482
484
  <p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00152">152</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
483
- <div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (inters.find(cpts) != inters.end())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// Skip this cpts if it is already in the map.</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpts.count() == 1)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// If this cpts has only one element, it will not intersect with any cpts in inters,</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// just add it into intersection set.</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; inters.insert(cpts);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> toBeDeleted;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> newInters;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> cpts_copy = cpts; <span class="comment">// make a copy since cpts may be changed.</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// check intersections with existing cpts in subSetMap</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; interIt != interEit; ++interIt)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; inter = *interIt;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">if</span> (cpts_copy.intersects(inter))</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="comment">// compute intersection between cpts and inter</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> new_inter = inter;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; new_inter &amp;= cpts_copy;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="comment">// remove old intersection and add new one if possible</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (new_inter != inter)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; toBeDeleted.insert(inter);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; newInters.insert(new_inter);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">// compute complement after intersection</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> complement = inter;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; complement.intersectWithComplement(new_inter);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">if</span> (complement.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; newInters.insert(complement);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; cpts_copy.intersectWithComplement(new_inter);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (cpts_copy.empty())</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="comment">// remove old intersections</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator it = toBeDeleted.begin(), eit = toBeDeleted.end();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; it != eit; ++it)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; temp_cpts = *it;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; inters.erase(temp_cpts);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// add new intersections</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator it = newInters.begin(), eit = newInters.end();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; it != eit; ++it)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; temp_cpts = *it;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; inters.insert(temp_cpts);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">// add remaining set into inters</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (cpts_copy.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; inters.insert(cpts_copy);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_a2a9b87b7b9a567a7fd94e9267f3eb054"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; PointsTo, SVFUtil::equalPointsTo &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00144">MemRegion.h:144</a></div></div>
484
- <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>
485
+ <div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (inters.find(cpts) != inters.end())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// Skip this cpts if it is already in the map.</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpts.count() == 1)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// If this cpts has only one element, it will not intersect with any cpts in inters,</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// just add it into intersection set.</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; inters.insert(cpts);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> toBeDeleted;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> newInters;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> cpts_copy = cpts; <span class="comment">// make a copy since cpts may be changed.</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// check intersections with existing cpts in subSetMap</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; interIt != interEit; ++interIt)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; inter = *interIt;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">if</span> (cpts_copy.intersects(inter))</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="comment">// compute intersection between cpts and inter</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> new_inter = inter;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; new_inter &amp;= cpts_copy;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="comment">// remove old intersection and add new one if possible</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (new_inter != inter)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; toBeDeleted.insert(inter);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; newInters.insert(new_inter);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">// compute complement after intersection</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> complement = inter;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; complement.intersectWithComplement(new_inter);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">if</span> (complement.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; newInters.insert(complement);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; cpts_copy.intersectWithComplement(new_inter);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (cpts_copy.empty())</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="comment">// remove old intersections</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator it = toBeDeleted.begin(), eit = toBeDeleted.end();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; it != eit; ++it)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; temp_cpts = *it;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; inters.erase(temp_cpts);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// add new intersections</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator it = newInters.begin(), eit = newInters.end();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; it != eit; ++it)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; temp_cpts = *it;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; inters.insert(temp_cpts);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">// add remaining set into inters</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (cpts_copy.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; inters.insert(cpts_copy);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_a8b254a0c5063e25f297d1b00fb0b515e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; NodeBS, SVFUtil::equalNodeBS &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00138">MemRegion.h:138</a></div></div>
486
+ <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>
485
487
  </div><!-- fragment -->
486
488
  </div>
487
489
  </div>
488
- <a id="a25480ff3297b8e6037d62809aee81a79"></a>
489
- <h2 class="memtitle"><span class="permalink"><a href="#a25480ff3297b8e6037d62809aee81a79">&#9670;&nbsp;</a></span>createDisjointMR()</h2>
490
+ <a id="a17d0ad0c62982d2b03121e935469e7b2"></a>
491
+ <h2 class="memtitle"><span class="permalink"><a href="#a17d0ad0c62982d2b03121e935469e7b2">&#9670;&nbsp;</a></span>createDisjointMR()</h2>
490
492
 
491
493
  <div class="memitem">
492
494
  <div class="memproto">
@@ -503,7 +505,7 @@ Additional Inherited Members</h2></td></tr>
503
505
  <tr>
504
506
  <td class="paramkey"></td>
505
507
  <td></td>
506
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;&#160;</td>
508
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td>
507
509
  <td class="paramname"><em>cpts</em>&#160;</td>
508
510
  </tr>
509
511
  <tr>
@@ -523,8 +525,8 @@ Additional Inherited Members</h2></td></tr>
523
525
  <p>Create memory regions for each points-to target. </p>
524
526
 
525
527
  <p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00232">232</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
526
- <div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// set the rep cpts as itself.</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a>[cpts] = cpts;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="comment">// add memory region for this points-to target.</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a42708b4ce8b5548e156a0e6d01602cc2">createMR</a>(func, cpts);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_a42708b4ce8b5548e156a0e6d01602cc2"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a42708b4ce8b5548e156a0e6d01602cc2">SVF::MRGenerator::createMR</a></div><div class="ttdeci">void createMR(const SVFFunction *fun, const PointsTo &amp;cpts)</div><div class="ttdoc">Generate a memory region and put in into functions which use it. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00064">MemRegion.cpp:64</a></div></div>
527
- <div class="ttc" id="classSVF_1_1MRGenerator_html_ab4d1ff0357d389a65ff1c2112ce631a1"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">SVF::MRGenerator::cptsToRepCPtsMap</a></div><div class="ttdeci">PtsToRepPtsSetMap cptsToRepCPtsMap</div><div class="ttdoc">Map a condition pts to its rep conditional pts (super set points-to) </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00285">MemRegion.h:285</a></div></div>
528
+ <div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// set the rep cpts as itself.</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a>[cpts] = cpts;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="comment">// add memory region for this points-to target.</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">createMR</a>(func, cpts);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_ac18324bd2b862c3cdbf65494bf69ecb5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">SVF::MRGenerator::createMR</a></div><div class="ttdeci">void createMR(const SVFFunction *fun, const NodeBS &amp;cpts)</div><div class="ttdoc">Generate a memory region and put in into functions which use it. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00070">MemRegion.cpp:70</a></div></div>
529
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_ab4d1ff0357d389a65ff1c2112ce631a1"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">SVF::MRGenerator::cptsToRepCPtsMap</a></div><div class="ttdeci">PtsToRepPtsSetMap cptsToRepCPtsMap</div><div class="ttdoc">Map a condition pts to its rep conditional pts (super set points-to) </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00275">MemRegion.h:275</a></div></div>
528
530
  </div><!-- fragment -->
529
531
  </div>
530
532
  </div>
@@ -538,7 +540,7 @@ Additional Inherited Members</h2></td></tr>
538
540
  <td class="mlabels-left">
539
541
  <table class="memname">
540
542
  <tr>
541
- <td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a>&amp; SVF::IntraDisjointMRG::getIntersList </td>
543
+ <td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>&amp; SVF::IntraDisjointMRG::getIntersList </td>
542
544
  <td>(</td>
543
545
  <td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td>
544
546
  <td class="paramname"><em>func</em></td><td>)</td>
@@ -557,8 +559,8 @@ Additional Inherited Members</h2></td></tr>
557
559
  </div><!-- fragment -->
558
560
  </div>
559
561
  </div>
560
- <a id="a8a1c8f676758ba6193bc683d10126175"></a>
561
- <h2 class="memtitle"><span class="permalink"><a href="#a8a1c8f676758ba6193bc683d10126175">&#9670;&nbsp;</a></span>getMRsForCallSiteRef()</h2>
562
+ <a id="a89ca36aaf82f17963abaa67c88415272"></a>
563
+ <h2 class="memtitle"><span class="permalink"><a href="#a89ca36aaf82f17963abaa67c88415272">&#9670;&nbsp;</a></span>getMRsForCallSiteRef()</h2>
562
564
 
563
565
  <div class="memitem">
564
566
  <div class="memproto">
@@ -575,7 +577,7 @@ Additional Inherited Members</h2></td></tr>
575
577
  <tr>
576
578
  <td class="paramkey"></td>
577
579
  <td></td>
578
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;&#160;</td>
580
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td>
579
581
  <td class="paramname"><em>cpts</em>, </td>
580
582
  </tr>
581
583
  <tr>
@@ -598,17 +600,17 @@ Additional Inherited Members</h2></td></tr>
598
600
  </div><div class="memdoc">
599
601
 
600
602
  <p>Get memory regions to be inserted at a load statement. </p>
601
- <p>Get memory regions to be inserted at a load statement. Just process as <a class="el" href="classSVF_1_1IntraDisjointMRG.html#aa1395f921e2a6e2607a6887f134cb63f">getMRsForLoad()</a>. </p>
603
+ <p>Get memory regions to be inserted at a load statement. Just process as <a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">getMRsForLoad()</a>. </p>
602
604
 
603
- <p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#af4eda1f51e3f58c8cccddee474972fe9">SVF::MRGenerator</a>.</p>
605
+ <p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#a02c60ceb7c9c37bcf83c739aa4083acc">SVF::MRGenerator</a>.</p>
604
606
 
605
607
  <p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00262">262</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
606
- <div class="fragment"><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; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa1395f921e2a6e2607a6887f134cb63f">getMRsForLoad</a>(aliasMRs, cpts, fun);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div><div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_aa1395f921e2a6e2607a6887f134cb63f"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#aa1395f921e2a6e2607a6887f134cb63f">SVF::IntraDisjointMRG::getMRsForLoad</a></div><div class="ttdeci">virtual void getMRsForLoad(MRSet &amp;aliasMRs, const PointsTo &amp;cpts, const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00096">MemPartition.h:96</a></div></div>
608
+ <div class="fragment"><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; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">getMRsForLoad</a>(aliasMRs, cpts, fun);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div><div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_ae577d4d6f3a6e6fb62f6eff49ca6be88"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">SVF::IntraDisjointMRG::getMRsForLoad</a></div><div class="ttdeci">virtual void getMRsForLoad(MRSet &amp;aliasMRs, const NodeBS &amp;cpts, const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00096">MemPartition.h:96</a></div></div>
607
609
  </div><!-- fragment -->
608
610
  </div>
609
611
  </div>
610
- <a id="aa1395f921e2a6e2607a6887f134cb63f"></a>
611
- <h2 class="memtitle"><span class="permalink"><a href="#aa1395f921e2a6e2607a6887f134cb63f">&#9670;&nbsp;</a></span>getMRsForLoad()</h2>
612
+ <a id="ae577d4d6f3a6e6fb62f6eff49ca6be88"></a>
613
+ <h2 class="memtitle"><span class="permalink"><a href="#ae577d4d6f3a6e6fb62f6eff49ca6be88">&#9670;&nbsp;</a></span>getMRsForLoad()</h2>
612
614
 
613
615
  <div class="memitem">
614
616
  <div class="memproto">
@@ -625,7 +627,7 @@ Additional Inherited Members</h2></td></tr>
625
627
  <tr>
626
628
  <td class="paramkey"></td>
627
629
  <td></td>
628
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;&#160;</td>
630
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td>
629
631
  <td class="paramname"><em>cpts</em>, </td>
630
632
  </tr>
631
633
  <tr>
@@ -655,19 +657,19 @@ Additional Inherited Members</h2></td></tr>
655
657
  </dd>
656
658
  </dl>
657
659
 
658
- <p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#a2a7012e9f2e84ac1c5f7ed61daa67ac7">SVF::MRGenerator</a>.</p>
660
+ <p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#abe8d6217250d227e743e4b581497aae8">SVF::MRGenerator</a>.</p>
659
661
 
660
- <p>Reimplemented in <a class="el" href="classSVF_1_1InterDisjointMRG.html#affab79ce9b1ef9ec7bc04af8ad2954dc">SVF::InterDisjointMRG</a>.</p>
662
+ <p>Reimplemented in <a class="el" href="classSVF_1_1InterDisjointMRG.html#ae7846579fc473ae5eb6c9a8fac712d9a">SVF::InterDisjointMRG</a>.</p>
661
663
 
662
664
  <p class="definition">Definition at line <a class="el" href="MemPartition_8h_source.html#l00096">96</a> of file <a class="el" href="MemPartition_8h_source.html">MemPartition.h</a>.</p>
663
- <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a>&amp; inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a9caabaac320e8a28bb7176f8da285f1f">getMRsForLoadFromInterList</a>(aliasMRs, cpts, inters);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a9caabaac320e8a28bb7176f8da285f1f"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a9caabaac320e8a28bb7176f8da285f1f">SVF::IntraDisjointMRG::getMRsForLoadFromInterList</a></div><div class="ttdeci">void getMRsForLoadFromInterList(MRSet &amp;mrs, const PointsTo &amp;cpts, const PointsToList &amp;inters)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00241">MemPartition.cpp:241</a></div></div>
665
+ <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>&amp; inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a8d390306f30e8b9736a3d1228ef5bf3a">getMRsForLoadFromInterList</a>(aliasMRs, cpts, inters);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a8d390306f30e8b9736a3d1228ef5bf3a"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a8d390306f30e8b9736a3d1228ef5bf3a">SVF::IntraDisjointMRG::getMRsForLoadFromInterList</a></div><div class="ttdeci">void getMRsForLoadFromInterList(MRSet &amp;mrs, const NodeBS &amp;cpts, const PointsToList &amp;inters)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00241">MemPartition.cpp:241</a></div></div>
666
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_a8b254a0c5063e25f297d1b00fb0b515e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; NodeBS, SVFUtil::equalNodeBS &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00138">MemRegion.h:138</a></div></div>
664
667
  <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_aa8c653e895ff0889615cdbf349be7652"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">SVF::IntraDisjointMRG::getIntersList</a></div><div class="ttdeci">PointsToList &amp; getIntersList(const SVFFunction *func)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00120">MemPartition.h:120</a></div></div>
665
- <div class="ttc" id="classSVF_1_1MRGenerator_html_a2a9b87b7b9a567a7fd94e9267f3eb054"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; PointsTo, SVFUtil::equalPointsTo &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00144">MemRegion.h:144</a></div></div>
666
668
  </div><!-- fragment -->
667
669
  </div>
668
670
  </div>
669
- <a id="a9caabaac320e8a28bb7176f8da285f1f"></a>
670
- <h2 class="memtitle"><span class="permalink"><a href="#a9caabaac320e8a28bb7176f8da285f1f">&#9670;&nbsp;</a></span>getMRsForLoadFromInterList()</h2>
671
+ <a id="a8d390306f30e8b9736a3d1228ef5bf3a"></a>
672
+ <h2 class="memtitle"><span class="permalink"><a href="#a8d390306f30e8b9736a3d1228ef5bf3a">&#9670;&nbsp;</a></span>getMRsForLoadFromInterList()</h2>
671
673
 
672
674
  <div class="memitem">
673
675
  <div class="memproto">
@@ -684,13 +686,13 @@ Additional Inherited Members</h2></td></tr>
684
686
  <tr>
685
687
  <td class="paramkey"></td>
686
688
  <td></td>
687
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> &amp;&#160;</td>
689
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td>
688
690
  <td class="paramname"><em>cpts</em>, </td>
689
691
  </tr>
690
692
  <tr>
691
693
  <td class="paramkey"></td>
692
694
  <td></td>
693
- <td class="paramtype">const <a class="el" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> &amp;&#160;</td>
695
+ <td class="paramtype">const <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &amp;&#160;</td>
694
696
  <td class="paramname"><em>inters</em>&#160;</td>
695
697
  </tr>
696
698
  <tr>
@@ -707,10 +709,10 @@ Additional Inherited Members</h2></td></tr>
707
709
  </div><div class="memdoc">
708
710
 
709
711
  <p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00241">241</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
710
- <div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; PointsToList::const_iterator it = inters.begin();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; PointsToList::const_iterator eit = inters.end();</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; inter = *it;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">if</span> (cpts.contains(inter))</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a> mr(inter);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; MRSet::iterator mit = <a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>.find(&amp;mr);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(mit!=<a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>.end() &amp;&amp; <span class="stringliteral">&quot;memory region not found!!&quot;</span>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; mrs.insert(*mit);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</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>
711
- <div class="ttc" id="classSVF_1_1MRGenerator_html_af94bd8155a23273aab2396334d905119"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">SVF::MRGenerator::memRegSet</a></div><div class="ttdeci">MRSet memRegSet</div><div class="ttdoc">A set of All memory regions. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00283">MemRegion.h:283</a></div></div>
712
- <div class="ttc" id="classSVF_1_1MemRegion_html"><div class="ttname"><a href="classSVF_1_1MemRegion.html">SVF::MemRegion</a></div><div class="ttdoc">Memory Region class. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00048">MemRegion.h:48</a></div></div>
713
- <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>
712
+ <div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; PointsToList::const_iterator it = inters.begin();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; PointsToList::const_iterator eit = inters.end();</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; inter = *it;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">if</span> (cpts.contains(inter))</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a> mr(inter);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; MRSet::iterator mit = <a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>.find(&amp;mr);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(mit!=<a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>.end() &amp;&amp; <span class="stringliteral">&quot;memory region not found!!&quot;</span>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; mrs.insert(*mit);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</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>
713
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_af94bd8155a23273aab2396334d905119"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">SVF::MRGenerator::memRegSet</a></div><div class="ttdeci">MRSet memRegSet</div><div class="ttdoc">A set of All memory regions. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00273">MemRegion.h:273</a></div></div>
714
+ <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>
715
+ <div class="ttc" id="classSVF_1_1MemRegion_html"><div class="ttname"><a href="classSVF_1_1MemRegion.html">SVF::MemRegion</a></div><div class="ttdoc">Memory Region class. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00050">MemRegion.h:50</a></div></div>
714
716
  </div><!-- fragment -->
715
717
  </div>
716
718
  </div>
@@ -724,7 +726,7 @@ Additional Inherited Members</h2></td></tr>
724
726
  <td class="mlabels-left">
725
727
  <table class="memname">
726
728
  <tr>
727
- <td class="memname"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a>&amp; SVF::IntraDisjointMRG::getPtsSubSetMap </td>
729
+ <td class="memname"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a>&amp; SVF::IntraDisjointMRG::getPtsSubSetMap </td>
728
730
  <td>(</td>
729
731
  <td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td>
730
732
  <td class="paramname"><em>func</em></td><td>)</td>
@@ -753,7 +755,7 @@ Additional Inherited Members</h2></td></tr>
753
755
  <td class="mlabels-left">
754
756
  <table class="memname">
755
757
  <tr>
756
- <td class="memname">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a95e5cc07c8e1838f9336c6a2f0aa941a">PtsToSubPtsMap</a>&amp; SVF::IntraDisjointMRG::getPtsSubSetMap </td>
758
+ <td class="memname">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a>&amp; SVF::IntraDisjointMRG::getPtsSubSetMap </td>
757
759
  <td>(</td>
758
760
  <td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td>
759
761
  <td class="paramname"><em>func</em></td><td>)</td>
@@ -804,13 +806,13 @@ Additional Inherited Members</h2></td></tr>
804
806
  <p>Reimplemented in <a class="el" href="classSVF_1_1InterDisjointMRG.html#a807cf159e53c2fb2903296207185dda0">SVF::InterDisjointMRG</a>.</p>
805
807
 
806
808
  <p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00122">122</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
807
- <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span>(FunToPointsToMap::iterator it = <a class="code" href="classSVF_1_1MRGenerator.html#ad8333efeda532f0d403352ad6a4987e9">getFunToPointsToList</a>().begin(),</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; eit = <a class="code" href="classSVF_1_1MRGenerator.html#ad8333efeda532f0d403352ad6a4987e9">getFunToPointsToList</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = it-&gt;first;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">for</span>(PointsToList::iterator cit = it-&gt;second.begin(), ecit = it-&gt;second.end();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; cit!=ecit; ++cit)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; cpts = *cit;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a>&amp; inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a8e40dbd57f40172ca5356122874c0978">computeIntersections</a>(cpts, inters);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a>&amp; inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; interIt != interEit; ++interIt)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>&amp; inter = *interIt;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a25480ff3297b8e6037d62809aee81a79">createDisjointMR</a>(fun, inter);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_ad8333efeda532f0d403352ad6a4987e9"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ad8333efeda532f0d403352ad6a4987e9">SVF::MRGenerator::getFunToPointsToList</a></div><div class="ttdeci">FunToPointsToMap &amp; getFunToPointsToList()</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00376">MemRegion.h:376</a></div></div>
808
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
809
- <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a8e40dbd57f40172ca5356122874c0978"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a8e40dbd57f40172ca5356122874c0978">SVF::IntraDisjointMRG::computeIntersections</a></div><div class="ttdeci">void computeIntersections(const PointsTo &amp;cpts, PointsToList &amp;inters)</div><div class="ttdoc">Compute intersections between cpts and computed cpts intersections before. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00152">MemPartition.cpp:152</a></div></div>
810
- <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a25480ff3297b8e6037d62809aee81a79"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a25480ff3297b8e6037d62809aee81a79">SVF::IntraDisjointMRG::createDisjointMR</a></div><div class="ttdeci">void createDisjointMR(const SVFFunction *func, const PointsTo &amp;cpts)</div><div class="ttdoc">Create disjoint memory region. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00232">MemPartition.cpp:232</a></div></div>
809
+ <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span>(FunToPointsTosMap::iterator it = <a class="code" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>().begin(),</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; eit = <a class="code" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = it-&gt;first;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">for</span>(PointsToList::iterator cit = it-&gt;second.begin(), ecit = it-&gt;second.end();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; cit!=ecit; ++cit)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; cpts = *cit;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>&amp; inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#adb3ed119aee3f1bc62b9679ee095580d">computeIntersections</a>(cpts, inters);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>&amp; inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; interIt != interEit; ++interIt)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; inter = *interIt;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a17d0ad0c62982d2b03121e935469e7b2">createDisjointMR</a>(fun, inter);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
810
+ <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_adb3ed119aee3f1bc62b9679ee095580d"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#adb3ed119aee3f1bc62b9679ee095580d">SVF::IntraDisjointMRG::computeIntersections</a></div><div class="ttdeci">void computeIntersections(const NodeBS &amp;cpts, PointsToList &amp;inters)</div><div class="ttdoc">Compute intersections between cpts and computed cpts intersections before. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00152">MemPartition.cpp:152</a></div></div>
811
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_a1331e6f0941838064d77a5adaa5c6303"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">SVF::MRGenerator::getFunToPointsToList</a></div><div class="ttdeci">FunToPointsTosMap &amp; getFunToPointsToList()</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00366">MemRegion.h:366</a></div></div>
812
+ <div class="ttc" id="classSVF_1_1MRGenerator_html_a8b254a0c5063e25f297d1b00fb0b515e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; NodeBS, SVFUtil::equalNodeBS &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00138">MemRegion.h:138</a></div></div>
813
+ <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a17d0ad0c62982d2b03121e935469e7b2"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a17d0ad0c62982d2b03121e935469e7b2">SVF::IntraDisjointMRG::createDisjointMR</a></div><div class="ttdeci">void createDisjointMR(const SVFFunction *func, const NodeBS &amp;cpts)</div><div class="ttdoc">Create disjoint memory region. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00232">MemPartition.cpp:232</a></div></div>
811
814
  <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_aa8c653e895ff0889615cdbf349be7652"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">SVF::IntraDisjointMRG::getIntersList</a></div><div class="ttdeci">PointsToList &amp; getIntersList(const SVFFunction *func)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00120">MemPartition.h:120</a></div></div>
812
- <div class="ttc" id="classSVF_1_1MRGenerator_html_a2a9b87b7b9a567a7fd94e9267f3eb054"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; PointsTo, SVFUtil::equalPointsTo &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00144">MemRegion.h:144</a></div></div>
813
- <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>
815
+ <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>
814
816
  </div><!-- fragment -->
815
817
  </div>
816
818
  </div>