svf-tools 1.0.409 → 1.0.412

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 (210) hide show
  1. package/CMakeLists.txt +1 -1
  2. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  8. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
  9. package/SVF-doxygen/html/html/Andersen_8h_source.html +3 -3
  10. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  11. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  12. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/html/DDAStat_8h_source.html +5 -5
  16. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -2
  20. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +7 -6
  22. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
  23. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -83
  27. package/SVF-doxygen/html/html/MHP_8cpp_source.html +42 -46
  28. package/SVF-doxygen/html/html/MHP_8h_source.html +26 -26
  29. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
  30. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +10 -10
  35. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +9 -9
  36. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +11 -11
  37. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +8 -8
  38. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
  39. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +30 -31
  40. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  41. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +33 -34
  42. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +9 -9
  43. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +8 -7
  44. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
  45. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  51. package/SVF-doxygen/html/html/TCT_8cpp_source.html +14 -14
  52. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  54. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +6 -5
  56. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +214 -215
  57. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +15 -16
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +180 -181
  59. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +1 -4
  60. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +226 -227
  61. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +0 -3
  62. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +232 -233
  63. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +2 -5
  64. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +222 -223
  65. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -6
  66. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +222 -223
  67. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -4
  68. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +152 -154
  69. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +9 -12
  70. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  71. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +221 -222
  72. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +0 -3
  73. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +132 -133
  74. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +28 -33
  75. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +2 -4
  76. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
  77. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
  79. package/SVF-doxygen/html/html/classSVF_1_1DDAStat-members.html +4 -4
  80. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +34 -25
  81. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +16 -16
  82. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +3 -3
  83. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +247 -248
  84. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -5
  85. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +208 -209
  86. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +8 -11
  87. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +238 -239
  88. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -24
  89. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  90. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +275 -276
  91. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +8 -10
  92. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +31 -31
  93. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +38 -38
  95. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +13 -14
  96. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +19 -43
  97. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
  98. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +74 -74
  100. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
  101. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +4 -4
  104. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  105. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +8 -8
  108. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
  109. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat-members.html +2 -2
  110. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +15 -14
  111. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +33 -33
  112. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  113. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +94 -95
  114. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +73 -107
  115. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +11 -13
  118. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat-members.html +6 -6
  119. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +53 -52
  120. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +15 -30
  121. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +2 -2
  122. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
  123. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +193 -194
  124. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +0 -3
  125. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
  126. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +184 -185
  128. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -5
  129. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
  130. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +287 -288
  132. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +8 -10
  133. package/SVF-doxygen/html/html/functions_0x7e.html +1 -1
  134. package/SVF-doxygen/html/html/functions_c.html +18 -21
  135. package/SVF-doxygen/html/html/functions_func_0x7e.html +1 -1
  136. package/SVF-doxygen/html/html/functions_func_c.html +12 -13
  137. package/SVF-doxygen/html/html/functions_func_p.html +9 -9
  138. package/SVF-doxygen/html/html/functions_l.html +3 -3
  139. package/SVF-doxygen/html/html/functions_m.html +4 -4
  140. package/SVF-doxygen/html/html/functions_o.html +4 -4
  141. package/SVF-doxygen/html/html/functions_p.html +12 -12
  142. package/SVF-doxygen/html/html/functions_r.html +5 -4
  143. package/SVF-doxygen/html/html/functions_s.html +3 -3
  144. package/SVF-doxygen/html/html/functions_t.html +5 -7
  145. package/SVF-doxygen/html/html/functions_v.html +6 -6
  146. package/SVF-doxygen/html/html/functions_vars_m.html +4 -4
  147. package/SVF-doxygen/html/html/functions_vars_r.html +1 -2
  148. package/SVF-doxygen/html/html/globals_func_g.html +0 -6
  149. package/SVF-doxygen/html/html/globals_g.html +2 -8
  150. package/SVF-doxygen/html/html/globals_s.html +4 -2
  151. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -2
  152. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  153. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  154. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  155. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  156. package/SVF-doxygen/html/html/search/all_16.js +3 -3
  157. package/SVF-doxygen/html/html/search/all_1b.js +1 -1
  158. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  159. package/SVF-doxygen/html/html/search/all_7.js +0 -2
  160. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  161. package/SVF-doxygen/html/html/search/all_d.js +4 -4
  162. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  163. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  164. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  165. package/SVF-doxygen/html/html/search/functions_16.js +1 -1
  166. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  167. package/SVF-doxygen/html/html/search/functions_6.js +0 -2
  168. package/SVF-doxygen/html/html/search/functions_e.js +6 -6
  169. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  170. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  171. package/SVF-doxygen/html/html/search/variables_d.js +4 -4
  172. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  173. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
  174. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
  175. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -3
  176. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -1
  177. package/include/DDA/DDAStat.h +4 -4
  178. package/include/Graphs/SVFGNode.h +2 -4
  179. package/include/Graphs/SVFGStat.h +8 -8
  180. package/include/MTA/FSMPTA.h +1 -0
  181. package/include/MTA/MTAResultValidator.h +1 -1
  182. package/include/MemoryModel/AbstractPointsToDS.h +6 -0
  183. package/include/MemoryModel/PointerAnalysis.h +0 -5
  184. package/include/MemoryModel/SymbolTableInfo.h +2 -2
  185. package/include/Util/IRAnnotator.h +2 -2
  186. package/include/WPA/Andersen.h +1 -1
  187. package/include/WPA/AndersenSFR.h +1 -1
  188. package/lib/CUDD/CMakeLists.txt +1 -1
  189. package/lib/DDA/DDAStat.cpp +2 -2
  190. package/lib/Graphs/SVFGStat.cpp +4 -4
  191. package/lib/MSSA/SVFGBuilder.cpp +0 -1
  192. package/lib/MTA/FSMPTA.cpp +2 -3
  193. package/lib/MTA/LockResultValidator.cpp +1 -1
  194. package/lib/MTA/MHP.cpp +0 -36
  195. package/lib/MTA/MTAResultValidator.cpp +3 -3
  196. package/lib/MTA/TCT.cpp +0 -1
  197. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  198. package/lib/MemoryModel/PointerAnalysisImpl.cpp +0 -1
  199. package/lib/MemoryModel/SVFIR.cpp +15 -15
  200. package/lib/MemoryModel/SymbolTableInfo.cpp +1 -1
  201. package/lib/SVF-FE/LLVMUtil.cpp +1 -1
  202. package/lib/SVF-FE/SVFIRBuilder.cpp +5 -5
  203. package/lib/Util/CoreBitVector.cpp +1 -1
  204. package/lib/Util/ExtAPI.cpp +1 -0
  205. package/lib/Util/NodeIDAllocator.cpp +0 -1
  206. package/lib/WPA/AndersenSFR.cpp +2 -2
  207. package/lib/WPA/FlowSensitiveTBHC.cpp +1 -1
  208. package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
  209. package/package.json +1 -1
  210. package/tools/Example/svf-ex.cpp +4 -3
@@ -66,9 +66,9 @@ $(function() {
66
66
  <div class="title">SVFGNode.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="SVFGNode_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">//===- SVFGNode.h -- Sparse value-flow graph node-------------------------------//</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-2018&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"> * SVFGNode.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: 13 Sep. 2018</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 INCLUDE_MSSA_SVFGNODE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define INCLUDE_MSSA_SVFGNODE_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="VFGNode_8h.html">Graphs/VFGNode.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGEdge_8h.html">Graphs/SVFGEdge.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></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;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html"> 42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba"> 45</a></span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// This constructor can only be used by derived classes</span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a2c2b0476c49c5f2d4ebe6eec22c7345f"> 48</a></span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a2c2b0476c49c5f2d4ebe6eec22c7345f">MRSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75">VFGNodeK</a> k) : <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>(id, k) {}</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332"> 52</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; <a class="code" href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">getPointsTo</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a22e28a37a013d14964ce832fa23dfb84"> 58</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a22e28a37a013d14964ce832fa23dfb84">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *)</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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a9b843265a6f95eea56a5a62eede8893c"> 62</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a9b843265a6f95eea56a5a62eede8893c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a> ||</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a> ||</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a> ||</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a> ||</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> ||</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> ||</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a5f14facdcee7fec54c45b5956af553be"> 72</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a5f14facdcee7fec54c45b5956af553be">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a> ||</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a> ||</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a> ||</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a> ||</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> ||</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> ||</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</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;<span class="comment">/*</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> * SVFG Node stands for entry chi node (address-taken variables)</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html"> 90</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a0601031e01d4e7e4f086d5a4cc7b1321"> 93</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a0601031e01d4e7e4f086d5a4cc7b1321">ver</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a4a574589ae53d38e63fc4a26a5b9af61"> 94</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a4a574589ae53d38e63fc4a26a5b9af61">funEntryNode</a>; </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a199d0b978417c694a2200f22737904df"> 98</a></span>&#160; <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a199d0b978417c694a2200f22737904df">FormalINSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* funEntry): <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a>)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; ver = resVer;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; funEntryNode = funEntry; </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"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a07e23637c89164add5fc3ea52b250735"> 104</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_1FormalINSVFGNode.html#a07e23637c89164add5fc3ea52b250735">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a765f45d67d8b99dc85eb92676ca1be4e"> 108</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a765f45d67d8b99dc85eb92676ca1be4e">getFunEntryNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> funEntryNode;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</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"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a049c4760e5d0ea2e31fc84ec32850310"> 114</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a049c4760e5d0ea2e31fc84ec32850310">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a> *)</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a93393ca0fb82c738b9357e93572b026a"> 118</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a93393ca0fb82c738b9357e93572b026a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a637ece0b4dcb990d3a3a5d5bbee4ef8d"> 122</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a637ece0b4dcb990d3a3a5d5bbee4ef8d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;};</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> * SVFG Node stands for return mu node (address-taken variables)</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html"> 135</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#af4686f5e09cdd342a1ced3a898cb47c4"> 138</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#af4686f5e09cdd342a1ced3a898cb47c4">ver</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#af5235111849f826880c10d7bcc635748"> 139</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#af5235111849f826880c10d7bcc635748">funExitNode</a>; </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* ver, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* funExitNode);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#ae23aa8ff8585c31071726f2b2fb1499d"> 145</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#ae23aa8ff8585c31071726f2b2fb1499d">getFunExitNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> funExitNode;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#ad2e841a18b777220c2b13f38289d6168"> 150</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_1FormalOUTSVFGNode.html#ad2e841a18b777220c2b13f38289d6168">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</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"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#ac29004272d47ad58ea1e05fbfc1ac639"> 156</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#ac29004272d47ad58ea1e05fbfc1ac639">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a> *)</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#a48fc0991af02d9e0b8700cf96a8ca35c"> 160</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#a48fc0991af02d9e0b8700cf96a8ca35c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#a3b1387416f3ca61eed5581c9112cfcde"> 164</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#a3b1387416f3ca61eed5581c9112cfcde">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</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;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> * SVFG Node stands for callsite mu node (address-taken variables)</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html"> 177</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a7260c36cd5a063e3c1de2b2ca7bd0802"> 180</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a7260c36cd5a063e3c1de2b2ca7bd0802">cs</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a9fd1b406736084d33b0026aa21eb79b7"> 181</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a9fd1b406736084d33b0026aa21eb79b7">ver</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a7f2648ebb69ebc53638dceb4382b41b0"> 184</a></span>&#160; <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a7f2648ebb69ebc53638dceb4382b41b0">ActualINSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* c, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* mrver):</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a>), cs(c)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = mrver-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; ver = mrver;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#aab3b2931f60adeb9fd8c87087074d834"> 191</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_1ActualINSVFGNode.html#aab3b2931f60adeb9fd8c87087074d834">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c"> 197</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_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> ver;</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;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</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"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a73ccbee2a81439e70ea0c096d113a89b"> 205</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a73ccbee2a81439e70ea0c096d113a89b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a> *)</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#aae28a748413002046d02a4003229fc88"> 209</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html#aae28a748413002046d02a4003229fc88">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a476ef9fb19b3da1149945f9fe27cd9f1"> 213</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a476ef9fb19b3da1149945f9fe27cd9f1">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;};</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> * SVFG Node stands for callsite chi node (address-taken variables)</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html"> 226</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;{</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a075773fa5b13cc067d24fbbb35c1d042"> 229</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a075773fa5b13cc067d24fbbb35c1d042">cs</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f"> 230</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f">ver</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#afe2c662d51f3c9d31a20b5c1bee45844"> 234</a></span>&#160; <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#afe2c662d51f3c9d31a20b5c1bee45844">ActualOUTSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cal, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer):</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a>), cs(cal)</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; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; ver = resVer;</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_1ActualOUTSVFGNode.html#a89cb274936513df411a75fb33a86702f"> 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_1ActualOUTSVFGNode.html#a89cb274936513df411a75fb33a86702f">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> cs;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5"> 246</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_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a810b526c35918ed894c8dc2f95d44cb3"> 252</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a810b526c35918ed894c8dc2f95d44cb3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a> *)</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"> 254</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a12cb923163baad086ca7a6365c74cc6b"> 256</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a12cb923163baad086ca7a6365c74cc6b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</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"> 258</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a>;</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"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a06dfaac3d2a41fa297a7707fc1240f8f"> 260</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a06dfaac3d2a41fa297a7707fc1240f8f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a>;</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"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;};</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> * SVFG Node stands for a memory ssa phi node or formalIn or ActualOut</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html"> 273</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;{</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb"> 276</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_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb">OPVers</a>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a61b2e5ccd265d69167f44ce43e97fb80"> 279</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a61b2e5ccd265d69167f44ce43e97fb80">ver</a>; </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139"> 280</a></span>&#160; OPVers <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139">opVers</a>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#aec8a372f9024af27a87c5b43e4dc633d"> 284</a></span>&#160; <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#aec8a372f9024af27a87c5b43e4dc633d">MSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer,<a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75">VFGNodeK</a> k = <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a>): <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, k)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; ver = resVer; </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a9ea963b7773c7d0b42ccf81e58a54a50"> 290</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_1MSSAPHISVFGNode.html#a9ea963b7773c7d0b42ccf81e58a54a50">getResVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</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"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a9ff8a58538d4df8e06e8d16dd58f02a3"> 296</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_1MSSAPHISVFGNode.html#a9ff8a58538d4df8e06e8d16dd58f02a3">getOpVer</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)<span class="keyword"> const</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; OPVers::const_iterator it = opVers.find(pos);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</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="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a928a57d7f518c5af98a0245d9221e671"> 302</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a928a57d7f518c5af98a0245d9221e671">setOpVer</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* node)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; opVers[pos] = node;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#af7bd2cd776dcdbd1aee11569ec9f4a4f"> 306</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#af7bd2cd776dcdbd1aee11569ec9f4a4f">getOpVerNum</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span> opVers.size();</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#ace39549f7e300cb4a0ac7b8506a8632a"> 310</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#ace39549f7e300cb4a0ac7b8506a8632a">opVerBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> opVers.begin();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a33ec42a011781bbb63dce6dbe5f88bdf"> 314</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a33ec42a011781bbb63dce6dbe5f88bdf">opVerEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> opVers.end();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#ac55ddd2788fff5bcff8afc5c0b49ad2d"> 322</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#ac55ddd2788fff5bcff8afc5c0b49ad2d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> *)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a44089a90d2c8bdb7ea8d8f2904c9d768"> 326</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a44089a90d2c8bdb7ea8d8f2904c9d768">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *node)</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="keywordflow">return</span> (node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#abcb8ba7fc0574b75aa3582f35cdb47f5"> 330</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#abcb8ba7fc0574b75aa3582f35cdb47f5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> (node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; }</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#ab91626e88e8c28553c44b5939cfd65b3"> 334</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#ab91626e88e8c28553c44b5939cfd65b3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> (node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;};</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="comment">/*</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> * Intra MSSA PHI</span></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html"> 346</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html">IntraMSSAPHISVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a></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;<span class="keyword">public</span>:</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a84832f678de1f497b4f3d7720a0bc58a"> 350</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a84832f678de1f497b4f3d7720a0bc58a">resVer</a>;</div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#abe0faa3d40bf16ac0937324035d3323d"> 352</a></span>&#160; <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#abe0faa3d40bf16ac0937324035d3323d">IntraMSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer): <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>(id, resVer, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>)</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; resVer = resVer; </div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a9d4b2b8d343796bb465cc5a138eb3f18"> 357</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_1IntraMSSAPHISVFGNode.html#a9d4b2b8d343796bb465cc5a138eb3f18">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">return</span> resVer;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9"> 362</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9">opVerBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> opVers.begin();</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799"> 367</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799">opVerEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> opVers.end();</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"> 373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ae1fef4865427f59811fde241d4ac80cc"> 374</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ae1fef4865427f59811fde241d4ac80cc">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html">IntraMSSAPHISVFGNode</a> *)</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ada532ff4ffbd7592ae1b89b1e234ba21"> 378</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ada532ff4ffbd7592ae1b89b1e234ba21">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> * node)</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; {</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a1382366ed10250d8f9a21c1f28bcad1c"> 382</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a1382366ed10250d8f9a21c1f28bcad1c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *node)</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; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a4d0c0866ed958cdbb5fd9310696f24ba"> 386</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a4d0c0866ed958cdbb5fd9310696f24ba">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</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; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>;</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"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a885dabe57bcf57d10dbdb40fd658b075"> 390</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a885dabe57bcf57d10dbdb40fd658b075">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</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;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment"> * Inter MSSA PHI (formalIN/ActualOUT)</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html"> 403</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html">InterMSSAPHISVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;{</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"> 406</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a6deba5e75858c16682d4a21fa851d353"> 408</a></span>&#160; <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a6deba5e75858c16682d4a21fa851d353">InterMSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi) : <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>(id, fi-&gt;getMRVer(), <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>),fun(fi-&gt;<a class="code" href="classSVF_1_1VFGNode.html#ab98e74dfd4756e70e3e3c5b7d5e5ae27">getFun</a>()),callInst(nullptr) {}</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#acbc6e934c0ad5a5ad5ca07532702571b"> 410</a></span>&#160; <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#acbc6e934c0ad5a5ad5ca07532702571b">InterMSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* ao) : <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>(id, ao-&gt;getMRVer(), <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>), fun(nullptr),callInst(ao-&gt;getCallSite()) {}</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1"> 412</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1">isFormalINPHI</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> (fun!=<span class="keyword">nullptr</span>) &amp;&amp; (callInst == <span class="keyword">nullptr</span>);</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;</div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301"> 417</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">isActualOUTPHI</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> (fun==<span class="keyword">nullptr</span>) &amp;&amp; (callInst != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a242d8967d6fc10ba37e3f0103081ec01"> 422</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_1InterMSSAPHISVFGNode.html#a242d8967d6fc10ba37e3f0103081ec01">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(isFormalINPHI() &amp;&amp; <span class="stringliteral">&quot;expect a formal parameter phi&quot;</span>);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a5b4ba4b7753d786ff2e3d834bda017ce"> 428</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_1InterMSSAPHISVFGNode.html#a5b4ba4b7753d786ff2e3d834bda017ce">getCallSite</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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(isActualOUTPHI() &amp;&amp; <span class="stringliteral">&quot;expect a actual return phi&quot;</span>);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">return</span> callInst;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; }</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a62c0f4f98a42fe65f1dd570ec277b13f"> 436</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a62c0f4f98a42fe65f1dd570ec277b13f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html">InterMSSAPHISVFGNode</a> *)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a084a26ee34913e89b8b28fac43cda5f2"> 440</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a084a26ee34913e89b8b28fac43cda5f2">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> * node)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a14866d7c95c5d3d8215ffec2172d208b"> 444</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a14866d7c95c5d3d8215ffec2172d208b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *node)</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a7674d5c0f395624085f0764dba78cb93"> 448</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a7674d5c0f395624085f0764dba78cb93">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#ac1b291caedbd584d0e37702b682fa440"> 452</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#ac1b291caedbd584d0e37702b682fa440">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</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; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978"> 461</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978">fun</a>;</div><div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08"> 462</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08">callInst</a>;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;};</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="comment"> * Dummy node which encodes propagation of an object/version pair.</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html"> 468</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;{</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#a8661f8c8e31101b5afc37ebe3bac5fe2"> 471</a></span>&#160; <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#a8661f8c8e31101b5afc37ebe3bac5fe2">DummyVersionPropSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>, <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> version)</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; : <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">DummyVProp</a>), object(object), version(version)</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; { }</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"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f"> 475</a></span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f">getObject</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object; }</div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#af9f0eaf33502af1533dd1244a383d561"> 476</a></span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#af9f0eaf33502af1533dd1244a383d561">getVersion</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> version; }</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"> 479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac997d06e133d698a5aa29c2af55a624e"> 480</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac997d06e133d698a5aa29c2af55a624e">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a> *)</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#a684f1f5c9f9f5059127d3024cc5d71e9"> 485</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#a684f1f5c9f9f5059127d3024cc5d71e9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; {</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">DummyVProp</a>;</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="l00490"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#aa1ac53d368232b002cdd8f8a91f284da"> 490</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#aa1ac53d368232b002cdd8f8a91f284da">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</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"> 492</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">DummyVProp</a>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</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"> 496</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee"> 497</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee">object</a>;</div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#a6c092656833dd1eae08eac458689e37d"> 498</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#a6c092656833dd1eae08eac458689e37d">version</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"> 500</span>&#160;</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="comment">// End namespace SVF</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_MSSA_SVFGNODE_H_ */</span><span class="preprocessor"></span></div><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>
69
+ <a href="SVFGNode_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">//===- SVFGNode.h -- Sparse value-flow graph node-------------------------------//</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-2018&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"> * SVFGNode.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: 13 Sep. 2018</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 INCLUDE_MSSA_SVFGNODE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define INCLUDE_MSSA_SVFGNODE_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="VFGNode_8h.html">Graphs/VFGNode.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGEdge_8h.html">Graphs/SVFGEdge.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></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;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html"> 42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba"> 45</a></span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// This constructor can only be used by derived classes</span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a2c2b0476c49c5f2d4ebe6eec22c7345f"> 48</a></span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a2c2b0476c49c5f2d4ebe6eec22c7345f">MRSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75">VFGNodeK</a> k) : <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>(id, k) {}</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332"> 52</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; <a class="code" href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">getPointsTo</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a22e28a37a013d14964ce832fa23dfb84"> 58</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a22e28a37a013d14964ce832fa23dfb84">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *)</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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a9b843265a6f95eea56a5a62eede8893c"> 62</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a9b843265a6f95eea56a5a62eede8893c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a> ||</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a> ||</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a> ||</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a> ||</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> ||</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> ||</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1MRSVFGNode.html#a5f14facdcee7fec54c45b5956af553be"> 72</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRSVFGNode.html#a5f14facdcee7fec54c45b5956af553be">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a> ||</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a> ||</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a> ||</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a> ||</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> ||</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> ||</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</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;<span class="comment">/*</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> * SVFG Node stands for entry chi node (address-taken variables)</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html"> 90</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a0601031e01d4e7e4f086d5a4cc7b1321"> 93</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a0601031e01d4e7e4f086d5a4cc7b1321">ver</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a4a574589ae53d38e63fc4a26a5b9af61"> 94</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a4a574589ae53d38e63fc4a26a5b9af61">funEntryNode</a>; </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a199d0b978417c694a2200f22737904df"> 98</a></span>&#160; <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a199d0b978417c694a2200f22737904df">FormalINSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* funEntry): <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a>)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; ver = resVer;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; funEntryNode = funEntry; </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"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a07e23637c89164add5fc3ea52b250735"> 104</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_1FormalINSVFGNode.html#a07e23637c89164add5fc3ea52b250735">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a765f45d67d8b99dc85eb92676ca1be4e"> 108</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a765f45d67d8b99dc85eb92676ca1be4e">getFunEntryNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> funEntryNode;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</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"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a049c4760e5d0ea2e31fc84ec32850310"> 114</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a049c4760e5d0ea2e31fc84ec32850310">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a> *)</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a93393ca0fb82c738b9357e93572b026a"> 118</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a93393ca0fb82c738b9357e93572b026a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalINSVFGNode.html#a637ece0b4dcb990d3a3a5d5bbee4ef8d"> 122</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html#a637ece0b4dcb990d3a3a5d5bbee4ef8d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">FPIN</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;};</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> * SVFG Node stands for return mu node (address-taken variables)</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html"> 135</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#af4686f5e09cdd342a1ced3a898cb47c4"> 138</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#af4686f5e09cdd342a1ced3a898cb47c4">ver</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#af5235111849f826880c10d7bcc635748"> 139</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#af5235111849f826880c10d7bcc635748">funExitNode</a>; </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* ver, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* funExitNode);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#ae23aa8ff8585c31071726f2b2fb1499d"> 145</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#ae23aa8ff8585c31071726f2b2fb1499d">getFunExitNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> funExitNode;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#ad2e841a18b777220c2b13f38289d6168"> 150</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_1FormalOUTSVFGNode.html#ad2e841a18b777220c2b13f38289d6168">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</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"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#ac29004272d47ad58ea1e05fbfc1ac639"> 156</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#ac29004272d47ad58ea1e05fbfc1ac639">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a> *)</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#a48fc0991af02d9e0b8700cf96a8ca35c"> 160</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#a48fc0991af02d9e0b8700cf96a8ca35c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classSVF_1_1FormalOUTSVFGNode.html#a3b1387416f3ca61eed5581c9112cfcde"> 164</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html#a3b1387416f3ca61eed5581c9112cfcde">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">FPOUT</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</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;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> * SVFG Node stands for callsite mu node (address-taken variables)</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html"> 177</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a7260c36cd5a063e3c1de2b2ca7bd0802"> 180</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a7260c36cd5a063e3c1de2b2ca7bd0802">cs</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a9fd1b406736084d33b0026aa21eb79b7"> 181</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a9fd1b406736084d33b0026aa21eb79b7">ver</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a7f2648ebb69ebc53638dceb4382b41b0"> 184</a></span>&#160; <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a7f2648ebb69ebc53638dceb4382b41b0">ActualINSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* c, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* mrver):</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a>), cs(c)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = mrver-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; ver = mrver;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#aab3b2931f60adeb9fd8c87087074d834"> 191</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_1ActualINSVFGNode.html#aab3b2931f60adeb9fd8c87087074d834">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c"> 197</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_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> ver;</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;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</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"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a73ccbee2a81439e70ea0c096d113a89b"> 205</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a73ccbee2a81439e70ea0c096d113a89b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a> *)</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#aae28a748413002046d02a4003229fc88"> 209</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html#aae28a748413002046d02a4003229fc88">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualINSVFGNode.html#a476ef9fb19b3da1149945f9fe27cd9f1"> 213</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html#a476ef9fb19b3da1149945f9fe27cd9f1">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">APIN</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;};</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> * SVFG Node stands for callsite chi node (address-taken variables)</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html"> 226</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;{</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a075773fa5b13cc067d24fbbb35c1d042"> 229</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a075773fa5b13cc067d24fbbb35c1d042">cs</a>;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f"> 230</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f">ver</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#afe2c662d51f3c9d31a20b5c1bee45844"> 234</a></span>&#160; <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#afe2c662d51f3c9d31a20b5c1bee45844">ActualOUTSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cal, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer):</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a>), cs(cal)</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; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; ver = resVer;</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_1ActualOUTSVFGNode.html#a89cb274936513df411a75fb33a86702f"> 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_1ActualOUTSVFGNode.html#a89cb274936513df411a75fb33a86702f">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> cs;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5"> 246</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_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a810b526c35918ed894c8dc2f95d44cb3"> 252</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a810b526c35918ed894c8dc2f95d44cb3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a> *)</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"> 254</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a12cb923163baad086ca7a6365c74cc6b"> 256</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a12cb923163baad086ca7a6365c74cc6b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</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"> 258</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a>;</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"><a class="line" href="classSVF_1_1ActualOUTSVFGNode.html#a06dfaac3d2a41fa297a7707fc1240f8f"> 260</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html#a06dfaac3d2a41fa297a7707fc1240f8f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">APOUT</a>;</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"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;};</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> * SVFG Node stands for a memory ssa phi node or formalIn or ActualOut</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html"> 273</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;{</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb"> 276</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_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb">OPVers</a>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a61b2e5ccd265d69167f44ce43e97fb80"> 279</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a61b2e5ccd265d69167f44ce43e97fb80">ver</a>; </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139"> 280</a></span>&#160; OPVers <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139">opVers</a>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#aec8a372f9024af27a87c5b43e4dc633d"> 284</a></span>&#160; <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#aec8a372f9024af27a87c5b43e4dc633d">MSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer,<a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75">VFGNodeK</a> k = <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a>): <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a>(id, k)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">cpts</a> = resVer-&gt;<a class="code" href="classSVF_1_1MRVer.html#a63bd0641be553860cc5f517634b65825">getMR</a>()-&gt;<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; ver = resVer; </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a9ea963b7773c7d0b42ccf81e58a54a50"> 290</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_1MSSAPHISVFGNode.html#a9ea963b7773c7d0b42ccf81e58a54a50">getResVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> ver;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</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"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a9ff8a58538d4df8e06e8d16dd58f02a3"> 296</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_1MSSAPHISVFGNode.html#a9ff8a58538d4df8e06e8d16dd58f02a3">getOpVer</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)<span class="keyword"> const</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; OPVers::const_iterator it = opVers.find(pos);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</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="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a928a57d7f518c5af98a0245d9221e671"> 302</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a928a57d7f518c5af98a0245d9221e671">setOpVer</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* node)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; opVers[pos] = node;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#af7bd2cd776dcdbd1aee11569ec9f4a4f"> 306</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#af7bd2cd776dcdbd1aee11569ec9f4a4f">getOpVerNum</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span> opVers.size();</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#ace39549f7e300cb4a0ac7b8506a8632a"> 310</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#ace39549f7e300cb4a0ac7b8506a8632a">opVerBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> opVers.begin();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a33ec42a011781bbb63dce6dbe5f88bdf"> 314</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a33ec42a011781bbb63dce6dbe5f88bdf">opVerEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> opVers.end();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#ac55ddd2788fff5bcff8afc5c0b49ad2d"> 322</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#ac55ddd2788fff5bcff8afc5c0b49ad2d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> *)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#a44089a90d2c8bdb7ea8d8f2904c9d768"> 326</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a44089a90d2c8bdb7ea8d8f2904c9d768">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *node)</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="keywordflow">return</span> (node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#abcb8ba7fc0574b75aa3582f35cdb47f5"> 330</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#abcb8ba7fc0574b75aa3582f35cdb47f5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> (node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; }</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classSVF_1_1MSSAPHISVFGNode.html#ab91626e88e8c28553c44b5939cfd65b3"> 334</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#ab91626e88e8c28553c44b5939cfd65b3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> (node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">MPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a> || node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;};</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="comment">/*</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> * Intra MSSA PHI</span></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html"> 346</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html">IntraMSSAPHISVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a></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;<span class="keyword">public</span>:</div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#abe0faa3d40bf16ac0937324035d3323d"> 351</a></span>&#160; <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#abe0faa3d40bf16ac0937324035d3323d">IntraMSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer): <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>(id, resVer, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>)</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a9d4b2b8d343796bb465cc5a138eb3f18"> 355</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_1IntraMSSAPHISVFGNode.html#a9d4b2b8d343796bb465cc5a138eb3f18">getMRVer</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">return</span> getResVer();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9"> 360</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9">opVerBegin</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> opVers.begin();</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="l00365"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799"> 365</a></span>&#160; <span class="keyword">inline</span> OPVers::const_iterator <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799">opVerEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> opVers.end();</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; }</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ae1fef4865427f59811fde241d4ac80cc"> 372</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ae1fef4865427f59811fde241d4ac80cc">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html">IntraMSSAPHISVFGNode</a> *)</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ada532ff4ffbd7592ae1b89b1e234ba21"> 376</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#ada532ff4ffbd7592ae1b89b1e234ba21">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> * node)</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; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a1382366ed10250d8f9a21c1f28bcad1c"> 380</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a1382366ed10250d8f9a21c1f28bcad1c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *node)</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</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"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a4d0c0866ed958cdbb5fd9310696f24ba"> 384</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a4d0c0866ed958cdbb5fd9310696f24ba">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</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"><a class="line" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a885dabe57bcf57d10dbdb40fd658b075"> 388</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html#a885dabe57bcf57d10dbdb40fd658b075">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</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; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">MIntraPhi</a>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;};</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</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;<span class="comment">/*</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="comment"> * Inter MSSA PHI (formalIN/ActualOUT)</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html"> 401</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html">InterMSSAPHISVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;{</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a6deba5e75858c16682d4a21fa851d353"> 406</a></span>&#160; <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a6deba5e75858c16682d4a21fa851d353">InterMSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi) : <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>(id, fi-&gt;getMRVer(), <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>),fun(fi-&gt;<a class="code" href="classSVF_1_1VFGNode.html#ab98e74dfd4756e70e3e3c5b7d5e5ae27">getFun</a>()),callInst(nullptr) {}</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#acbc6e934c0ad5a5ad5ca07532702571b"> 408</a></span>&#160; <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#acbc6e934c0ad5a5ad5ca07532702571b">InterMSSAPHISVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* ao) : <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>(id, ao-&gt;getMRVer(), <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>), fun(nullptr),callInst(ao-&gt;getCallSite()) {}</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_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1"> 410</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1">isFormalINPHI</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">return</span> (fun!=<span class="keyword">nullptr</span>) &amp;&amp; (callInst == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301"> 415</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">isActualOUTPHI</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">return</span> (fun==<span class="keyword">nullptr</span>) &amp;&amp; (callInst != <span class="keyword">nullptr</span>);</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="l00420"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a242d8967d6fc10ba37e3f0103081ec01"> 420</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_1InterMSSAPHISVFGNode.html#a242d8967d6fc10ba37e3f0103081ec01">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(isFormalINPHI() &amp;&amp; <span class="stringliteral">&quot;expect a formal parameter phi&quot;</span>);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a5b4ba4b7753d786ff2e3d834bda017ce"> 426</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_1InterMSSAPHISVFGNode.html#a5b4ba4b7753d786ff2e3d834bda017ce">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(isActualOUTPHI() &amp;&amp; <span class="stringliteral">&quot;expect a actual return phi&quot;</span>);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> callInst;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a62c0f4f98a42fe65f1dd570ec277b13f"> 434</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a62c0f4f98a42fe65f1dd570ec277b13f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html">InterMSSAPHISVFGNode</a> *)</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; {</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; }</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a084a26ee34913e89b8b28fac43cda5f2"> 438</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a084a26ee34913e89b8b28fac43cda5f2">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a> * node)</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; {</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; }</div><div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a14866d7c95c5d3d8215ffec2172d208b"> 442</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a14866d7c95c5d3d8215ffec2172d208b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRSVFGNode.html">MRSVFGNode</a> *node)</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#a7674d5c0f395624085f0764dba78cb93"> 446</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#a7674d5c0f395624085f0764dba78cb93">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</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"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#ac1b291caedbd584d0e37702b682fa440"> 450</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#ac1b291caedbd584d0e37702b682fa440">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">MInterPhi</a>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978"> 459</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978">fun</a>;</div><div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08"> 460</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08">callInst</a>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;};</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="comment"> * Dummy node which encodes propagation of an object/version pair.</span></div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html"> 466</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;{</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#a8661f8c8e31101b5afc37ebe3bac5fe2"> 469</a></span>&#160; <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#a8661f8c8e31101b5afc37ebe3bac5fe2">DummyVersionPropSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>, <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> version)</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; : <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>(id, <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">DummyVProp</a>), object(object), version(version)</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_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f"> 473</a></span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f">getObject</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object; }</div><div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#af9f0eaf33502af1533dd1244a383d561"> 474</a></span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#af9f0eaf33502af1533dd1244a383d561">getVersion</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> version; }</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="l00478"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac997d06e133d698a5aa29c2af55a624e"> 478</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac997d06e133d698a5aa29c2af55a624e">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a> *)</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</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"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#a684f1f5c9f9f5059127d3024cc5d71e9"> 483</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#a684f1f5c9f9f5059127d3024cc5d71e9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *node)</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">DummyVProp</a>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#aa1ac53d368232b002cdd8f8a91f284da"> 488</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#aa1ac53d368232b002cdd8f8a91f284da">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericVFGNodeTy</a> *node)</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">DummyVProp</a>;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</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="keyword">private</span>:</div><div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee"> 495</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee">object</a>;</div><div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classSVF_1_1DummyVersionPropSVFGNode.html#a6c092656833dd1eae08eac458689e37d"> 496</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html#a6c092656833dd1eae08eac458689e37d">version</a>;</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;</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"> 500</span>&#160;} <span class="comment">// End namespace SVF</span></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="preprocessor">#endif </span><span class="comment">/* INCLUDE_MSSA_SVFGNODE_H_ */</span><span class="preprocessor"></span></div><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>
70
70
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_aa92b36228a6f42496984cfea32f3415c"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c">SVF::ActualINSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdoc">Ver. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00197">SVFGNode.h:197</a></div></div>
71
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a14866d7c95c5d3d8215ffec2172d208b"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a14866d7c95c5d3d8215ffec2172d208b">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MRSVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00444">SVFGNode.h:444</a></div></div>
71
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a14866d7c95c5d3d8215ffec2172d208b"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a14866d7c95c5d3d8215ffec2172d208b">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MRSVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00442">SVFGNode.h:442</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html_ae23aa8ff8585c31071726f2b2fb1499d"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html#ae23aa8ff8585c31071726f2b2fb1499d">SVF::FormalOUTSVFGNode::getFunExitNode</a></div><div class="ttdeci">const FunExitICFGNode * getFunExitNode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00145">SVFGNode.h:145</a></div></div>
73
73
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac2c5b04acc4f754e70a782adee522e09">SVF::VFGNode::FPOUT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abde838081562229a5a5ca8bb250d5e18">SVF::VFGNode::MIntraPhi</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00055">VFGNode.h:55</a></div></div>
@@ -77,15 +77,15 @@ $(function() {
77
77
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a2c2b0476c49c5f2d4ebe6eec22c7345f"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a2c2b0476c49c5f2d4ebe6eec22c7345f">SVF::MRSVFGNode::MRSVFGNode</a></div><div class="ttdeci">MRSVFGNode(NodeID id, VFGNodeK k)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00048">SVFGNode.h:48</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html">SVF::IntraMSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00346">SVFGNode.h:346</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75abe59940f52e7a98cfe2b9d581e7563f8">SVF::VFGNode::MInterPhi</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00055">VFGNode.h:55</a></div></div>
80
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_a8661f8c8e31101b5afc37ebe3bac5fe2"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#a8661f8c8e31101b5afc37ebe3bac5fe2">SVF::DummyVersionPropSVFGNode::DummyVersionPropSVFGNode</a></div><div class="ttdeci">DummyVersionPropSVFGNode(NodeID id, NodeID object, Version version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00471">SVFGNode.h:471</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_a8661f8c8e31101b5afc37ebe3bac5fe2"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#a8661f8c8e31101b5afc37ebe3bac5fe2">SVF::DummyVersionPropSVFGNode::DummyVersionPropSVFGNode</a></div><div class="ttdeci">DummyVersionPropSVFGNode(NodeID id, NodeID object, Version version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00469">SVFGNode.h:469</a></div></div>
81
81
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
82
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_ad9a6fd01bf1a101da68eaacc61f420ee"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee">SVF::DummyVersionPropSVFGNode::object</a></div><div class="ttdeci">const NodeID object</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00497">SVFGNode.h:497</a></div></div>
83
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_ac10a4b9c2ee536cfcb74120d86c0619f"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f">SVF::DummyVersionPropSVFGNode::getObject</a></div><div class="ttdeci">NodeID getObject(void) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00475">SVFGNode.h:475</a></div></div>
84
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a6deba5e75858c16682d4a21fa851d353"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a6deba5e75858c16682d4a21fa851d353">SVF::InterMSSAPHISVFGNode::InterMSSAPHISVFGNode</a></div><div class="ttdeci">InterMSSAPHISVFGNode(NodeID id, const FormalINSVFGNode *fi)</div><div class="ttdoc">Constructor interPHI for formal parameter. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00408">SVFGNode.h:408</a></div></div>
82
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_ad9a6fd01bf1a101da68eaacc61f420ee"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee">SVF::DummyVersionPropSVFGNode::object</a></div><div class="ttdeci">const NodeID object</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00495">SVFGNode.h:495</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_ac10a4b9c2ee536cfcb74120d86c0619f"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f">SVF::DummyVersionPropSVFGNode::getObject</a></div><div class="ttdeci">NodeID getObject(void) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00473">SVFGNode.h:473</a></div></div>
84
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a6deba5e75858c16682d4a21fa851d353"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a6deba5e75858c16682d4a21fa851d353">SVF::InterMSSAPHISVFGNode::InterMSSAPHISVFGNode</a></div><div class="ttdeci">InterMSSAPHISVFGNode(NodeID id, const FormalINSVFGNode *fi)</div><div class="ttdoc">Constructor interPHI for formal parameter. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00406">SVFGNode.h:406</a></div></div>
85
85
  <div class="ttc" id="SVFGEdge_8h_html"><div class="ttname"><a href="SVFGEdge_8h.html">SVFGEdge.h</a></div></div>
86
86
  <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>
87
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_ac997d06e133d698a5aa29c2af55a624e"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#ac997d06e133d698a5aa29c2af55a624e">SVF::DummyVersionPropSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const DummyVersionPropSVFGNode *)</div><div class="ttdoc">Methods to support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00480">SVFGNode.h:480</a></div></div>
88
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a1382366ed10250d8f9a21c1f28bcad1c"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a1382366ed10250d8f9a21c1f28bcad1c">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MRSVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00382">SVFGNode.h:382</a></div></div>
87
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_ac997d06e133d698a5aa29c2af55a624e"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#ac997d06e133d698a5aa29c2af55a624e">SVF::DummyVersionPropSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const DummyVersionPropSVFGNode *)</div><div class="ttdoc">Methods to support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00478">SVFGNode.h:478</a></div></div>
88
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a1382366ed10250d8f9a21c1f28bcad1c"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a1382366ed10250d8f9a21c1f28bcad1c">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MRSVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00380">SVFGNode.h:380</a></div></div>
89
89
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html">SVF::FormalOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00135">SVFGNode.h:135</a></div></div>
90
90
  <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#l00219">BasicTypes.h:219</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_a9ff8a58538d4df8e06e8d16dd58f02a3"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#a9ff8a58538d4df8e06e8d16dd58f02a3">SVF::MSSAPHISVFGNode::getOpVer</a></div><div class="ttdeci">const MRVer * getOpVer(u32_t pos) const</div><div class="ttdoc">MSSA phi operands. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00296">SVFGNode.h:296</a></div></div>
@@ -98,7 +98,7 @@ $(function() {
98
98
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html_a93393ca0fb82c738b9357e93572b026a"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html#a93393ca0fb82c738b9357e93572b026a">SVF::FormalINSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00118">SVFGNode.h:118</a></div></div>
99
99
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html">SVF::ActualOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00226">SVFGNode.h:226</a></div></div>
100
100
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html_a049c4760e5d0ea2e31fc84ec32850310"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html#a049c4760e5d0ea2e31fc84ec32850310">SVF::FormalINSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const FormalINSVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00114">SVFGNode.h:114</a></div></div>
101
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_aa7ccd369a342e151e22062c92bf1f978"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978">SVF::InterMSSAPHISVFGNode::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00461">SVFGNode.h:461</a></div></div>
101
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_aa7ccd369a342e151e22062c92bf1f978"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978">SVF::InterMSSAPHISVFGNode::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00459">SVFGNode.h:459</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_a7260c36cd5a063e3c1de2b2ca7bd0802"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#a7260c36cd5a063e3c1de2b2ca7bd0802">SVF::ActualINSVFGNode::cs</a></div><div class="ttdeci">const CallICFGNode * cs</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00180">SVFGNode.h:180</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_a810b526c35918ed894c8dc2f95d44cb3"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a810b526c35918ed894c8dc2f95d44cb3">SVF::ActualOUTSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const ActualOUTSVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00252">SVFGNode.h:252</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a640153ff592bf0058882a0d05a76b1ba"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a640153ff592bf0058882a0d05a76b1ba">SVF::MRSVFGNode::cpts</a></div><div class="ttdeci">NodeBS cpts</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00045">SVFGNode.h:45</a></div></div>
@@ -106,54 +106,54 @@ $(function() {
106
106
  <div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html">SVF::MSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00273">SVFGNode.h:273</a></div></div>
108
108
  <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#l00102">SVFBasicTypes.h:102</a></div></div>
109
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a885dabe57bcf57d10dbdb40fd658b075"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a885dabe57bcf57d10dbdb40fd658b075">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00390">SVFGNode.h:390</a></div></div>
109
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a885dabe57bcf57d10dbdb40fd658b075"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a885dabe57bcf57d10dbdb40fd658b075">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00388">SVFGNode.h:388</a></div></div>
110
110
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html">SVF::ActualINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00177">SVFGNode.h:177</a></div></div>
111
111
  <div class="ttc" id="namespaceSVF_html_a9ec7a8dc63411ee3724a25a59191be0c"><div class="ttname"><a href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">SVF::Version</a></div><div class="ttdeci">unsigned Version</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00130">SVFBasicTypes.h:130</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_a73ccbee2a81439e70ea0c096d113a89b"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#a73ccbee2a81439e70ea0c096d113a89b">SVF::ActualINSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const ActualINSVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00205">SVFGNode.h:205</a></div></div>
113
113
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00077">SVFBasicTypes.h:77</a></div></div>
114
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_aff4e88ef6569d3c4f29b532d610cd2b9"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9">SVF::IntraMSSAPHISVFGNode::opVerBegin</a></div><div class="ttdeci">OPVers::const_iterator opVerBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00362">SVFGNode.h:362</a></div></div>
114
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_aff4e88ef6569d3c4f29b532d610cd2b9"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9">SVF::IntraMSSAPHISVFGNode::opVerBegin</a></div><div class="ttdeci">OPVers::const_iterator opVerBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00360">SVFGNode.h:360</a></div></div>
115
115
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html_ac29004272d47ad58ea1e05fbfc1ac639"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html#ac29004272d47ad58ea1e05fbfc1ac639">SVF::FormalOUTSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const FormalOUTSVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00156">SVFGNode.h:156</a></div></div>
116
116
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_a9ea963b7773c7d0b42ccf81e58a54a50"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#a9ea963b7773c7d0b42ccf81e58a54a50">SVF::MSSAPHISVFGNode::getResVer</a></div><div class="ttdeci">const MRVer * getResVer() const</div><div class="ttdoc">Ver. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00290">SVFGNode.h:290</a></div></div>
117
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a47d870a6c0f515139b1950e8985dc2d1"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1">SVF::InterMSSAPHISVFGNode::isFormalINPHI</a></div><div class="ttdeci">bool isFormalINPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00412">SVFGNode.h:412</a></div></div>
118
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a5e78faceb497b0f3cb6f8f1a9fc4f799"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799">SVF::IntraMSSAPHISVFGNode::opVerEnd</a></div><div class="ttdeci">OPVers::const_iterator opVerEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00367">SVFGNode.h:367</a></div></div>
119
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a62c0f4f98a42fe65f1dd570ec277b13f"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a62c0f4f98a42fe65f1dd570ec277b13f">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterMSSAPHISVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00436">SVFGNode.h:436</a></div></div>
117
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a47d870a6c0f515139b1950e8985dc2d1"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1">SVF::InterMSSAPHISVFGNode::isFormalINPHI</a></div><div class="ttdeci">bool isFormalINPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00410">SVFGNode.h:410</a></div></div>
118
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a5e78faceb497b0f3cb6f8f1a9fc4f799"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799">SVF::IntraMSSAPHISVFGNode::opVerEnd</a></div><div class="ttdeci">OPVers::const_iterator opVerEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00365">SVFGNode.h:365</a></div></div>
119
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a62c0f4f98a42fe65f1dd570ec277b13f"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a62c0f4f98a42fe65f1dd570ec277b13f">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterMSSAPHISVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00434">SVFGNode.h:434</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html_ad2e841a18b777220c2b13f38289d6168"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html#ad2e841a18b777220c2b13f38289d6168">SVF::FormalOUTSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00150">SVFGNode.h:150</a></div></div>
121
121
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html">SVF::MRSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00042">SVFGNode.h:42</a></div></div>
122
122
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_aab3b2931f60adeb9fd8c87087074d834"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#aab3b2931f60adeb9fd8c87087074d834">SVF::ActualINSVFGNode::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdoc">Callsite. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00191">SVFGNode.h:191</a></div></div>
123
123
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_a12cb923163baad086ca7a6365c74cc6b"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a12cb923163baad086ca7a6365c74cc6b">SVF::ActualOUTSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00256">SVFGNode.h:256</a></div></div>
124
124
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_a06dfaac3d2a41fa297a7707fc1240f8f"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a06dfaac3d2a41fa297a7707fc1240f8f">SVF::ActualOUTSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00260">SVFGNode.h:260</a></div></div>
125
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_a6c092656833dd1eae08eac458689e37d"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#a6c092656833dd1eae08eac458689e37d">SVF::DummyVersionPropSVFGNode::version</a></div><div class="ttdeci">const Version version</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00498">SVFGNode.h:498</a></div></div>
125
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_a6c092656833dd1eae08eac458689e37d"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#a6c092656833dd1eae08eac458689e37d">SVF::DummyVersionPropSVFGNode::version</a></div><div class="ttdeci">const Version version</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00496">SVFGNode.h:496</a></div></div>
126
126
  <div class="ttc" id="classSVF_1_1FunEntryICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html">SVF::FunEntryICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00251">ICFGNode.h:251</a></div></div>
127
127
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html_af4686f5e09cdd342a1ced3a898cb47c4"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html#af4686f5e09cdd342a1ced3a898cb47c4">SVF::FormalOUTSVFGNode::ver</a></div><div class="ttdeci">const MRVer * ver</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00138">SVFGNode.h:138</a></div></div>
128
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a9d4b2b8d343796bb465cc5a138eb3f18"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a9d4b2b8d343796bb465cc5a138eb3f18">SVF::IntraMSSAPHISVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00357">SVFGNode.h:357</a></div></div>
128
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a9d4b2b8d343796bb465cc5a138eb3f18"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a9d4b2b8d343796bb465cc5a138eb3f18">SVF::IntraMSSAPHISVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00355">SVFGNode.h:355</a></div></div>
129
129
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_ab91626e88e8c28553c44b5939cfd65b3"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#ab91626e88e8c28553c44b5939cfd65b3">SVF::MSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00334">SVFGNode.h:334</a></div></div>
130
130
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html_a765f45d67d8b99dc85eb92676ca1be4e"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html#a765f45d67d8b99dc85eb92676ca1be4e">SVF::FormalINSVFGNode::getFunEntryNode</a></div><div class="ttdeci">const FunEntryICFGNode * getFunEntryNode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00108">SVFGNode.h:108</a></div></div>
131
131
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html_a637ece0b4dcb990d3a3a5d5bbee4ef8d"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html#a637ece0b4dcb990d3a3a5d5bbee4ef8d">SVF::FormalINSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00122">SVFGNode.h:122</a></div></div>
132
132
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html_a48fc0991af02d9e0b8700cf96a8ca35c"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html#a48fc0991af02d9e0b8700cf96a8ca35c">SVF::FormalOUTSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00160">SVFGNode.h:160</a></div></div>
133
133
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6b262331878a44019af8a8539a5ddad2">SVF::VFGNode::DummyVProp</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
134
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a4fef6f5eaeed80f1555b4cdaa2af5301"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">SVF::InterMSSAPHISVFGNode::isActualOUTPHI</a></div><div class="ttdeci">bool isActualOUTPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00417">SVFGNode.h:417</a></div></div>
134
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a4fef6f5eaeed80f1555b4cdaa2af5301"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">SVF::InterMSSAPHISVFGNode::isActualOUTPHI</a></div><div class="ttdeci">bool isActualOUTPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00415">SVFGNode.h:415</a></div></div>
135
135
  <div class="ttc" id="VFGNode_8h_html"><div class="ttname"><a href="VFGNode_8h.html">VFGNode.h</a></div></div>
136
136
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a5f14facdcee7fec54c45b5956af553be"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a5f14facdcee7fec54c45b5956af553be">SVF::MRSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00072">SVFGNode.h:72</a></div></div>
137
137
  <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html_a3b1387416f3ca61eed5581c9112cfcde"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html#a3b1387416f3ca61eed5581c9112cfcde">SVF::FormalOUTSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00164">SVFGNode.h:164</a></div></div>
138
138
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_a7f2648ebb69ebc53638dceb4382b41b0"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#a7f2648ebb69ebc53638dceb4382b41b0">SVF::ActualINSVFGNode::ActualINSVFGNode</a></div><div class="ttdeci">ActualINSVFGNode(NodeID id, const CallICFGNode *c, const MRVer *mrver)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00184">SVFGNode.h:184</a></div></div>
139
139
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_a3e3a14a042d75e5613eb049a9eb4fac5"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5">SVF::ActualOUTSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdoc">Ver. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00246">SVFGNode.h:246</a></div></div>
140
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_acbc6e934c0ad5a5ad5ca07532702571b"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#acbc6e934c0ad5a5ad5ca07532702571b">SVF::InterMSSAPHISVFGNode::InterMSSAPHISVFGNode</a></div><div class="ttdeci">InterMSSAPHISVFGNode(NodeID id, const ActualOUTSVFGNode *ao)</div><div class="ttdoc">Constructor interPHI for actual return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00410">SVFGNode.h:410</a></div></div>
141
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_ada532ff4ffbd7592ae1b89b1e234ba21"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#ada532ff4ffbd7592ae1b89b1e234ba21">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MSSAPHISVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00378">SVFGNode.h:378</a></div></div>
140
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_acbc6e934c0ad5a5ad5ca07532702571b"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#acbc6e934c0ad5a5ad5ca07532702571b">SVF::InterMSSAPHISVFGNode::InterMSSAPHISVFGNode</a></div><div class="ttdeci">InterMSSAPHISVFGNode(NodeID id, const ActualOUTSVFGNode *ao)</div><div class="ttdoc">Constructor interPHI for actual return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00408">SVFGNode.h:408</a></div></div>
141
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_ada532ff4ffbd7592ae1b89b1e234ba21"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#ada532ff4ffbd7592ae1b89b1e234ba21">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MSSAPHISVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00376">SVFGNode.h:376</a></div></div>
142
142
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_aae28a748413002046d02a4003229fc88"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#aae28a748413002046d02a4003229fc88">SVF::ActualINSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00209">SVFGNode.h:209</a></div></div>
143
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_abe0faa3d40bf16ac0937324035d3323d"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#abe0faa3d40bf16ac0937324035d3323d">SVF::IntraMSSAPHISVFGNode::IntraMSSAPHISVFGNode</a></div><div class="ttdeci">IntraMSSAPHISVFGNode(NodeID id, const MRVer *resVer)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00352">SVFGNode.h:352</a></div></div>
143
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_abe0faa3d40bf16ac0937324035d3323d"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#abe0faa3d40bf16ac0937324035d3323d">SVF::IntraMSSAPHISVFGNode::IntraMSSAPHISVFGNode</a></div><div class="ttdeci">IntraMSSAPHISVFGNode(NodeID id, const MRVer *resVer)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00351">SVFGNode.h:351</a></div></div>
144
144
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">SVF::VFGNode::APOUT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
145
145
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_a928a57d7f518c5af98a0245d9221e671"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#a928a57d7f518c5af98a0245d9221e671">SVF::MSSAPHISVFGNode::setOpVer</a></div><div class="ttdeci">void setOpVer(u32_t pos, const MRVer *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00302">SVFGNode.h:302</a></div></div>
146
146
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75">SVF::VFGNode::VFGNodeK</a></div><div class="ttdeci">VFGNodeK</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00052">VFGNode.h:52</a></div></div>
147
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_ac1b291caedbd584d0e37702b682fa440"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#ac1b291caedbd584d0e37702b682fa440">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00452">SVFGNode.h:452</a></div></div>
148
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_aac74080dd5078d31d6f43edc2caf3c08"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08">SVF::InterMSSAPHISVFGNode::callInst</a></div><div class="ttdeci">const CallICFGNode * callInst</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00462">SVFGNode.h:462</a></div></div>
147
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_ac1b291caedbd584d0e37702b682fa440"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#ac1b291caedbd584d0e37702b682fa440">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00450">SVFGNode.h:450</a></div></div>
148
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_aac74080dd5078d31d6f43edc2caf3c08"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08">SVF::InterMSSAPHISVFGNode::callInst</a></div><div class="ttdeci">const CallICFGNode * callInst</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00460">SVFGNode.h:460</a></div></div>
149
149
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html_a0601031e01d4e7e4f086d5a4cc7b1321"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html#a0601031e01d4e7e4f086d5a4cc7b1321">SVF::FormalINSVFGNode::ver</a></div><div class="ttdeci">const MRVer * ver</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00093">SVFGNode.h:93</a></div></div>
150
150
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a28fe266d0e4618aa4448aa218495a332"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">SVF::MRSVFGNode::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdoc">Return points-to of the MR. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00052">SVFGNode.h:52</a></div></div>
151
151
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_afe2c662d51f3c9d31a20b5c1bee45844"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#afe2c662d51f3c9d31a20b5c1bee45844">SVF::ActualOUTSVFGNode::ActualOUTSVFGNode</a></div><div class="ttdeci">ActualOUTSVFGNode(NodeID id, const CallICFGNode *cal, const MRVer *resVer)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00234">SVFGNode.h:234</a></div></div>
152
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a5b4ba4b7753d786ff2e3d834bda017ce"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a5b4ba4b7753d786ff2e3d834bda017ce">SVF::InterMSSAPHISVFGNode::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00428">SVFGNode.h:428</a></div></div>
152
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a5b4ba4b7753d786ff2e3d834bda017ce"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a5b4ba4b7753d786ff2e3d834bda017ce">SVF::InterMSSAPHISVFGNode::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00426">SVFGNode.h:426</a></div></div>
153
153
  <div class="ttc" id="classSVF_1_1GenericNode_html"><div class="ttname"><a href="classSVF_1_1GenericNode.html">SVF::GenericNode</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00128">GenericGraph.h:128</a></div></div>
154
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_af9f0eaf33502af1533dd1244a383d561"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#af9f0eaf33502af1533dd1244a383d561">SVF::DummyVersionPropSVFGNode::getVersion</a></div><div class="ttdeci">Version getVersion(void) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00476">SVFGNode.h:476</a></div></div>
155
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a242d8967d6fc10ba37e3f0103081ec01"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a242d8967d6fc10ba37e3f0103081ec01">SVF::InterMSSAPHISVFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const</div><div class="ttdoc">Get the function of this SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00422">SVFGNode.h:422</a></div></div>
156
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a084a26ee34913e89b8b28fac43cda5f2"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a084a26ee34913e89b8b28fac43cda5f2">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MSSAPHISVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00440">SVFGNode.h:440</a></div></div>
154
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_af9f0eaf33502af1533dd1244a383d561"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#af9f0eaf33502af1533dd1244a383d561">SVF::DummyVersionPropSVFGNode::getVersion</a></div><div class="ttdeci">Version getVersion(void) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00474">SVFGNode.h:474</a></div></div>
155
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a242d8967d6fc10ba37e3f0103081ec01"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a242d8967d6fc10ba37e3f0103081ec01">SVF::InterMSSAPHISVFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const</div><div class="ttdoc">Get the function of this SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00420">SVFGNode.h:420</a></div></div>
156
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a084a26ee34913e89b8b28fac43cda5f2"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a084a26ee34913e89b8b28fac43cda5f2">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MSSAPHISVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00438">SVFGNode.h:438</a></div></div>
157
157
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_af7bd2cd776dcdbd1aee11569ec9f4a4f"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#af7bd2cd776dcdbd1aee11569ec9f4a4f">SVF::MSSAPHISVFGNode::getOpVerNum</a></div><div class="ttdeci">u32_t getOpVerNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00306">SVFGNode.h:306</a></div></div>
158
158
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a9b843265a6f95eea56a5a62eede8893c"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a9b843265a6f95eea56a5a62eede8893c">SVF::MRSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00062">SVFGNode.h:62</a></div></div>
159
159
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_abcb8ba7fc0574b75aa3582f35cdb47f5"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#abcb8ba7fc0574b75aa3582f35cdb47f5">SVF::MSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00330">SVFGNode.h:330</a></div></div>
@@ -169,24 +169,23 @@ $(function() {
169
169
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3c58aedc46cdafac26b47ec9674c2ac5">SVF::VFGNode::FPIN</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
170
170
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_a9c327923ab939e06877441ebde5c1139"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139">SVF::MSSAPHISVFGNode::opVers</a></div><div class="ttdeci">OPVers opVers</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00280">SVFGNode.h:280</a></div></div>
171
171
  <div class="ttc" id="classSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
172
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a4d0c0866ed958cdbb5fd9310696f24ba"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a4d0c0866ed958cdbb5fd9310696f24ba">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00386">SVFGNode.h:386</a></div></div>
173
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html">SVF::InterMSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00403">SVFGNode.h:403</a></div></div>
174
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a84832f678de1f497b4f3d7720a0bc58a"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a84832f678de1f497b4f3d7720a0bc58a">SVF::IntraMSSAPHISVFGNode::resVer</a></div><div class="ttdeci">const MRVer * resVer</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00350">SVFGNode.h:350</a></div></div>
172
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_a4d0c0866ed958cdbb5fd9310696f24ba"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#a4d0c0866ed958cdbb5fd9310696f24ba">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00384">SVFGNode.h:384</a></div></div>
173
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html">SVF::InterMSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00401">SVFGNode.h:401</a></div></div>
175
174
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_a9b0ad566d3fab6336d84ba07f541370f"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f">SVF::ActualOUTSVFGNode::ver</a></div><div class="ttdeci">const MRVer * ver</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00230">SVFGNode.h:230</a></div></div>
176
- <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_ae1fef4865427f59811fde241d4ac80cc"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#ae1fef4865427f59811fde241d4ac80cc">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const IntraMSSAPHISVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00374">SVFGNode.h:374</a></div></div>
175
+ <div class="ttc" id="classSVF_1_1IntraMSSAPHISVFGNode_html_ae1fef4865427f59811fde241d4ac80cc"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html#ae1fef4865427f59811fde241d4ac80cc">SVF::IntraMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const IntraMSSAPHISVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00372">SVFGNode.h:372</a></div></div>
177
176
  <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html_a476ef9fb19b3da1149945f9fe27cd9f1"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#a476ef9fb19b3da1149945f9fe27cd9f1">SVF::ActualINSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00213">SVFGNode.h:213</a></div></div>
178
177
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aac6fa19473ed8b90a7fd8c9080e5e014">SVF::VFGNode::MPhi</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00055">VFGNode.h:55</a></div></div>
179
178
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a22e28a37a013d14964ce832fa23dfb84"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a22e28a37a013d14964ce832fa23dfb84">SVF::MRSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MRSVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00058">SVFGNode.h:58</a></div></div>
180
179
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_ac55ddd2788fff5bcff8afc5c0b49ad2d"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#ac55ddd2788fff5bcff8afc5c0b49ad2d">SVF::MSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const MSSAPHISVFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00322">SVFGNode.h:322</a></div></div>
181
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_aa1ac53d368232b002cdd8f8a91f284da"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#aa1ac53d368232b002cdd8f8a91f284da">SVF::DummyVersionPropSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00490">SVFGNode.h:490</a></div></div>
180
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_aa1ac53d368232b002cdd8f8a91f284da"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#aa1ac53d368232b002cdd8f8a91f284da">SVF::DummyVersionPropSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericVFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00488">SVFGNode.h:488</a></div></div>
182
181
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00090">SVFGNode.h:90</a></div></div>
183
- <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a7674d5c0f395624085f0764dba78cb93"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a7674d5c0f395624085f0764dba78cb93">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00448">SVFGNode.h:448</a></div></div>
182
+ <div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html_a7674d5c0f395624085f0764dba78cb93"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a7674d5c0f395624085f0764dba78cb93">SVF::InterMSSAPHISVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00446">SVFGNode.h:446</a></div></div>
184
183
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_ab200b96b8dbff5d5fc5e3b114ae45921"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#ab200b96b8dbff5d5fc5e3b114ae45921">SVF::MRSVFGNode::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00045">SVFG.cpp:45</a></div></div>
185
184
  <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html_a300f37203eb84fc57e005c27ce0422fb"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb">SVF::MSSAPHISVFGNode::OPVers</a></div><div class="ttdeci">Map&lt; u32_t, const MRVer * &gt; OPVers</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00276">SVFGNode.h:276</a></div></div>
186
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html">SVF::DummyVersionPropSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00468">SVFGNode.h:468</a></div></div>
185
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html">SVF::DummyVersionPropSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00466">SVFGNode.h:466</a></div></div>
187
186
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
188
187
  <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html_a075773fa5b13cc067d24fbbb35c1d042"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a075773fa5b13cc067d24fbbb35c1d042">SVF::ActualOUTSVFGNode::cs</a></div><div class="ttdeci">const CallICFGNode * cs</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00229">SVFGNode.h:229</a></div></div>
189
- <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_a684f1f5c9f9f5059127d3024cc5d71e9"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#a684f1f5c9f9f5059127d3024cc5d71e9">SVF::DummyVersionPropSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00485">SVFGNode.h:485</a></div></div>
188
+ <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html_a684f1f5c9f9f5059127d3024cc5d71e9"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html#a684f1f5c9f9f5059127d3024cc5d71e9">SVF::DummyVersionPropSVFGNode::classof</a></div><div class="ttdeci">static bool classof(const VFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00483">SVFGNode.h:483</a></div></div>
190
189
  </div><!-- fragment --></div><!-- contents -->
191
190
  <!-- start footer part -->
192
191
  <hr class="footer"/><address class="footer"><small>