svf-tools 1.0.448 → 1.0.451

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 (528) hide show
  1. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +5 -5
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -5
  7. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +16 -16
  9. package/SVF-doxygen/html/html/Andersen_8h_source.html +10 -10
  10. package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +4 -4
  12. package/SVF-doxygen/html/html/BDDExpr_8h_source.html +5 -5
  13. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
  14. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +5 -5
  16. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +6 -6
  19. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +3 -3
  20. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +4 -4
  21. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +28 -28
  23. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
  24. package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
  25. package/SVF-doxygen/html/html/CHG_8cpp_source.html +13 -13
  26. package/SVF-doxygen/html/html/CHG_8h_source.html +6 -6
  27. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
  28. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +24 -24
  29. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
  30. package/SVF-doxygen/html/html/CSC_8cpp_source.html +3 -3
  31. package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
  32. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +7 -7
  33. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +6 -6
  34. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +2 -2
  36. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
  37. package/SVF-doxygen/html/html/ConsG_8h_source.html +5 -5
  38. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +12 -12
  39. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  40. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
  43. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +30 -30
  44. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -15
  45. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +8 -8
  46. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  47. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  48. package/SVF-doxygen/html/html/DDAPass_8h_source.html +6 -6
  49. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
  51. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +11 -11
  52. package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
  53. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
  54. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
  55. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +8 -8
  56. package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
  57. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +23 -23
  58. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +7 -7
  59. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +4 -4
  60. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
  62. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +5 -5
  63. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +3 -3
  65. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +12 -12
  66. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +5 -5
  67. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +10 -10
  68. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +4 -4
  69. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
  70. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +5 -5
  71. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
  73. package/SVF-doxygen/html/html/Graph2Json_8cpp.html +1 -0
  74. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -4
  75. package/SVF-doxygen/html/html/Graph2Json_8h_source.html +5 -5
  76. package/SVF-doxygen/html/html/GraphPrinter_8h.html +1 -0
  77. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +6 -7
  78. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +13 -13
  79. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
  80. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
  81. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  82. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  83. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +11 -11
  84. package/SVF-doxygen/html/html/ICFG_8h_source.html +5 -5
  85. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +14 -14
  86. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +5 -5
  87. package/SVF-doxygen/html/html/IRGraph_8h_source.html +6 -6
  88. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +15 -15
  89. package/SVF-doxygen/html/html/LLVMModule_8h.html +2 -1
  90. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +46 -45
  91. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +40 -40
  92. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +39 -39
  93. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  94. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
  95. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +9 -9
  96. package/SVF-doxygen/html/html/LocationSet_8h_source.html +6 -6
  97. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +17 -17
  98. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
  99. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
  100. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +7 -7
  101. package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
  102. package/SVF-doxygen/html/html/MHP_8cpp_source.html +26 -26
  103. package/SVF-doxygen/html/html/MHP_8h_source.html +10 -10
  104. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +7 -7
  105. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +9 -9
  106. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +9 -9
  107. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +22 -22
  108. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +12 -12
  109. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +6 -6
  110. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  111. package/SVF-doxygen/html/html/MTA_8cpp_source.html +12 -12
  112. package/SVF-doxygen/html/html/MTA_8h_source.html +8 -8
  113. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +2 -2
  114. package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
  115. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +19 -19
  116. package/SVF-doxygen/html/html/MemRegion_8h_source.html +9 -9
  117. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
  118. package/SVF-doxygen/html/html/MemSSA_8h_source.html +9 -9
  119. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
  120. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  121. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
  122. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -3
  123. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +2 -2
  124. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  125. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
  126. package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
  127. package/SVF-doxygen/html/html/PCG_8h_source.html +6 -6
  128. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +6 -6
  129. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +7 -7
  130. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
  131. package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
  132. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +19 -19
  133. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +12 -12
  134. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
  135. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  136. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +17 -18
  137. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +17 -17
  138. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +22 -22
  139. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +9 -9
  140. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
  141. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  142. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  143. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  144. package/SVF-doxygen/html/html/SCC_8h_source.html +3 -3
  145. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +79 -42
  146. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +44 -42
  147. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +22 -25
  148. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +73 -74
  149. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  150. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  151. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  152. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +5 -5
  153. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
  155. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +4 -4
  156. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
  157. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +46 -54
  158. package/SVF-doxygen/html/html/SVFG_8h_source.html +46 -48
  159. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +54 -54
  160. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +49 -49
  161. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +4 -4
  162. package/SVF-doxygen/html/html/SVFIR_8h_source.html +9 -9
  163. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  164. package/SVF-doxygen/html/html/SVFModule_8h_source.html +6 -6
  165. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  166. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +9 -9
  167. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -15
  168. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +23 -23
  169. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  170. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
  171. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
  172. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
  173. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +6 -5
  174. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +7 -7
  175. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
  176. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +5 -5
  177. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +4 -4
  178. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  179. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
  180. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +38 -38
  181. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
  182. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +17 -17
  183. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +10 -10
  184. package/SVF-doxygen/html/html/TCT_8cpp_source.html +21 -21
  185. package/SVF-doxygen/html/html/TCT_8h_source.html +20 -20
  186. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +7 -7
  187. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +11 -10
  188. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +9 -9
  189. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
  190. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  191. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +1 -1
  192. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +27 -27
  193. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +5 -5
  194. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -8
  195. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +117 -120
  196. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  197. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  198. package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
  199. package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
  200. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  201. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +12 -12
  202. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +6 -6
  203. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +2 -2
  204. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +10 -10
  205. package/SVF-doxygen/html/html/WPAPass_8h_source.html +8 -8
  206. package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
  207. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  208. package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
  209. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
  210. package/SVF-doxygen/html/html/cfl_8cpp.html +2 -2
  211. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
  212. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  214. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
  216. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +21 -21
  220. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -3
  222. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  223. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  224. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +7 -7
  225. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +3 -3
  226. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -2
  228. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +34 -35
  230. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  232. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  233. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
  234. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
  235. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +2 -2
  236. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +2 -2
  238. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +53 -53
  239. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +9 -9
  240. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +4 -4
  241. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  243. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +6 -6
  244. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +6 -6
  245. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  248. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  253. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +4 -4
  254. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
  255. package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  257. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
  258. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +25 -25
  260. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  261. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
  263. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  265. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +67 -67
  268. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +4 -4
  269. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +8 -8
  270. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  271. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +28 -28
  272. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  273. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
  274. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +11 -11
  278. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +51 -51
  280. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +11 -11
  282. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +30 -30
  283. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +8 -8
  284. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +23 -23
  285. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +36 -36
  286. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  287. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  289. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  290. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
  291. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +3 -3
  292. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +3 -3
  293. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  294. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +2 -2
  296. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  298. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +6 -6
  299. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +19 -19
  300. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  302. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +15 -16
  303. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +21 -21
  304. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
  305. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
  307. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
  308. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  310. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +4 -4
  312. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +4 -4
  313. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  314. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  315. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  316. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
  317. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +132 -132
  318. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  319. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +1 -1
  320. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +6 -6
  321. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  322. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +2 -2
  323. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +11 -11
  324. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +69 -69
  325. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +21 -21
  326. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  327. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +42 -42
  328. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  329. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  330. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +14 -14
  331. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +16 -16
  332. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +44 -44
  333. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +24 -24
  334. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +7 -7
  335. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  336. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +42 -42
  337. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  338. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  339. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
  340. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  341. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
  342. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +2 -2
  343. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  344. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  345. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +2 -2
  346. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  347. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +25 -25
  348. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  349. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
  350. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +7 -7
  351. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  352. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +3 -3
  353. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  354. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +42 -42
  355. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
  356. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
  357. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
  358. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
  359. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  360. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +33 -33
  361. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +6 -6
  362. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +9 -9
  363. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
  364. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  365. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  366. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +4 -4
  367. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  368. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  369. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +31 -31
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +154 -155
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +132 -166
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +177 -178
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +17 -19
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +6 -6
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +147 -147
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +5 -5
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  385. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
  386. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +1 -1
  387. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +7 -7
  388. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +11 -11
  389. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  390. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +9 -9
  391. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
  392. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
  393. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
  394. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +1 -1
  395. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +6 -6
  396. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  397. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  398. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +63 -63
  399. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +24 -24
  400. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +50 -50
  401. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  402. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  403. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI-members.html +2 -2
  404. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +20 -20
  405. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +23 -23
  406. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  407. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  408. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  409. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  410. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
  411. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +34 -34
  412. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  413. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  414. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +11 -11
  415. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  416. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  417. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  418. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  419. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +28 -28
  420. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +7 -7
  421. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
  422. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  423. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
  424. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
  425. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
  426. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +7 -8
  427. package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
  428. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  429. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  430. package/SVF-doxygen/html/html/functions_f.html +14 -17
  431. package/SVF-doxygen/html/html/functions_func_f.html +0 -3
  432. package/SVF-doxygen/html/html/functions_func_g.html +6 -6
  433. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  434. package/SVF-doxygen/html/html/functions_g.html +6 -6
  435. package/SVF-doxygen/html/html/functions_i.html +4 -4
  436. package/SVF-doxygen/html/html/functions_n.html +4 -4
  437. package/SVF-doxygen/html/html/functions_o.html +3 -3
  438. package/SVF-doxygen/html/html/functions_p.html +7 -7
  439. package/SVF-doxygen/html/html/functions_s.html +13 -13
  440. package/SVF-doxygen/html/html/functions_t.html +5 -5
  441. package/SVF-doxygen/html/html/functions_type_t.html +2 -2
  442. package/SVF-doxygen/html/html/functions_v.html +6 -6
  443. package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
  444. package/SVF-doxygen/html/html/globals_l.html +3 -0
  445. package/SVF-doxygen/html/html/globals_s.html +3 -3
  446. package/SVF-doxygen/html/html/globals_type.html +6 -0
  447. package/SVF-doxygen/html/html/globals_u.html +5 -2
  448. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  449. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  450. package/SVF-doxygen/html/html/namespaceSVF.html +119 -191
  451. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +96 -96
  452. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +44 -44
  453. package/SVF-doxygen/html/html/namespacemembers_l.html +0 -3
  454. package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
  455. package/SVF-doxygen/html/html/namespacemembers_t.html +0 -3
  456. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -12
  457. package/SVF-doxygen/html/html/namespacemembers_u.html +0 -3
  458. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  459. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  460. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  461. package/SVF-doxygen/html/html/search/all_13.js +9 -10
  462. package/SVF-doxygen/html/html/search/all_14.js +7 -8
  463. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  464. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  465. package/SVF-doxygen/html/html/search/all_6.js +0 -1
  466. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  467. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  468. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  469. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  470. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  471. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  472. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  473. package/SVF-doxygen/html/html/search/functions_5.js +0 -1
  474. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  475. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  476. package/SVF-doxygen/html/html/search/typedefs_12.js +1 -2
  477. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  478. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
  479. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  480. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  481. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  482. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  483. package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
  484. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  485. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
  486. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
  487. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  488. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
  489. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  490. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  491. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  492. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +24 -24
  493. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +4 -4
  494. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  495. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  496. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  497. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  498. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  499. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  500. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  501. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
  502. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
  503. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  504. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  505. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  506. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  507. package/SVF-doxygen/html/html/svf-ex_8cpp.html +5 -5
  508. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  509. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  510. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  511. package/include/Graphs/GraphPrinter.h +1 -0
  512. package/include/Graphs/SVFG.h +0 -5
  513. package/include/MSSA/MSSAMuChi.h +2 -2
  514. package/include/SABER/SaberCheckerAPI.h +1 -1
  515. package/include/SVF-FE/BasicTypes.h +4 -0
  516. package/include/SVF-FE/LLVMModule.h +1 -0
  517. package/include/Util/BasicTypes.h +0 -4
  518. package/include/Util/ExtAPI.h +2 -3
  519. package/include/Util/SVFBasicTypes.h +0 -2
  520. package/include/Util/ThreadAPI.h +2 -2
  521. package/lib/Graphs/SVFG.cpp +0 -22
  522. package/lib/Graphs/VFG.cpp +1 -1
  523. package/lib/MemoryModel/PointerAnalysisImpl.cpp +14 -16
  524. package/lib/SABER/SaberSVFGBuilder.cpp +2 -2
  525. package/lib/SVF-FE/Graph2Json.cpp +3 -1
  526. package/lib/SVF-FE/LLVMUtil.cpp +2 -0
  527. package/lib/Util/ThreadAPI.cpp +4 -4
  528. package/package.json +1 -1
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">MSSAMuChi.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="MSSAMuChi_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- MSSAMuChi.h -- Mu/Chi on MSSA------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * MSSAMuChi.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Oct 31, 2013</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef MSSAMUCHI_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define MSSAMUCHI_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MemRegion_8h.html">MSSA/MemRegion.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">class </span>MSSADEF;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html"> 43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MRVer.html">MRVer</a></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a1f51f0c2ae814b2170e549ea1122a99f"> 47</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> <a class="code" href="classSVF_1_1MRVer.html#a1f51f0c2ae814b2170e549ea1122a99f">MSSADef</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#ad746973fdd724b71ebb251eb6930fccc"> 50</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MRVer.html#ad746973fdd724b71ebb251eb6930fccc">totalVERNum</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6"> 51</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#afc08020e6d2f1721d1d1363ed3fef151"> 52</a></span>&#160; <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a> <a class="code" href="classSVF_1_1MRVer.html#afc08020e6d2f1721d1d1363ed3fef151">version</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab"> 53</a></span>&#160; <a class="code" href="namespaceSVF.html#a0039280e908258b8e73779de51e9f63b">MRVERID</a> <a class="code" href="classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab">vid</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4"> 54</a></span>&#160; MSSADef* <a class="code" href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4">def</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a15c18c76e5911e472747183f35cd7028"> 57</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html#a15c18c76e5911e472747183f35cd7028">MRVer</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a> v, MSSADef* d) :</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; mr(m), version(v), vid(totalVERNum++),def(d)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825"> 63</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88"> 69</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a> <a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#afc08020e6d2f1721d1d1363ed3fef151">version</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852"> 75</a></span>&#160; <span class="keyword">inline</span> MSSADef* <a class="code" href="classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852">getDef</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4">def</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a45b70add039a7f134e8d44bfc6b8f0bc"> 81</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a0039280e908258b8e73779de51e9f63b">MRVERID</a> <a class="code" href="classSVF_1_1MRVer.html#a45b70add039a7f134e8d44bfc6b8f0bc">getID</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab">vid</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html"> 95</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b"> 99</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9ba255f3e3fc50f3a8d9a8bd5800b1b4594"> 101</a></span>&#160; LoadMSSAMU, CallMSSAMU, RetMSSAMU</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; };</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a3cbe5ca0cb91090ef0e8b331e2f15f7c"> 105</a></span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a> <a class="code" href="classSVF_1_1MSSAMU.html#a3cbe5ca0cb91090ef0e8b331e2f15f7c">type</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a51b89fa50c39d864cc9ca63508ea94f4"> 106</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSAMU.html#a51b89fa50c39d864cc9ca63508ea94f4">mr</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a9c84b55a34025c6742f5a02c07cd4a36"> 107</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAMU.html#a9c84b55a34025c6742f5a02c07cd4a36">ver</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a8e828af79da08528166b1f53165bc5b2"> 108</a></span>&#160; Cond <a class="code" href="classSVF_1_1MSSAMU.html#a8e828af79da08528166b1f53165bc5b2">cond</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a1d0f8d3e7651f4ace92d31a9c6604e2f"> 112</a></span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html#a1d0f8d3e7651f4ace92d31a9c6604e2f">MSSAMU</a>(<a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a> t, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c) : type(t), mr(m), ver(nullptr), cond(c)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a128d59c1fbfa6aed7ba4b84c92909366"> 115</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSAMU.html#a128d59c1fbfa6aed7ba4b84c92909366">~MSSAMU</a>()</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a6bd671839ec0376439ccd81d5b2eff30"> 121</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSAMU.html#a6bd671839ec0376439ccd81d5b2eff30">getMR</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9"> 126</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a> <a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> type;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a2af1e639aabbc5997aa4e6526f6595fb"> 131</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAMU.html#a2af1e639aabbc5997aa4e6526f6595fb">setVer</a>(<a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == mr &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; ver = v;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#ad120dfc87b90b26649bcd8d0c0d3ca80"> 137</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAMU.html#ad120dfc87b90b26649bcd8d0c0d3ca80">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(ver!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#ac51263250da06fd63b923a6771744f97"> 143</a></span>&#160; <span class="keyword">inline</span> Cond <a class="code" href="classSVF_1_1MSSAMU.html#ac51263250da06fd63b923a6771744f97">getCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> cond;</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="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a838a4a7cd670eef1153701aef9871bcf"> 149</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator &lt; (<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a> &amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> mr &gt; rhs.<a class="code" href="classSVF_1_1MSSAMU.html#a6bd671839ec0376439ccd81d5b2eff30">getMR</a>();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a489e8c27e40b709d94a462653fb760f5"> 154</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAMU.html#a489e8c27e40b709d94a462653fb760f5">dump</a>()</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; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;MU(MR_&quot;</span> &lt;&lt; mr-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; ver-&gt;<a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</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;};</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html"> 165</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1LoadMU.html">LoadMU</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</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;<span class="keyword">private</span>:</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#a7bbac3ff5455aa1340f348c7cb239c46"> 169</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* <a class="code" href="classSVF_1_1LoadMU.html#a7bbac3ff5455aa1340f348c7cb239c46">inst</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#ad5b6ecaf016a136c982291256687d4d2"> 170</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1LoadMU.html#ad5b6ecaf016a136c982291256687d4d2">bb</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#aaf916feaa76c3eaf96dcff576ef366ca"> 175</a></span>&#160; <a class="code" href="classSVF_1_1LoadMU.html#aaf916feaa76c3eaf96dcff576ef366ca">LoadMU</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* b,<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;::LoadMSSAMU,m,c), inst(i), bb(b)</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</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"><a class="line" href="classSVF_1_1LoadMU.html#a8193de194cf40211a36156cb87209a7e"> 179</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1LoadMU.html#a8193de194cf40211a36156cb87209a7e">~LoadMU</a>()</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;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#a5c26668b6ab2db91c4d5ba32d6a27b14"> 186</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* <a class="code" href="classSVF_1_1LoadMU.html#a5c26668b6ab2db91c4d5ba32d6a27b14">getLoadInst</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> inst;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#abcd77653329021248bb406815f8691a7"> 192</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1LoadMU.html#abcd77653329021248bb406815f8691a7">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> bb;</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;</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"><a class="line" href="classSVF_1_1LoadMU.html#a675192a60c5afa6e1d5f9b7dae5953b5"> 199</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LoadMU.html#a675192a60c5afa6e1d5f9b7dae5953b5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadMU.html">LoadMU</a> *)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#a2b3f73c38c479e05984e01710227e50f"> 203</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LoadMU.html#a2b3f73c38c479e05984e01710227e50f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;</a> *mu)</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; <span class="keywordflow">return</span> mu-&gt;<a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>() == <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;::LoadMSSAMU</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#aaaa51723d657719b82a2ce85c1628329"> 210</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1LoadMU.html#aaaa51723d657719b82a2ce85c1628329">dump</a>()</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;LDMU(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getMRVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</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;};</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html"> 221</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallMU.html">CallMU</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;</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;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#aa90a06c9e44914a7a8e104aa80bf1374"> 225</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallMU.html#aa90a06c9e44914a7a8e104aa80bf1374">callsite</a>;</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;<span class="keyword">public</span>:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#abb981eb0739d7b3fdcc271b693e708ae"> 230</a></span>&#160; <a class="code" href="classSVF_1_1CallMU.html#abb981eb0739d7b3fdcc271b693e708ae">CallMU</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;::CallMSSAMU,m,c), callsite(cs)</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#a408184b7a6c625d67a4b660e140b10c5"> 234</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CallMU.html#a408184b7a6c625d67a4b660e140b10c5">~CallMU</a>()</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</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; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#a57616dc30fb97c6dc64c9210b42bbeb7"> 241</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallMU.html#a57616dc30fb97c6dc64c9210b42bbeb7">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> callsite;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#ab20ae240ad380c760b9b1f4b8b06344f"> 247</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1CallMU.html#ab20ae240ad380c760b9b1f4b8b06344f">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> callsite-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()-&gt;getParent();</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#af8a0defe4c5b36893e155a4b074c0f30"> 254</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallMU.html#af8a0defe4c5b36893e155a4b074c0f30">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallMU.html">CallMU</a> *)</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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#a27c70bc7543eeb2fcf64f139481d3bf9"> 258</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallMU.html#a27c70bc7543eeb2fcf64f139481d3bf9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;</a> *mu)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> mu-&gt;<a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>() == <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;::CallMSSAMU</a>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#af08ecc9c2b75737e88690fb2319fcf57"> 265</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallMU.html#af08ecc9c2b75737e88690fb2319fcf57">dump</a>()</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;CALMU(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getMRVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;};</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html"> 277</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1RetMU.html">RetMU</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c"> 280</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c">fun</a>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a8cd41b018ddef450d17a20ea83ce3fee"> 284</a></span>&#160; <a class="code" href="classSVF_1_1RetMU.html#a8cd41b018ddef450d17a20ea83ce3fee">RetMU</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;::RetMSSAMU,m,c), fun(f)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a0f908cb79713ed332284838c5a87dcc7"> 288</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1RetMU.html#a0f908cb79713ed332284838c5a87dcc7">~RetMU</a>() {}</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f"> 292</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#ace8b780beda75de78d08247335e1738a"> 299</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetMU.html#ace8b780beda75de78d08247335e1738a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetMU.html">RetMU</a> *)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#ae6608c348426d99a5d3963ceaca2eb8b"> 303</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetMU.html#ae6608c348426d99a5d3963ceaca2eb8b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;</a> *mu)</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> mu-&gt;<a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>() == <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;::RetMSSAMU</a>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#ae452b798bf9c6a9d913e63a75c4cd3c0"> 310</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RetMU.html#ae452b798bf9c6a9d913e63a75c4cd3c0">dump</a>()</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;RETMU(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getMRVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;};</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html"> 325</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;{</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18"> 329</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580"> 331</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580">SSACHI</a>,</div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43"> 332</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">StoreMSSACHI</a>,</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4"> 333</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4">CallMSSACHI</a>,</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3"> 334</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">EntryMSSACHI</a>,</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ae2cdc3b8aae7005f6d7495d2f200a736"> 335</a></span>&#160; SSAPHI</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; };</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a9e8a03dc2c2f76ef6bc095f21911f5b6"> 339</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a> <a class="code" href="classSVF_1_1MSSADEF.html#a9e8a03dc2c2f76ef6bc095f21911f5b6">type</a>;</div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a01bc47f779d20fa8e3be182ceab12780"> 340</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSADEF.html#a01bc47f779d20fa8e3be182ceab12780">mr</a>;</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a72560a998968ae2dbc6e5aa8a7e9f813"> 341</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSADEF.html#a72560a998968ae2dbc6e5aa8a7e9f813">resVer</a>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a1b1c7cbc293182a5ded43efa522990de"> 346</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a1b1c7cbc293182a5ded43efa522990de">MSSADEF</a>(<a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a> t, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m): type(t), mr(m), resVer(nullptr)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#add2262289cdad5d5e14c0082b40c45d9"> 350</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSADEF.html#add2262289cdad5d5e14c0082b40c45d9">~MSSADEF</a>() {}</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c"> 354</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c">getMR</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c"> 360</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a> <a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> type;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a343eb4c9515dfbbbdadaacf5500e5f05"> 366</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSADEF.html#a343eb4c9515dfbbbdadaacf5500e5f05">setResVer</a>(<a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v)</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == mr &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; resVer = v;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a21cb532396180e0b6bab515c52bec282"> 373</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSADEF.html#a21cb532396180e0b6bab515c52bec282">getResVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(resVer!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> resVer;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#ad24da3516c198ade16c6909c5222fd0f"> 380</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator &lt; (<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> &amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> mr &gt; rhs.<a class="code" href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c">getMR</a>();</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#aa7e06959d5b3197d930aa44b09694b52"> 386</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSADEF.html#aa7e06959d5b3197d930aa44b09694b52">dump</a>()</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;DEF(MR_&quot;</span> &lt;&lt; mr-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;};</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html"> 396</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;{</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757"> 400</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757">opVer</a>;</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#addeee3fb0c5e6b1c68c30da111c26759"> 401</a></span>&#160; Cond <a class="code" href="classSVF_1_1MSSACHI.html#addeee3fb0c5e6b1c68c30da111c26759">cond</a>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a21d9218e105987a1f807633ea824e5d3"> 403</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">MSSADEF::DEFTYPE</a> <a class="code" href="classSVF_1_1MSSACHI.html#a21d9218e105987a1f807633ea824e5d3">CHITYPE</a>;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#af9ecdf852667bd23fe4805ba04c3e815"> 406</a></span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html#af9ecdf852667bd23fe4805ba04c3e815">MSSACHI</a>(CHITYPE t, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c): <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>(t,m), opVer(nullptr), cond(c)</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a01cdeb7ac96e0809d1d56c9da56c4b97"> 410</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSACHI.html#a01cdeb7ac96e0809d1d56c9da56c4b97">~MSSACHI</a>() {}</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a245d8ee9e81ba4fe6f41533baf471331"> 414</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSACHI.html#a245d8ee9e81ba4fe6f41533baf471331">setOpVer</a>(<a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v)</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; opVer = v;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; }</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a7af6f73ff1432d4adb5ee8493fbe73fb"> 421</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSACHI.html#a7af6f73ff1432d4adb5ee8493fbe73fb">getOpVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(opVer!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> opVer;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a9673994f9db94e23984b132d4b533304"> 428</a></span>&#160; <span class="keyword">inline</span> Cond <a class="code" href="classSVF_1_1MSSACHI.html#a9673994f9db94e23984b132d4b533304">getCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> cond;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a49cf6b7e0cb38acfeb2eb2e1273c506d"> 435</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSACHI.html#a49cf6b7e0cb38acfeb2eb2e1273c506d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a> * chi)</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a450055eb758896fb2e3e4f67febe7782"> 439</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSACHI.html#a450055eb758896fb2e3e4f67febe7782">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">MSSADEF::EntryMSSACHI</a> ||</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">MSSADEF::StoreMSSACHI</a> ||</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580">MSSADEF::SSACHI</a> ;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a63355fc98b9c1cc3db5e664e387693ca"> 448</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSACHI.html#a63355fc98b9c1cc3db5e664e387693ca">dump</a>()</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="stringliteral">&quot; = CHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; opVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;};</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html"> 461</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1StoreCHI.html">StoreCHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;{</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a3b1bcd4535e2199b57adc67fc283fb3f"> 464</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a3b1bcd4535e2199b57adc67fc283fb3f">bb</a>;</div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a6e58e7cde1f417ec3feaef98f6f74be2"> 465</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a6e58e7cde1f417ec3feaef98f6f74be2">inst</a>;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a34433e6e437d302014fd06b5fb624a79"> 469</a></span>&#160; <a class="code" href="classSVF_1_1StoreCHI.html#a34433e6e437d302014fd06b5fb624a79">StoreCHI</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* b, <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::StoreMSSACHI,m,c), bb(b), inst(i)</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; }</div><div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a95f30699dd8622ff60d4aba7e51d0ecf"> 473</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1StoreCHI.html#a95f30699dd8622ff60d4aba7e51d0ecf">~StoreCHI</a>()</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a85eb84312c003a57b2c9c4ed7df7c239"> 479</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a85eb84312c003a57b2c9c4ed7df7c239">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> bb;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#aead80cf9aad5818f16ad61d7a83b7c79"> 485</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* <a class="code" href="classSVF_1_1StoreCHI.html#aead80cf9aad5818f16ad61d7a83b7c79">getStoreInst</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> inst;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a66a4ea0b8b61d39a552f7da000732263"> 492</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1StoreCHI.html#a66a4ea0b8b61d39a552f7da000732263">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreCHI.html">StoreCHI</a> * chi)</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; {</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div><div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a7a01d165b24d05f0a218c2abfaad8422"> 496</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1StoreCHI.html#a7a01d165b24d05f0a218c2abfaad8422">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI&lt;Cond&gt;</a> * chi)</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">MSSADEF::StoreMSSACHI</a>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a4324f81324dd6d6c6ba6d1af32e29985"> 500</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1StoreCHI.html#a4324f81324dd6d6c6ba6d1af32e29985">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">MSSADEF::StoreMSSACHI</a>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#af889bd9b729182e20ca7598ad4167bb8"> 507</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1StoreCHI.html#af889bd9b729182e20ca7598ad4167bb8">dump</a>()</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="stringliteral">&quot; = STCHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getOpVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;};</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html"> 521</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallCHI.html">CallCHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;{</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a30f1f8f2b23df3bad70d8083397e28eb"> 524</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallCHI.html#a30f1f8f2b23df3bad70d8083397e28eb">callsite</a>;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a011044a63529bdd773dd2ad447668029"> 528</a></span>&#160; <a class="code" href="classSVF_1_1CallCHI.html#a011044a63529bdd773dd2ad447668029">CallCHI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::CallMSSACHI,m,c), callsite(cs)</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; }</div><div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a9ae4f818ff29ebaccc0d82a0170577b5"> 532</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CallCHI.html#a9ae4f818ff29ebaccc0d82a0170577b5">~CallCHI</a>()</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a69f83ff81ea017d645aadeb46334880f"> 538</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1CallCHI.html#a69f83ff81ea017d645aadeb46334880f">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">return</span> callsite-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()-&gt;getParent();</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#af7f9fb3c01c487686453e25104a5bfc7"> 544</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallCHI.html#af7f9fb3c01c487686453e25104a5bfc7">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">return</span> callsite;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a7c0708ad9a2aa6278b1e7404340ca2ad"> 551</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallCHI.html#a7c0708ad9a2aa6278b1e7404340ca2ad">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallCHI.html">CallCHI</a> * chi)</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div><div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a039209d842c18ef9d4a86a5a725a775b"> 555</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallCHI.html#a039209d842c18ef9d4a86a5a725a775b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI&lt;Cond&gt;</a> * chi)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; {</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4">MSSADEF::CallMSSACHI</a>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; }</div><div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#aeea8fd6c5904874604bb0ced9b080c29"> 559</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallCHI.html#aeea8fd6c5904874604bb0ced9b080c29">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; {</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4">MSSADEF::CallMSSACHI</a>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#ac6a1f2f1c897c647d9b070cb56c61a41"> 566</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallCHI.html#ac6a1f2f1c897c647d9b070cb56c61a41">dump</a>()</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; {</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="stringliteral">&quot; = CALCHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getOpVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;};</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html"> 578</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1EntryCHI.html">EntryCHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;{</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c"> 581</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c">fun</a>;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#a0ba7181ad2a793bf11e40b7c7092e28b"> 585</a></span>&#160; <a class="code" href="classSVF_1_1EntryCHI.html#a0ba7181ad2a793bf11e40b7c7092e28b">EntryCHI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::EntryMSSACHI,m,c),fun(f)</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#ac198f01dd7ebac778367b63081ae487b"> 589</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1EntryCHI.html#ac198f01dd7ebac778367b63081ae487b">~EntryCHI</a>()</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c"> 595</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; }</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#ad9c86f7cf28fe22584b94416803639aa"> 602</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1EntryCHI.html#ad9c86f7cf28fe22584b94416803639aa">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1EntryCHI.html">EntryCHI</a> * chi)</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; {</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div><div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#a55404375929d591f93d09f5a9e896cf6"> 606</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1EntryCHI.html#a55404375929d591f93d09f5a9e896cf6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI&lt;Cond&gt;</a> * chi)</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">MSSADEF::EntryMSSACHI</a>;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div><div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#aa5ed214cd44d8847c7539c7e3de3d276"> 610</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1EntryCHI.html#aa5ed214cd44d8847c7539c7e3de3d276">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">MSSADEF::EntryMSSACHI</a>;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#a819f66c0471fe06c739acf18c4a4161d"> 617</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1EntryCHI.html#a819f66c0471fe06c739acf18c4a4161d">dump</a>()</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="stringliteral">&quot; = ENCHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getOpVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; }</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;};</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;<span class="comment"> * Memory SSA Select, similar to PHINode</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html"> 629</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSAPHI.html">MSSAPHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;{</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a622892bb1c3c151e646ae1a46838c3ba"> 633</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t,const MRVer*&gt;</a> <a class="code" href="classSVF_1_1MSSAPHI.html#a622892bb1c3c151e646ae1a46838c3ba">OPVers</a>;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a39e68e1e74483dc07bd117bd2209da91"> 635</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1MSSAPHI.html#a39e68e1e74483dc07bd117bd2209da91">bb</a>;</div><div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271"> 636</a></span>&#160; OPVers <a class="code" href="classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271">opVers</a>;</div><div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a348e69bf48ee7a959cd0bb117ba1dc9f"> 637</a></span>&#160; Cond <a class="code" href="classSVF_1_1MSSAPHI.html#a348e69bf48ee7a959cd0bb117ba1dc9f">cond</a>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#aee5c6d2b7e3985b9fa1802c66f74fab1"> 641</a></span>&#160; <a class="code" href="classSVF_1_1MSSAPHI.html#aee5c6d2b7e3985b9fa1802c66f74fab1">MSSAPHI</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* b, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::SSAPHI,m), bb(b), cond(c)</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div><div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#ada74af0f5beeddd48d7c37fd7b61f42c"> 645</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSAPHI.html#ada74af0f5beeddd48d7c37fd7b61f42c">~MSSAPHI</a>()</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; }</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a74f663dc5ecc659e98542a53414b7988"> 651</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAPHI.html#a74f663dc5ecc659e98542a53414b7988">setOpVer</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; opVers[pos] = v;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#aeb5a948499f913264de749001f605a4e"> 658</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAPHI.html#aeb5a948499f913264de749001f605a4e">getOpVer</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)<span class="keyword"> const</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; OPVers::const_iterator it = opVers.find(pos);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=opVers.end() &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; }</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#adbefc58750f87cf1c30dd5d445b50feb"> 666</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MSSAPHI.html#adbefc58750f87cf1c30dd5d445b50feb">getOpVerNum</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">return</span> opVers.size();</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a940f9afa26bf54c7175276ea27003c2f"> 673</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHI.html#a940f9afa26bf54c7175276ea27003c2f">opVerBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> opVers.begin();</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a2a49ad9d2eedf1dea98d725b13878d88"> 677</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHI.html#a2a49ad9d2eedf1dea98d725b13878d88">opVerEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> opVers.end();</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;</div><div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a00b3ab85b31b4de91398efea41db158f"> 684</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1MSSAPHI.html#a00b3ab85b31b4de91398efea41db158f">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span> bb;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; }</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a06a5d63be38e6df36e1c28a6c0c789cc"> 690</a></span>&#160; <span class="keyword">inline</span> Cond <a class="code" href="classSVF_1_1MSSAPHI.html#a06a5d63be38e6df36e1c28a6c0c789cc">getCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> cond;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#adab25ebd69f699c019118bc1e099d4f9"> 697</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHI.html#adab25ebd69f699c019118bc1e099d4f9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHI.html">MSSAPHI</a> * phi)</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; }</div><div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a48d3a719b97991be8ba94149a1d30091"> 701</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHI.html#a48d3a719b97991be8ba94149a1d30091">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *phi)</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; {</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">return</span> phi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ae2cdc3b8aae7005f6d7495d2f200a736">MSSADEF::SSAPHI</a> ;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; }</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a15c687ef4286532a5856270bf6f9e11a"> 708</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAPHI.html#a15c687ef4286532a5856270bf6f9e11a">dump</a>()</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="stringliteral">&quot; = PHI(&quot;</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">for</span>(OPVers::iterator it = opVers.begin(), eit = opVers.end(); it!=eit; ++it)</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; it-&gt;second-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;};</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* MSSAMUCHI_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1CallCHI_html_a9ae4f818ff29ebaccc0d82a0170577b5"><div class="ttname"><a href="classSVF_1_1CallCHI.html#a9ae4f818ff29ebaccc0d82a0170577b5">SVF::CallCHI::~CallCHI</a></div><div class="ttdeci">virtual ~CallCHI()</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00532">MSSAMuChi.h:532</a></div></div>
69
+ <a href="MSSAMuChi_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- MSSAMuChi.h -- Mu/Chi on MSSA------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * MSSAMuChi.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Oct 31, 2013</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef MSSAMUCHI_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define MSSAMUCHI_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MemRegion_8h.html">MSSA/MemRegion.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">class </span>MSSADEF;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html"> 43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MRVer.html">MRVer</a></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a1f51f0c2ae814b2170e549ea1122a99f"> 47</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> <a class="code" href="classSVF_1_1MRVer.html#a1f51f0c2ae814b2170e549ea1122a99f">MSSADef</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#ad746973fdd724b71ebb251eb6930fccc"> 50</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MRVer.html#ad746973fdd724b71ebb251eb6930fccc">totalVERNum</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6"> 51</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#afc08020e6d2f1721d1d1363ed3fef151"> 52</a></span>&#160; <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a> <a class="code" href="classSVF_1_1MRVer.html#afc08020e6d2f1721d1d1363ed3fef151">version</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab"> 53</a></span>&#160; <a class="code" href="namespaceSVF.html#a0039280e908258b8e73779de51e9f63b">MRVERID</a> <a class="code" href="classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab">vid</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4"> 54</a></span>&#160; MSSADef* <a class="code" href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4">def</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a15c18c76e5911e472747183f35cd7028"> 57</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html#a15c18c76e5911e472747183f35cd7028">MRVer</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a> v, MSSADef* d) :</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; mr(m), version(v), vid(totalVERNum++),def(d)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825"> 63</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88"> 69</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a> <a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#afc08020e6d2f1721d1d1363ed3fef151">version</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852"> 75</a></span>&#160; <span class="keyword">inline</span> MSSADef* <a class="code" href="classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852">getDef</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4">def</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1MRVer.html#a45b70add039a7f134e8d44bfc6b8f0bc"> 81</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a0039280e908258b8e73779de51e9f63b">MRVERID</a> <a class="code" href="classSVF_1_1MRVer.html#a45b70add039a7f134e8d44bfc6b8f0bc">getID</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab">vid</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html"> 95</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b"> 99</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9ba255f3e3fc50f3a8d9a8bd5800b1b4594"> 101</a></span>&#160; LoadMSSAMU, CallMSSAMU, RetMSSAMU</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; };</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a3cbe5ca0cb91090ef0e8b331e2f15f7c"> 105</a></span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a> <a class="code" href="classSVF_1_1MSSAMU.html#a3cbe5ca0cb91090ef0e8b331e2f15f7c">type</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a51b89fa50c39d864cc9ca63508ea94f4"> 106</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSAMU.html#a51b89fa50c39d864cc9ca63508ea94f4">mr</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a9c84b55a34025c6742f5a02c07cd4a36"> 107</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAMU.html#a9c84b55a34025c6742f5a02c07cd4a36">ver</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a8e828af79da08528166b1f53165bc5b2"> 108</a></span>&#160; Cond <a class="code" href="classSVF_1_1MSSAMU.html#a8e828af79da08528166b1f53165bc5b2">cond</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a1d0f8d3e7651f4ace92d31a9c6604e2f"> 112</a></span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html#a1d0f8d3e7651f4ace92d31a9c6604e2f">MSSAMU</a>(<a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a> t, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c) : type(t), mr(m), ver(nullptr), cond(c)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a128d59c1fbfa6aed7ba4b84c92909366"> 115</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSAMU.html#a128d59c1fbfa6aed7ba4b84c92909366">~MSSAMU</a>()</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a6bd671839ec0376439ccd81d5b2eff30"> 121</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSAMU.html#a6bd671839ec0376439ccd81d5b2eff30">getMR</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9"> 126</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9b">MUTYPE</a> <a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> type;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a2af1e639aabbc5997aa4e6526f6595fb"> 131</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAMU.html#a2af1e639aabbc5997aa4e6526f6595fb">setVer</a>(<a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == mr &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; ver = v;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#ad120dfc87b90b26649bcd8d0c0d3ca80"> 137</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAMU.html#ad120dfc87b90b26649bcd8d0c0d3ca80">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(ver!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#ac51263250da06fd63b923a6771744f97"> 143</a></span>&#160; <span class="keyword">inline</span> Cond <a class="code" href="classSVF_1_1MSSAMU.html#ac51263250da06fd63b923a6771744f97">getCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> cond;</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="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a838a4a7cd670eef1153701aef9871bcf"> 149</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator &lt; (<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a> &amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> mr &gt; rhs.<a class="code" href="classSVF_1_1MSSAMU.html#a6bd671839ec0376439ccd81d5b2eff30">getMR</a>();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAMU.html#a489e8c27e40b709d94a462653fb760f5"> 154</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAMU.html#a489e8c27e40b709d94a462653fb760f5">dump</a>()</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; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;MU(MR_&quot;</span> &lt;&lt; mr-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; ver-&gt;<a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</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;};</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html"> 165</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1LoadMU.html">LoadMU</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</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;<span class="keyword">private</span>:</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#a7bbac3ff5455aa1340f348c7cb239c46"> 169</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* <a class="code" href="classSVF_1_1LoadMU.html#a7bbac3ff5455aa1340f348c7cb239c46">inst</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#ad5b6ecaf016a136c982291256687d4d2"> 170</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1LoadMU.html#ad5b6ecaf016a136c982291256687d4d2">bb</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#aaf916feaa76c3eaf96dcff576ef366ca"> 175</a></span>&#160; <a class="code" href="classSVF_1_1LoadMU.html#aaf916feaa76c3eaf96dcff576ef366ca">LoadMU</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* b,<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;::LoadMSSAMU,m,c), inst(i), bb(b)</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</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"><a class="line" href="classSVF_1_1LoadMU.html#a8193de194cf40211a36156cb87209a7e"> 179</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1LoadMU.html#a8193de194cf40211a36156cb87209a7e">~LoadMU</a>()</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;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#ab1533c4c25427a6acc1be6f867f3c882"> 186</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* <a class="code" href="classSVF_1_1LoadMU.html#ab1533c4c25427a6acc1be6f867f3c882">getLoadStmt</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> inst;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#abcd77653329021248bb406815f8691a7"> 192</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1LoadMU.html#abcd77653329021248bb406815f8691a7">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> bb;</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;</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"><a class="line" href="classSVF_1_1LoadMU.html#a675192a60c5afa6e1d5f9b7dae5953b5"> 199</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LoadMU.html#a675192a60c5afa6e1d5f9b7dae5953b5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadMU.html">LoadMU</a> *)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#a2b3f73c38c479e05984e01710227e50f"> 203</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LoadMU.html#a2b3f73c38c479e05984e01710227e50f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;</a> *mu)</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; <span class="keywordflow">return</span> mu-&gt;<a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>() == <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;::LoadMSSAMU</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1LoadMU.html#aaaa51723d657719b82a2ce85c1628329"> 210</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1LoadMU.html#aaaa51723d657719b82a2ce85c1628329">dump</a>()</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;LDMU(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getMRVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</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;};</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html"> 221</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallMU.html">CallMU</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;</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;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#aa90a06c9e44914a7a8e104aa80bf1374"> 225</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallMU.html#aa90a06c9e44914a7a8e104aa80bf1374">callsite</a>;</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;<span class="keyword">public</span>:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#abb981eb0739d7b3fdcc271b693e708ae"> 230</a></span>&#160; <a class="code" href="classSVF_1_1CallMU.html#abb981eb0739d7b3fdcc271b693e708ae">CallMU</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;::CallMSSAMU,m,c), callsite(cs)</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#a408184b7a6c625d67a4b660e140b10c5"> 234</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CallMU.html#a408184b7a6c625d67a4b660e140b10c5">~CallMU</a>()</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</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; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#a57616dc30fb97c6dc64c9210b42bbeb7"> 241</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallMU.html#a57616dc30fb97c6dc64c9210b42bbeb7">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> callsite;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#ab20ae240ad380c760b9b1f4b8b06344f"> 247</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1CallMU.html#ab20ae240ad380c760b9b1f4b8b06344f">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> callsite-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()-&gt;getParent();</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#af8a0defe4c5b36893e155a4b074c0f30"> 254</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallMU.html#af8a0defe4c5b36893e155a4b074c0f30">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallMU.html">CallMU</a> *)</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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#a27c70bc7543eeb2fcf64f139481d3bf9"> 258</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallMU.html#a27c70bc7543eeb2fcf64f139481d3bf9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;</a> *mu)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> mu-&gt;<a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>() == <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;::CallMSSAMU</a>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1CallMU.html#af08ecc9c2b75737e88690fb2319fcf57"> 265</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallMU.html#af08ecc9c2b75737e88690fb2319fcf57">dump</a>()</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;CALMU(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getMRVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;};</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html"> 277</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1RetMU.html">RetMU</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;{</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c"> 280</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c">fun</a>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a8cd41b018ddef450d17a20ea83ce3fee"> 284</a></span>&#160; <a class="code" href="classSVF_1_1RetMU.html#a8cd41b018ddef450d17a20ea83ce3fee">RetMU</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU</a>&lt;Cond&gt;::RetMSSAMU,m,c), fun(f)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a0f908cb79713ed332284838c5a87dcc7"> 288</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1RetMU.html#a0f908cb79713ed332284838c5a87dcc7">~RetMU</a>() {}</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f"> 292</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#ace8b780beda75de78d08247335e1738a"> 299</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetMU.html#ace8b780beda75de78d08247335e1738a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetMU.html">RetMU</a> *)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#ae6608c348426d99a5d3963ceaca2eb8b"> 303</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetMU.html#ae6608c348426d99a5d3963ceaca2eb8b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;</a> *mu)</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> mu-&gt;<a class="code" href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">getType</a>() == <a class="code" href="classSVF_1_1MSSAMU.html">MSSAMU&lt;Cond&gt;::RetMSSAMU</a>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1RetMU.html#ae452b798bf9c6a9d913e63a75c4cd3c0"> 310</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RetMU.html#ae452b798bf9c6a9d913e63a75c4cd3c0">dump</a>()</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;RETMU(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getMRVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;};</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html"> 325</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;{</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18"> 329</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580"> 331</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580">SSACHI</a>,</div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43"> 332</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">StoreMSSACHI</a>,</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4"> 333</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4">CallMSSACHI</a>,</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3"> 334</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">EntryMSSACHI</a>,</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ae2cdc3b8aae7005f6d7495d2f200a736"> 335</a></span>&#160; SSAPHI</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; };</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a9e8a03dc2c2f76ef6bc095f21911f5b6"> 339</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a> <a class="code" href="classSVF_1_1MSSADEF.html#a9e8a03dc2c2f76ef6bc095f21911f5b6">type</a>;</div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a01bc47f779d20fa8e3be182ceab12780"> 340</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSADEF.html#a01bc47f779d20fa8e3be182ceab12780">mr</a>;</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a72560a998968ae2dbc6e5aa8a7e9f813"> 341</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSADEF.html#a72560a998968ae2dbc6e5aa8a7e9f813">resVer</a>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a1b1c7cbc293182a5ded43efa522990de"> 346</a></span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html#a1b1c7cbc293182a5ded43efa522990de">MSSADEF</a>(<a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a> t, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m): type(t), mr(m), resVer(nullptr)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#add2262289cdad5d5e14c0082b40c45d9"> 350</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSADEF.html#add2262289cdad5d5e14c0082b40c45d9">~MSSADEF</a>() {}</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c"> 354</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* <a class="code" href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c">getMR</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRVer.html#aafe30801672cd436216386ad6ff479e6">mr</a>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c"> 360</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">DEFTYPE</a> <a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> type;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a343eb4c9515dfbbbdadaacf5500e5f05"> 366</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSADEF.html#a343eb4c9515dfbbbdadaacf5500e5f05">setResVer</a>(<a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v)</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == mr &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; resVer = v;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#a21cb532396180e0b6bab515c52bec282"> 373</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSADEF.html#a21cb532396180e0b6bab515c52bec282">getResVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(resVer!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> resVer;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#ad24da3516c198ade16c6909c5222fd0f"> 380</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator &lt; (<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> &amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> mr &gt; rhs.<a class="code" href="classSVF_1_1MSSADEF.html#ab3070e4293ceb5ca9c25702f76ac427c">getMR</a>();</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSADEF.html#aa7e06959d5b3197d930aa44b09694b52"> 386</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSADEF.html#aa7e06959d5b3197d930aa44b09694b52">dump</a>()</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;DEF(MR_&quot;</span> &lt;&lt; mr-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;};</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html"> 396</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;{</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757"> 400</a></span>&#160; <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757">opVer</a>;</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#addeee3fb0c5e6b1c68c30da111c26759"> 401</a></span>&#160; Cond <a class="code" href="classSVF_1_1MSSACHI.html#addeee3fb0c5e6b1c68c30da111c26759">cond</a>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a21d9218e105987a1f807633ea824e5d3"> 403</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18">MSSADEF::DEFTYPE</a> <a class="code" href="classSVF_1_1MSSACHI.html#a21d9218e105987a1f807633ea824e5d3">CHITYPE</a>;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#af9ecdf852667bd23fe4805ba04c3e815"> 406</a></span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html#af9ecdf852667bd23fe4805ba04c3e815">MSSACHI</a>(CHITYPE t, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c): <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>(t,m), opVer(nullptr), cond(c)</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a01cdeb7ac96e0809d1d56c9da56c4b97"> 410</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSACHI.html#a01cdeb7ac96e0809d1d56c9da56c4b97">~MSSACHI</a>() {}</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a245d8ee9e81ba4fe6f41533baf471331"> 414</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSACHI.html#a245d8ee9e81ba4fe6f41533baf471331">setOpVer</a>(<a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v)</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; opVer = v;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; }</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a7af6f73ff1432d4adb5ee8493fbe73fb"> 421</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSACHI.html#a7af6f73ff1432d4adb5ee8493fbe73fb">getOpVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(opVer!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> opVer;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a9673994f9db94e23984b132d4b533304"> 428</a></span>&#160; <span class="keyword">inline</span> Cond <a class="code" href="classSVF_1_1MSSACHI.html#a9673994f9db94e23984b132d4b533304">getCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> cond;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a49cf6b7e0cb38acfeb2eb2e1273c506d"> 435</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSACHI.html#a49cf6b7e0cb38acfeb2eb2e1273c506d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a> * chi)</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a450055eb758896fb2e3e4f67febe7782"> 439</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSACHI.html#a450055eb758896fb2e3e4f67febe7782">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">MSSADEF::EntryMSSACHI</a> ||</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">MSSADEF::StoreMSSACHI</a> ||</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580">MSSADEF::SSACHI</a> ;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSACHI.html#a63355fc98b9c1cc3db5e664e387693ca"> 448</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSACHI.html#a63355fc98b9c1cc3db5e664e387693ca">dump</a>()</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="stringliteral">&quot; = CHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; opVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">getSSAVersion</a>() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;};</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html"> 461</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1StoreCHI.html">StoreCHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;{</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a3b1bcd4535e2199b57adc67fc283fb3f"> 464</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a3b1bcd4535e2199b57adc67fc283fb3f">bb</a>;</div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a6e58e7cde1f417ec3feaef98f6f74be2"> 465</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a6e58e7cde1f417ec3feaef98f6f74be2">inst</a>;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a34433e6e437d302014fd06b5fb624a79"> 469</a></span>&#160; <a class="code" href="classSVF_1_1StoreCHI.html#a34433e6e437d302014fd06b5fb624a79">StoreCHI</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* b, <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::StoreMSSACHI,m,c), bb(b), inst(i)</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; }</div><div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a95f30699dd8622ff60d4aba7e51d0ecf"> 473</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1StoreCHI.html#a95f30699dd8622ff60d4aba7e51d0ecf">~StoreCHI</a>()</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a85eb84312c003a57b2c9c4ed7df7c239"> 479</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a85eb84312c003a57b2c9c4ed7df7c239">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> bb;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a0faba82bc86a12011407f4af00b2d0ad"> 485</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* <a class="code" href="classSVF_1_1StoreCHI.html#a0faba82bc86a12011407f4af00b2d0ad">getStoreStmt</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> inst;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a66a4ea0b8b61d39a552f7da000732263"> 492</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1StoreCHI.html#a66a4ea0b8b61d39a552f7da000732263">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreCHI.html">StoreCHI</a> * chi)</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; {</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div><div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a7a01d165b24d05f0a218c2abfaad8422"> 496</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1StoreCHI.html#a7a01d165b24d05f0a218c2abfaad8422">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI&lt;Cond&gt;</a> * chi)</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">MSSADEF::StoreMSSACHI</a>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#a4324f81324dd6d6c6ba6d1af32e29985"> 500</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1StoreCHI.html#a4324f81324dd6d6c6ba6d1af32e29985">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">MSSADEF::StoreMSSACHI</a>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classSVF_1_1StoreCHI.html#af889bd9b729182e20ca7598ad4167bb8"> 507</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1StoreCHI.html#af889bd9b729182e20ca7598ad4167bb8">dump</a>()</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="stringliteral">&quot; = STCHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getOpVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;};</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html"> 521</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallCHI.html">CallCHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;{</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a30f1f8f2b23df3bad70d8083397e28eb"> 524</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallCHI.html#a30f1f8f2b23df3bad70d8083397e28eb">callsite</a>;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a011044a63529bdd773dd2ad447668029"> 528</a></span>&#160; <a class="code" href="classSVF_1_1CallCHI.html#a011044a63529bdd773dd2ad447668029">CallCHI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::CallMSSACHI,m,c), callsite(cs)</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; }</div><div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a9ae4f818ff29ebaccc0d82a0170577b5"> 532</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CallCHI.html#a9ae4f818ff29ebaccc0d82a0170577b5">~CallCHI</a>()</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a69f83ff81ea017d645aadeb46334880f"> 538</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1CallCHI.html#a69f83ff81ea017d645aadeb46334880f">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">return</span> callsite-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()-&gt;getParent();</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#af7f9fb3c01c487686453e25104a5bfc7"> 544</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1CallCHI.html#af7f9fb3c01c487686453e25104a5bfc7">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">return</span> callsite;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a7c0708ad9a2aa6278b1e7404340ca2ad"> 551</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallCHI.html#a7c0708ad9a2aa6278b1e7404340ca2ad">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallCHI.html">CallCHI</a> * chi)</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div><div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#a039209d842c18ef9d4a86a5a725a775b"> 555</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallCHI.html#a039209d842c18ef9d4a86a5a725a775b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI&lt;Cond&gt;</a> * chi)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; {</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4">MSSADEF::CallMSSACHI</a>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; }</div><div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#aeea8fd6c5904874604bb0ced9b080c29"> 559</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallCHI.html#aeea8fd6c5904874604bb0ced9b080c29">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; {</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18acdf2b1261a1be8a4a923a22311ecd1e4">MSSADEF::CallMSSACHI</a>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="classSVF_1_1CallCHI.html#ac6a1f2f1c897c647d9b070cb56c61a41"> 566</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallCHI.html#ac6a1f2f1c897c647d9b070cb56c61a41">dump</a>()</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; {</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="stringliteral">&quot; = CALCHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getOpVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;};</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html"> 578</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1EntryCHI.html">EntryCHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;{</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c"> 581</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c">fun</a>;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#a0ba7181ad2a793bf11e40b7c7092e28b"> 585</a></span>&#160; <a class="code" href="classSVF_1_1EntryCHI.html#a0ba7181ad2a793bf11e40b7c7092e28b">EntryCHI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI</a>&lt;Cond&gt;(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::EntryMSSACHI,m,c),fun(f)</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#ac198f01dd7ebac778367b63081ae487b"> 589</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1EntryCHI.html#ac198f01dd7ebac778367b63081ae487b">~EntryCHI</a>()</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c"> 595</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; }</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#ad9c86f7cf28fe22584b94416803639aa"> 602</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1EntryCHI.html#ad9c86f7cf28fe22584b94416803639aa">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1EntryCHI.html">EntryCHI</a> * chi)</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; {</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div><div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#a55404375929d591f93d09f5a9e896cf6"> 606</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1EntryCHI.html#a55404375929d591f93d09f5a9e896cf6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSACHI.html">MSSACHI&lt;Cond&gt;</a> * chi)</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">MSSADEF::EntryMSSACHI</a>;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div><div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#aa5ed214cd44d8847c7539c7e3de3d276"> 610</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1EntryCHI.html#aa5ed214cd44d8847c7539c7e3de3d276">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *chi)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">return</span> chi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">MSSADEF::EntryMSSACHI</a>;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="classSVF_1_1EntryCHI.html#a819f66c0471fe06c739acf18c4a4161d"> 617</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1EntryCHI.html#a819f66c0471fe06c739acf18c4a4161d">dump</a>()</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="stringliteral">&quot; = ENCHI(MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getOpVer()-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;) \t&quot;</span> &lt;&lt;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; }</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;};</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;<span class="comment"> * Memory SSA Select, similar to PHINode</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Cond&gt;</div><div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html"> 629</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSAPHI.html">MSSAPHI</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;{</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a622892bb1c3c151e646ae1a46838c3ba"> 633</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t,const MRVer*&gt;</a> <a class="code" href="classSVF_1_1MSSAPHI.html#a622892bb1c3c151e646ae1a46838c3ba">OPVers</a>;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a39e68e1e74483dc07bd117bd2209da91"> 635</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1MSSAPHI.html#a39e68e1e74483dc07bd117bd2209da91">bb</a>;</div><div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271"> 636</a></span>&#160; OPVers <a class="code" href="classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271">opVers</a>;</div><div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a348e69bf48ee7a959cd0bb117ba1dc9f"> 637</a></span>&#160; Cond <a class="code" href="classSVF_1_1MSSAPHI.html#a348e69bf48ee7a959cd0bb117ba1dc9f">cond</a>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#aee5c6d2b7e3985b9fa1802c66f74fab1"> 641</a></span>&#160; <a class="code" href="classSVF_1_1MSSAPHI.html#aee5c6d2b7e3985b9fa1802c66f74fab1">MSSAPHI</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* b, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* m, Cond c = <span class="keyword">true</span>) :</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>(<a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a>::SSAPHI,m), bb(b), cond(c)</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div><div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#ada74af0f5beeddd48d7c37fd7b61f42c"> 645</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MSSAPHI.html#ada74af0f5beeddd48d7c37fd7b61f42c">~MSSAPHI</a>()</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; }</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a74f663dc5ecc659e98542a53414b7988"> 651</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAPHI.html#a74f663dc5ecc659e98542a53414b7988">setOpVer</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* v, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(v-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() == this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>() &amp;&amp; <span class="stringliteral">&quot;inserting different memory region?&quot;</span>);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; opVers[pos] = v;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#aeb5a948499f913264de749001f605a4e"> 658</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAPHI.html#aeb5a948499f913264de749001f605a4e">getOpVer</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)<span class="keyword"> const</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; OPVers::const_iterator it = opVers.find(pos);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=opVers.end() &amp;&amp; <span class="stringliteral">&quot;version is nullptr, did not rename?&quot;</span>);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; }</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#adbefc58750f87cf1c30dd5d445b50feb"> 666</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MSSAPHI.html#adbefc58750f87cf1c30dd5d445b50feb">getOpVerNum</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">return</span> opVers.size();</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a940f9afa26bf54c7175276ea27003c2f"> 673</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHI.html#a940f9afa26bf54c7175276ea27003c2f">opVerBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> opVers.begin();</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a2a49ad9d2eedf1dea98d725b13878d88"> 677</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHI.html#a2a49ad9d2eedf1dea98d725b13878d88">opVerEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> opVers.end();</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;</div><div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a00b3ab85b31b4de91398efea41db158f"> 684</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1MSSAPHI.html#a00b3ab85b31b4de91398efea41db158f">getBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span> bb;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; }</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a06a5d63be38e6df36e1c28a6c0c789cc"> 690</a></span>&#160; <span class="keyword">inline</span> Cond <a class="code" href="classSVF_1_1MSSAPHI.html#a06a5d63be38e6df36e1c28a6c0c789cc">getCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> cond;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#adab25ebd69f699c019118bc1e099d4f9"> 697</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHI.html#adab25ebd69f699c019118bc1e099d4f9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHI.html">MSSAPHI</a> * phi)</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; }</div><div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a48d3a719b97991be8ba94149a1d30091"> 701</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHI.html#a48d3a719b97991be8ba94149a1d30091">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSADEF.html">MSSADEF</a> *phi)</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; {</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">return</span> phi-&gt;<a class="code" href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">getType</a>() == <a class="code" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ae2cdc3b8aae7005f6d7495d2f200a736">MSSADEF::SSAPHI</a> ;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; }</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHI.html#a15c687ef4286532a5856270bf6f9e11a"> 708</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAPHI.html#a15c687ef4286532a5856270bf6f9e11a">dump</a>()</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; this-&gt;getResVer()-&gt;getSSAVersion() &lt;&lt;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="stringliteral">&quot; = PHI(&quot;</span>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">for</span>(OPVers::iterator it = opVers.begin(), eit = opVers.end(); it!=eit; ++it)</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;MR_&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>() &lt;&lt; <span class="stringliteral">&quot;V_&quot;</span> &lt;&lt; it-&gt;second-&gt;getSSAVersion() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;};</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* MSSAMUCHI_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1CallCHI_html_a9ae4f818ff29ebaccc0d82a0170577b5"><div class="ttname"><a href="classSVF_1_1CallCHI.html#a9ae4f818ff29ebaccc0d82a0170577b5">SVF::CallCHI::~CallCHI</a></div><div class="ttdeci">virtual ~CallCHI()</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00532">MSSAMuChi.h:532</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a4cabef62b821efb0c88efb304fd0a70c"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">SVF::MSSADEF::getType</a></div><div class="ttdeci">DEFTYPE getType() const</div><div class="ttdoc">Return type of this CHI. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00360">MSSAMuChi.h:360</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1MRVer_html"><div class="ttname"><a href="classSVF_1_1MRVer.html">SVF::MRVer</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00043">MSSAMuChi.h:43</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1MSSAPHI_html_adab25ebd69f699c019118bc1e099d4f9"><div class="ttname"><a href="classSVF_1_1MSSAPHI.html#adab25ebd69f699c019118bc1e099d4f9">SVF::MSSAPHI::classof</a></div><div class="ttdeci">static bool classof(const MSSAPHI *phi)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00697">MSSAMuChi.h:697</a></div></div>
@@ -81,23 +81,22 @@ $(function() {
81
81
  <div class="ttc" id="classSVF_1_1StoreCHI_html_a85eb84312c003a57b2c9c4ed7df7c239"><div class="ttname"><a href="classSVF_1_1StoreCHI.html#a85eb84312c003a57b2c9c4ed7df7c239">SVF::StoreCHI::getBasicBlock</a></div><div class="ttdeci">const BasicBlock * getBasicBlock() const</div><div class="ttdoc">Get basic block. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00479">MSSAMuChi.h:479</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1CallMU_html"><div class="ttname"><a href="classSVF_1_1CallMU.html">SVF::CallMU</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00221">MSSAMuChi.h:221</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1LoadMU_html_a675192a60c5afa6e1d5f9b7dae5953b5"><div class="ttname"><a href="classSVF_1_1LoadMU.html#a675192a60c5afa6e1d5f9b7dae5953b5">SVF::LoadMU::classof</a></div><div class="ttdeci">static bool classof(const LoadMU *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00199">MSSAMuChi.h:199</a></div></div>
84
- <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00074">BasicTypes.h:74</a></div></div>
84
+ <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a72560a998968ae2dbc6e5aa8a7e9f813"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a72560a998968ae2dbc6e5aa8a7e9f813">SVF::MSSADEF::resVer</a></div><div class="ttdeci">MRVer * resVer</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00341">MSSAMuChi.h:341</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18aeebaf47309ac06cd04ae69979f4c2580">SVF::MSSADEF::SSACHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00331">MSSAMuChi.h:331</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1MRVer_html_a3398bb8d3189413c275b62d5cb7a5fc4"><div class="ttname"><a href="classSVF_1_1MRVer.html#a3398bb8d3189413c275b62d5cb7a5fc4">SVF::MRVer::def</a></div><div class="ttdeci">MSSADef * def</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00054">MSSAMuChi.h:54</a></div></div>
88
88
  <div class="ttc" id="MemRegion_8h_html"><div class="ttname"><a href="MemRegion_8h.html">MemRegion.h</a></div></div>
89
- <div class="ttc" id="classSVF_1_1LoadMU_html_a5c26668b6ab2db91c4d5ba32d6a27b14"><div class="ttname"><a href="classSVF_1_1LoadMU.html#a5c26668b6ab2db91c4d5ba32d6a27b14">SVF::LoadMU::getLoadInst</a></div><div class="ttdeci">const LoadStmt * getLoadInst() const</div><div class="ttdoc">Return load instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00186">MSSAMuChi.h:186</a></div></div>
90
89
  <div class="ttc" id="classSVF_1_1StoreCHI_html"><div class="ttname"><a href="classSVF_1_1StoreCHI.html">SVF::StoreCHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00461">MSSAMuChi.h:461</a></div></div>
91
- <div class="ttc" id="classSVF_1_1StoreCHI_html_aead80cf9aad5818f16ad61d7a83b7c79"><div class="ttname"><a href="classSVF_1_1StoreCHI.html#aead80cf9aad5818f16ad61d7a83b7c79">SVF::StoreCHI::getStoreInst</a></div><div class="ttdeci">const StoreStmt * getStoreInst() const</div><div class="ttdoc">Get store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00485">MSSAMuChi.h:485</a></div></div>
92
90
  <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>
93
91
  <div class="ttc" id="classSVF_1_1CallMU_html_abb981eb0739d7b3fdcc271b693e708ae"><div class="ttname"><a href="classSVF_1_1CallMU.html#abb981eb0739d7b3fdcc271b693e708ae">SVF::CallMU::CallMU</a></div><div class="ttdeci">CallMU(const CallICFGNode *cs, const MemRegion *m, Cond c=true)</div><div class="ttdoc">Constructor/Destructor for MU. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00230">MSSAMuChi.h:230</a></div></div>
94
92
  <div class="ttc" id="classSVF_1_1MSSACHI_html_a49cf6b7e0cb38acfeb2eb2e1273c506d"><div class="ttname"><a href="classSVF_1_1MSSACHI.html#a49cf6b7e0cb38acfeb2eb2e1273c506d">SVF::MSSACHI::classof</a></div><div class="ttdeci">static bool classof(const MSSACHI *chi)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00435">MSSAMuChi.h:435</a></div></div>
95
- <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="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
93
+ <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="Util_2BasicTypes_8h_source.html#l00175">BasicTypes.h:175</a></div></div>
96
94
  <div class="ttc" id="classSVF_1_1StoreCHI_html_a34433e6e437d302014fd06b5fb624a79"><div class="ttname"><a href="classSVF_1_1StoreCHI.html#a34433e6e437d302014fd06b5fb624a79">SVF::StoreCHI::StoreCHI</a></div><div class="ttdeci">StoreCHI(const BasicBlock *b, const StoreStmt *i, const MemRegion *m, Cond c=true)</div><div class="ttdoc">Constructors for StoreCHI. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00469">MSSAMuChi.h:469</a></div></div>
97
95
  <div class="ttc" id="classSVF_1_1MSSAPHI_html_ada74af0f5beeddd48d7c37fd7b61f42c"><div class="ttname"><a href="classSVF_1_1MSSAPHI.html#ada74af0f5beeddd48d7c37fd7b61f42c">SVF::MSSAPHI::~MSSAPHI</a></div><div class="ttdeci">virtual ~MSSAPHI()</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00645">MSSAMuChi.h:645</a></div></div>
98
96
  <div class="ttc" id="classSVF_1_1CallCHI_html_a30f1f8f2b23df3bad70d8083397e28eb"><div class="ttname"><a href="classSVF_1_1CallCHI.html#a30f1f8f2b23df3bad70d8083397e28eb">SVF::CallCHI::callsite</a></div><div class="ttdeci">const CallICFGNode * callsite</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00524">MSSAMuChi.h:524</a></div></div>
99
97
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a21cb532396180e0b6bab515c52bec282"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a21cb532396180e0b6bab515c52bec282">SVF::MSSADEF::getResVer</a></div><div class="ttdeci">MRVer * getResVer() const</div><div class="ttdoc">Set operand vers. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00373">MSSAMuChi.h:373</a></div></div>
100
98
  <div class="ttc" id="classSVF_1_1CallMU_html_af8a0defe4c5b36893e155a4b074c0f30"><div class="ttname"><a href="classSVF_1_1CallMU.html#af8a0defe4c5b36893e155a4b074c0f30">SVF::CallMU::classof</a></div><div class="ttdeci">static bool classof(const CallMU *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00254">MSSAMuChi.h:254</a></div></div>
99
+ <div class="ttc" id="classSVF_1_1LoadMU_html_ab1533c4c25427a6acc1be6f867f3c882"><div class="ttname"><a href="classSVF_1_1LoadMU.html#ab1533c4c25427a6acc1be6f867f3c882">SVF::LoadMU::getLoadStmt</a></div><div class="ttdeci">const LoadStmt * getLoadStmt() const</div><div class="ttdoc">Return load instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00186">MSSAMuChi.h:186</a></div></div>
101
100
  <div class="ttc" id="classSVF_1_1MSSAMU_html_a9a542febe746d1389d34e5e31a3253c9"><div class="ttname"><a href="classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9">SVF::MSSAMU::getType</a></div><div class="ttdeci">MUTYPE getType() const</div><div class="ttdoc">Return type. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00126">MSSAMuChi.h:126</a></div></div>
102
101
  <div class="ttc" id="classSVF_1_1RetMU_html_a0f908cb79713ed332284838c5a87dcc7"><div class="ttname"><a href="classSVF_1_1RetMU.html#a0f908cb79713ed332284838c5a87dcc7">SVF::RetMU::~RetMU</a></div><div class="ttdeci">virtual ~RetMU()</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00288">MSSAMuChi.h:288</a></div></div>
103
102
  <div class="ttc" id="classSVF_1_1MRVer_html_a45b70add039a7f134e8d44bfc6b8f0bc"><div class="ttname"><a href="classSVF_1_1MRVer.html#a45b70add039a7f134e8d44bfc6b8f0bc">SVF::MRVer::getID</a></div><div class="ttdeci">MRVERID getID() const</div><div class="ttdoc">Get MRVERID. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00081">MSSAMuChi.h:81</a></div></div>
@@ -110,13 +109,13 @@ $(function() {
110
109
  <div class="ttc" id="classSVF_1_1MSSAPHI_html_a74f663dc5ecc659e98542a53414b7988"><div class="ttname"><a href="classSVF_1_1MSSAPHI.html#a74f663dc5ecc659e98542a53414b7988">SVF::MSSAPHI::setOpVer</a></div><div class="ttdeci">void setOpVer(const MRVer *v, u32_t pos)</div><div class="ttdoc">Set operand ver. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00651">MSSAMuChi.h:651</a></div></div>
111
110
  <div class="ttc" id="classSVF_1_1CallMU_html_ab20ae240ad380c760b9b1f4b8b06344f"><div class="ttname"><a href="classSVF_1_1CallMU.html#ab20ae240ad380c760b9b1f4b8b06344f">SVF::CallMU::getBasicBlock</a></div><div class="ttdeci">const BasicBlock * getBasicBlock() const</div><div class="ttdoc">Return basic block. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00247">MSSAMuChi.h:247</a></div></div>
112
111
  <div class="ttc" id="classSVF_1_1MSSACHI_html_a450055eb758896fb2e3e4f67febe7782"><div class="ttname"><a href="classSVF_1_1MSSACHI.html#a450055eb758896fb2e3e4f67febe7782">SVF::MSSACHI::classof</a></div><div class="ttdeci">static bool classof(const MSSADEF *chi)</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00439">MSSAMuChi.h:439</a></div></div>
113
- <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00110">SVFBasicTypes.h:110</a></div></div>
112
+ <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00109">SVFBasicTypes.h:109</a></div></div>
114
113
  <div class="ttc" id="classSVF_1_1MSSAMU_html_a1d0f8d3e7651f4ace92d31a9c6604e2f"><div class="ttname"><a href="classSVF_1_1MSSAMU.html#a1d0f8d3e7651f4ace92d31a9c6604e2f">SVF::MSSAMU::MSSAMU</a></div><div class="ttdeci">MSSAMU(MUTYPE t, const MemRegion *m, Cond c)</div><div class="ttdoc">Constructor/Destructor for MU. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00112">MSSAMuChi.h:112</a></div></div>
115
114
  <div class="ttc" id="classSVF_1_1StoreCHI_html_a4324f81324dd6d6c6ba6d1af32e29985"><div class="ttname"><a href="classSVF_1_1StoreCHI.html#a4324f81324dd6d6c6ba6d1af32e29985">SVF::StoreCHI::classof</a></div><div class="ttdeci">static bool classof(const MSSADEF *chi)</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00500">MSSAMuChi.h:500</a></div></div>
116
115
  <div class="ttc" id="classSVF_1_1MSSACHI_html_a86f2f3f6e2215cdbe31caee048510757"><div class="ttname"><a href="classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757">SVF::MSSACHI::opVer</a></div><div class="ttdeci">MRVer * opVer</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00400">MSSAMuChi.h:400</a></div></div>
117
116
  <div class="ttc" id="classSVF_1_1MSSAMU_html_ac51263250da06fd63b923a6771744f97"><div class="ttname"><a href="classSVF_1_1MSSAMU.html#ac51263250da06fd63b923a6771744f97">SVF::MSSAMU::getCond</a></div><div class="ttdeci">Cond getCond() const</div><div class="ttdoc">Return condition. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00143">MSSAMuChi.h:143</a></div></div>
118
117
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a01bc47f779d20fa8e3be182ceab12780"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a01bc47f779d20fa8e3be182ceab12780">SVF::MSSADEF::mr</a></div><div class="ttdeci">const MemRegion * mr</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00340">MSSAMuChi.h:340</a></div></div>
119
- <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
118
+ <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
120
119
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a1b1c7cbc293182a5ded43efa522990de"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a1b1c7cbc293182a5ded43efa522990de">SVF::MSSADEF::MSSADEF</a></div><div class="ttdeci">MSSADEF(DEFTYPE t, const MemRegion *m)</div><div class="ttdoc">Constructor/Destructer for MSSADEF. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00346">MSSAMuChi.h:346</a></div></div>
121
120
  <div class="ttc" id="classSVF_1_1MSSADEF_html"><div class="ttname"><a href="classSVF_1_1MSSADEF.html">SVF::MSSADEF</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00325">MSSAMuChi.h:325</a></div></div>
122
121
  <div class="ttc" id="classSVF_1_1MSSAMU_html_ad120dfc87b90b26649bcd8d0c0d3ca80"><div class="ttname"><a href="classSVF_1_1MSSAMU.html#ad120dfc87b90b26649bcd8d0c0d3ca80">SVF::MSSAMU::getMRVer</a></div><div class="ttdeci">MRVer * getMRVer() const</div><div class="ttdoc">Get Ver. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00137">MSSAMuChi.h:137</a></div></div>
@@ -131,6 +130,7 @@ $(function() {
131
130
  <div class="ttc" id="classSVF_1_1MSSAMU_html_a51b89fa50c39d864cc9ca63508ea94f4"><div class="ttname"><a href="classSVF_1_1MSSAMU.html#a51b89fa50c39d864cc9ca63508ea94f4">SVF::MSSAMU::mr</a></div><div class="ttdeci">const MemRegion * mr</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00106">MSSAMuChi.h:106</a></div></div>
132
131
  <div class="ttc" id="classSVF_1_1MSSAMU_html_a3cbe5ca0cb91090ef0e8b331e2f15f7c"><div class="ttname"><a href="classSVF_1_1MSSAMU.html#a3cbe5ca0cb91090ef0e8b331e2f15f7c">SVF::MSSAMU::type</a></div><div class="ttdeci">MUTYPE type</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00105">MSSAMuChi.h:105</a></div></div>
133
132
  <div class="ttc" id="classSVF_1_1MSSADEF_html_a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18ac9b53519d32443a72c04e771489aba43">SVF::MSSADEF::StoreMSSACHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00332">MSSAMuChi.h:332</a></div></div>
133
+ <div class="ttc" id="classSVF_1_1StoreCHI_html_a0faba82bc86a12011407f4af00b2d0ad"><div class="ttname"><a href="classSVF_1_1StoreCHI.html#a0faba82bc86a12011407f4af00b2d0ad">SVF::StoreCHI::getStoreStmt</a></div><div class="ttdeci">const StoreStmt * getStoreStmt() const</div><div class="ttdoc">Get store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00485">MSSAMuChi.h:485</a></div></div>
134
134
  <div class="ttc" id="classSVF_1_1LoadMU_html_abcd77653329021248bb406815f8691a7"><div class="ttname"><a href="classSVF_1_1LoadMU.html#abcd77653329021248bb406815f8691a7">SVF::LoadMU::getBasicBlock</a></div><div class="ttdeci">const BasicBlock * getBasicBlock() const</div><div class="ttdoc">Return basic block. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00192">MSSAMuChi.h:192</a></div></div>
135
135
  <div class="ttc" id="classSVF_1_1LoadMU_html_ad5b6ecaf016a136c982291256687d4d2"><div class="ttname"><a href="classSVF_1_1LoadMU.html#ad5b6ecaf016a136c982291256687d4d2">SVF::LoadMU::bb</a></div><div class="ttdeci">const BasicBlock * bb</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00170">MSSAMuChi.h:170</a></div></div>
136
136
  <div class="ttc" id="classSVF_1_1MRVer_html_a15c18c76e5911e472747183f35cd7028"><div class="ttname"><a href="classSVF_1_1MRVer.html#a15c18c76e5911e472747183f35cd7028">SVF::MRVer::MRVer</a></div><div class="ttdeci">MRVer(const MemRegion *m, MRVERSION v, MSSADef *d)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00057">MSSAMuChi.h:57</a></div></div>