svf-tools 1.0.620 → 1.0.622

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 (191) hide show
  1. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -2
  2. package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
  3. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
  4. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
  7. package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
  8. package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
  9. package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
  10. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
  11. package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
  12. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
  13. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
  16. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
  17. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +17 -15
  18. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
  23. package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
  24. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  26. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  27. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +22 -22
  28. package/SVF-doxygen/html/html/SVFG_8h_source.html +37 -36
  29. package/SVF-doxygen/html/html/SVFValue_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +3 -3
  31. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/annotated.html +357 -351
  34. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  35. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -0
  37. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  38. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +27 -24
  39. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
  40. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +2 -1
  41. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
  42. package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
  43. package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
  44. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
  45. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
  46. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
  47. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
  49. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
  50. package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
  51. package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
  52. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue-members.html +5 -4
  53. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +32 -0
  54. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  56. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +45 -44
  57. package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
  58. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
  60. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
  61. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
  62. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -1
  65. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +96 -95
  67. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +157 -121
  68. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +116 -115
  69. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +13 -10
  70. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  72. package/SVF-doxygen/html/html/classes.html +110 -109
  73. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
  74. package/SVF-doxygen/html/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  75. package/SVF-doxygen/html/html/files.html +9 -7
  76. package/SVF-doxygen/html/html/functions.html +7 -1
  77. package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
  78. package/SVF-doxygen/html/html/functions_a.html +38 -14
  79. package/SVF-doxygen/html/html/functions_b.html +9 -4
  80. package/SVF-doxygen/html/html/functions_c.html +59 -38
  81. package/SVF-doxygen/html/html/functions_d.html +7 -1
  82. package/SVF-doxygen/html/html/functions_e.html +5 -1
  83. package/SVF-doxygen/html/html/functions_func.html +35 -11
  84. package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
  85. package/SVF-doxygen/html/html/functions_func_b.html +8 -3
  86. package/SVF-doxygen/html/html/functions_func_c.html +42 -27
  87. package/SVF-doxygen/html/html/functions_func_e.html +2 -1
  88. package/SVF-doxygen/html/html/functions_func_g.html +20 -7
  89. package/SVF-doxygen/html/html/functions_func_h.html +17 -7
  90. package/SVF-doxygen/html/html/functions_func_i.html +14 -10
  91. package/SVF-doxygen/html/html/functions_func_m.html +3 -2
  92. package/SVF-doxygen/html/html/functions_func_o.html +13 -11
  93. package/SVF-doxygen/html/html/functions_func_p.html +6 -3
  94. package/SVF-doxygen/html/html/functions_func_t.html +4 -0
  95. package/SVF-doxygen/html/html/functions_g.html +22 -9
  96. package/SVF-doxygen/html/html/functions_h.html +15 -5
  97. package/SVF-doxygen/html/html/functions_i.html +24 -15
  98. package/SVF-doxygen/html/html/functions_l.html +5 -5
  99. package/SVF-doxygen/html/html/functions_m.html +2 -1
  100. package/SVF-doxygen/html/html/functions_n.html +3 -3
  101. package/SVF-doxygen/html/html/functions_o.html +23 -21
  102. package/SVF-doxygen/html/html/functions_p.html +23 -20
  103. package/SVF-doxygen/html/html/functions_r.html +3 -5
  104. package/SVF-doxygen/html/html/functions_s.html +16 -13
  105. package/SVF-doxygen/html/html/functions_t.html +12 -2
  106. package/SVF-doxygen/html/html/functions_type_c.html +2 -1
  107. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  108. package/SVF-doxygen/html/html/functions_type_i.html +2 -1
  109. package/SVF-doxygen/html/html/functions_type_t.html +3 -0
  110. package/SVF-doxygen/html/html/functions_v.html +6 -6
  111. package/SVF-doxygen/html/html/functions_vars.html +7 -1
  112. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  113. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  114. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  115. package/SVF-doxygen/html/html/functions_vars_i.html +4 -0
  116. package/SVF-doxygen/html/html/functions_vars_p.html +6 -0
  117. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  118. package/SVF-doxygen/html/html/functions_vars_t.html +3 -0
  119. package/SVF-doxygen/html/html/hierarchy.html +517 -511
  120. package/SVF-doxygen/html/html/namespaceSVF.html +59 -30
  121. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
  122. package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
  123. package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
  124. package/SVF-doxygen/html/html/search/all_0.js +2 -1
  125. package/SVF-doxygen/html/html/search/all_1.js +8 -1
  126. package/SVF-doxygen/html/html/search/all_10.js +11 -8
  127. package/SVF-doxygen/html/html/search/all_11.js +3 -3
  128. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  129. package/SVF-doxygen/html/html/search/all_13.js +8 -5
  130. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  131. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  132. package/SVF-doxygen/html/html/search/all_19.js +6 -0
  133. package/SVF-doxygen/html/html/search/all_2.js +3 -2
  134. package/SVF-doxygen/html/html/search/all_3.js +11 -6
  135. package/SVF-doxygen/html/html/search/all_4.js +2 -1
  136. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  137. package/SVF-doxygen/html/html/search/all_7.js +6 -2
  138. package/SVF-doxygen/html/html/search/all_8.js +5 -2
  139. package/SVF-doxygen/html/html/search/all_9.js +8 -6
  140. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  141. package/SVF-doxygen/html/html/search/all_c.js +4 -3
  142. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  143. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  144. package/SVF-doxygen/html/html/search/all_f.js +5 -5
  145. package/SVF-doxygen/html/html/search/classes_10.js +1 -0
  146. package/SVF-doxygen/html/html/search/classes_2.js +2 -0
  147. package/SVF-doxygen/html/html/search/classes_7.js +2 -1
  148. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  149. package/SVF-doxygen/html/html/search/files_2.js +2 -0
  150. package/SVF-doxygen/html/html/search/functions_0.js +8 -1
  151. package/SVF-doxygen/html/html/search/functions_1.js +3 -2
  152. package/SVF-doxygen/html/html/search/functions_12.js +2 -1
  153. package/SVF-doxygen/html/html/search/functions_17.js +6 -0
  154. package/SVF-doxygen/html/html/search/functions_2.js +4 -1
  155. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  156. package/SVF-doxygen/html/html/search/functions_6.js +5 -1
  157. package/SVF-doxygen/html/html/search/functions_7.js +5 -2
  158. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  159. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  160. package/SVF-doxygen/html/html/search/functions_e.js +2 -2
  161. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  162. package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
  163. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  164. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  165. package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
  166. package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
  167. package/SVF-doxygen/html/html/search/variables_0.js +2 -1
  168. package/SVF-doxygen/html/html/search/variables_10.js +2 -0
  169. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  170. package/SVF-doxygen/html/html/search/variables_13.js +3 -2
  171. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  172. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  173. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  174. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  175. package/SVF-doxygen/html/html/search/variables_9.js +2 -1
  176. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  177. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  178. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  179. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
  180. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
  181. package/include/AbstractExecution/IntervalValue.h +5 -0
  182. package/include/CFL/CFLAlias.h +34 -0
  183. package/include/CFL/CFLData.h +316 -0
  184. package/include/CFL/CFLDataBuilder.h +91 -0
  185. package/include/CFL/CFLSolver.h +21 -0
  186. package/include/Graphs/SVFG.h +6 -0
  187. package/include/Util/Options.h +1 -0
  188. package/lib/CFL/CFLAlias.cpp +36 -0
  189. package/lib/Util/Options.cpp +5 -0
  190. package/package.json +1 -1
  191. package/tools/CFL/cfl.cpp +2 -0
@@ -135,6 +135,9 @@ Public Member Functions</h2></td></tr>
135
135
  <tr class="memitem:a8e7a945f4266e8dc7dcfff2ad6494bfb inherit pub_methods_classSVF_1_1SVFG"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a> (const <a class="el" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a> *pagNode) const</td></tr>
136
136
  <tr class="memdesc:a8e7a945f4266e8dc7dcfff2ad6494bfb inherit pub_methods_classSVF_1_1SVFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pagNode, return its definition site. <a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">More...</a><br /></td></tr>
137
137
  <tr class="separator:a8e7a945f4266e8dc7dcfff2ad6494bfb inherit pub_methods_classSVF_1_1SVFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
138
+ <tr class="memitem:ad2d19c5b80b01c8a7bb41100bb156279 inherit pub_methods_classSVF_1_1SVFG"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">hasDefSVFGNode</a> (const <a class="el" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a> *pagNode) const</td></tr>
139
+ <tr class="memdesc:ad2d19c5b80b01c8a7bb41100bb156279 inherit pub_methods_classSVF_1_1SVFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pagNode, return whether it has definition site. <a href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">More...</a><br /></td></tr>
140
+ <tr class="separator:ad2d19c5b80b01c8a7bb41100bb156279 inherit pub_methods_classSVF_1_1SVFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
138
141
  <tr class="memitem:adc9fbb4553472b238d6c3bb5062279cb inherit pub_methods_classSVF_1_1SVFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a> ()</td></tr>
139
142
  <tr class="memdesc:adc9fbb4553472b238d6c3bb5062279cb inherit pub_methods_classSVF_1_1SVFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform statistics. <a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">More...</a><br /></td></tr>
140
143
  <tr class="separator:adc9fbb4553472b238d6c3bb5062279cb inherit pub_methods_classSVF_1_1SVFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1143,7 +1146,7 @@ Additional Inherited Members</h2></td></tr>
1143
1146
  <div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
1144
1147
  <div class="ttc" id="classSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
1145
1148
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_af504407e6cd42cfe2ea27165ff15df40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#af504407e6cd42cfe2ea27165ff15df40">SVF::SVFGOPT::resetDef</a></div><div class="ttdeci">void resetDef(const PAGNode *pagNode, const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00260">SVFGOPT.h:260</a></div></div>
1146
- <div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00390">SVFG.h:390</a></div></div>
1149
+ <div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00396">SVFG.h:396</a></div></div>
1147
1150
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00163">SVFIR.h:163</a></div></div>
1148
1151
  </div><!-- fragment -->
1149
1152
  </div>
@@ -1180,7 +1183,7 @@ Additional Inherited Members</h2></td></tr>
1180
1183
  <div class="ttc" id="classSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
1181
1184
  <div class="ttc" id="classSVF_1_1ICFG_html_a0dca4655c2f6112a5be1f921b8e81076"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00269">ICFG.cpp:269</a></div></div>
1182
1185
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_af504407e6cd42cfe2ea27165ff15df40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#af504407e6cd42cfe2ea27165ff15df40">SVF::SVFGOPT::resetDef</a></div><div class="ttdeci">void resetDef(const PAGNode *pagNode, const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00260">SVFGOPT.h:260</a></div></div>
1183
- <div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00390">SVFG.h:390</a></div></div>
1186
+ <div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00396">SVFG.h:396</a></div></div>
1184
1187
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00163">SVFIR.h:163</a></div></div>
1185
1188
  </div><!-- fragment -->
1186
1189
  </div>
@@ -1594,7 +1597,7 @@ Additional Inherited Members</h2></td></tr>
1594
1597
  <p>Continue checking and remove other self cycle which are NOT context-related </p>
1595
1598
 
1596
1599
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00442">442</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
1597
- <div class="fragment"><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="keywordtype">bool</span> hasSelfCycle = <span class="keyword">false</span>;</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; <a class="code" href="classSVF_1_1VFGEdge.html#a557334ef75bb5479b045f68c27b38701">SVFGEdge::SVFGEdgeSetTy</a> inEdges = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>();</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeIt = inEdges.begin();</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeEit = inEdges.end();</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">for</span> (; inEdgeIt != inEdgeEit; ++inEdgeIt)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* preEdge = *inEdgeIt;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span> (preEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() == preEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a>)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">break</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="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">keepContextSelfCycle</a> &amp;&amp;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; SVFUtil::isa&lt;CallIndSVFGEdge, RetIndSVFGEdge&gt;(preEdge))</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; hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">continue</span>; </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">else</span></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; assert(SVFUtil::isa&lt;IndirectSVFGEdge&gt;(preEdge) &amp;&amp; <span class="stringliteral">&quot;can only remove indirect SVFG edge&quot;</span>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(preEdge);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; }</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"> 473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> hasSelfCycle;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00231">SVFG.h:231</a></div></div>
1600
+ <div class="fragment"><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="keywordtype">bool</span> hasSelfCycle = <span class="keyword">false</span>;</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; <a class="code" href="classSVF_1_1VFGEdge.html#a557334ef75bb5479b045f68c27b38701">SVFGEdge::SVFGEdgeSetTy</a> inEdges = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>();</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeIt = inEdges.begin();</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeEit = inEdges.end();</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">for</span> (; inEdgeIt != inEdgeEit; ++inEdgeIt)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* preEdge = *inEdgeIt;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span> (preEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() == preEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a>)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">break</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="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">keepContextSelfCycle</a> &amp;&amp;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; SVFUtil::isa&lt;CallIndSVFGEdge, RetIndSVFGEdge&gt;(preEdge))</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; hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">continue</span>; </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">else</span></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; assert(SVFUtil::isa&lt;IndirectSVFGEdge&gt;(preEdge) &amp;&amp; <span class="stringliteral">&quot;can only remove indirect SVFG edge&quot;</span>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(preEdge);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; }</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"> 473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> hasSelfCycle;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
1598
1601
  <div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy &amp; getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00188">GenericGraph.h:188</a></div></div>
1599
1602
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00079">GenericGraph.h:79</a></div></div>
1600
1603
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a65bba62d9b62bf2bdbbda69540eeb38d"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">SVF::SVFGOPT::keepAllSelfCycle</a></div><div class="ttdeci">bool keepAllSelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00356">SVFGOPT.h:356</a></div></div>
@@ -1725,7 +1728,7 @@ Additional Inherited Members</h2></td></tr>
1725
1728
  <div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> phiId = <a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_arg);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">addCallEdge</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_arg), phiId, csId);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">PHISVFGNode</a>* phi = SVFUtil::cast&lt;PHISVFGNode&gt;(<a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(phiId));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">addInterPHIOperands</a>(phi, cs_arg);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; edges.insert(edge);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
1726
1729
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00149">SVFG.h:149</a></div></div>
1727
1730
  <div class="ttc" id="namespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
1728
- <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00349">SVFG.h:349</a></div></div>
1731
+ <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00355">SVFG.h:355</a></div></div>
1729
1732
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
1730
1733
  <div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00701">VFG.cpp:701</a></div></div>
1731
1734
  <div class="ttc" id="namespaceSVF_html_aa4745cf70b26e17d59752356f0b19dd9"><div class="ttname"><a href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVF::SVFGEdge</a></div><div class="ttdeci">VFGEdge SVFGEdge</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00040">SVFG.h:40</a></div></div>
@@ -1849,7 +1852,7 @@ Additional Inherited Members</h2></td></tr>
1849
1852
  <div class="ttc" id="namespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
1850
1853
  <div class="ttc" id="classSVF_1_1SVFIR_html_a5de67390d38bfacd5b63b776a0ecbfff"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">SVF::SVFIR::isPhiNode</a></div><div class="ttdeci">bool isPhiNode(const SVFVar *node) const</div><div class="ttdoc">Whether this SVFVar is a result operand a of phi node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00228">SVFIR.h:228</a></div></div>
1851
1854
  <div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
1852
- <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00349">SVFG.h:349</a></div></div>
1855
+ <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00355">SVFG.h:355</a></div></div>
1853
1856
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
1854
1857
  <div class="ttc" id="namespaceSVF_html_aa4745cf70b26e17d59752356f0b19dd9"><div class="ttname"><a href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVF::SVFGEdge</a></div><div class="ttdeci">VFGEdge SVFGEdge</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00040">SVFG.h:40</a></div></div>
1855
1858
  </div><!-- fragment -->
@@ -2026,7 +2029,7 @@ Additional Inherited Members</h2></td></tr>
2026
2029
  <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01025">VFGNode.h:1025</a></div></div>
2027
2030
  <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#l00093">SVFGNode.h:93</a></div></div>
2028
2031
  <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>
2029
- <div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00236">SVFG.h:236</a></div></div>
2032
+ <div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00242">SVFG.h:242</a></div></div>
2030
2033
  </div><!-- fragment -->
2031
2034
  </div>
2032
2035
  </div>
@@ -2080,7 +2083,7 @@ Additional Inherited Members</h2></td></tr>
2080
2083
  <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00212">GenericGraph.h:212</a></div></div>
2081
2084
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
2082
2085
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_ac3b14bf191cadb832e3a34affd7e569d"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#ac3b14bf191cadb832e3a34affd7e569d">SVF::SVFGOPT::parseSelfCycleHandleOption</a></div><div class="ttdeci">void parseSelfCycleHandleOption()</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00372">SVFGOPT.cpp:372</a></div></div>
2083
- <div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00236">SVFG.h:236</a></div></div>
2086
+ <div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00242">SVFG.h:242</a></div></div>
2084
2087
  </div><!-- fragment -->
2085
2088
  </div>
2086
2089
  </div>
@@ -2275,7 +2278,7 @@ Additional Inherited Members</h2></td></tr>
2275
2278
  <p>remove incoming edges </p>
2276
2279
 
2277
2280
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8h_source.html#l00335">335</a> of file <a class="el" href="SVFGOPT_8h_source.html">SVFGOPT.h</a>.</p>
2278
- <div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">while</span> (node-&gt;hasIncomingEdge())</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node-&gt;InEdgeBegin()));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00231">SVFG.h:231</a></div></div>
2281
+ <div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">while</span> (node-&gt;hasIncomingEdge())</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node-&gt;InEdgeBegin()));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
2279
2282
  </div><!-- fragment -->
2280
2283
  </div>
2281
2284
  </div>
@@ -2304,7 +2307,7 @@ Additional Inherited Members</h2></td></tr>
2304
2307
  </div><div class="memdoc">
2305
2308
 
2306
2309
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8h_source.html#l00341">341</a> of file <a class="el" href="SVFGOPT_8h_source.html">SVFGOPT.h</a>.</p>
2307
- <div class="fragment"><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="keywordflow">while</span> (node-&gt;hasOutgoingEdge())</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node-&gt;OutEdgeBegin()));</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00231">SVFG.h:231</a></div></div>
2310
+ <div class="fragment"><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="keywordflow">while</span> (node-&gt;hasOutgoingEdge())</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node-&gt;OutEdgeBegin()));</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
2308
2311
  </div><!-- fragment -->
2309
2312
  </div>
2310
2313
  </div>
@@ -2365,7 +2368,7 @@ Additional Inherited Members</h2></td></tr>
2365
2368
  <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html_a62a894e71fcf7a3db19c0488d96a7262"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html#a62a894e71fcf7a3db19c0488d96a7262">SVF::FormalRetVFGNode::getRet</a></div><div class="ttdeci">const PAGNode * getRet() const</div><div class="ttdoc">Return value at callee. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01040">VFGNode.h:1040</a></div></div>
2366
2369
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_ac15b3c2cb127b17ebad3a30fc04b6f40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">SVF::SVFGOPT::removeAllEdges</a></div><div class="ttdeci">void removeAllEdges(const SVFGNode *node)</div><div class="ttdoc">Remove edges of a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00330">SVFGOPT.h:330</a></div></div>
2367
2370
  <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00967">VFGNode.h:967</a></div></div>
2368
- <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00349">SVFG.h:349</a></div></div>
2371
+ <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00355">SVFG.h:355</a></div></div>
2369
2372
  <div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
2370
2373
  <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html_ab153944a366488c5f7e91d61561e9c0e"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html#ab153944a366488c5f7e91d61561e9c0e">SVF::ActualParmVFGNode::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00858">VFGNode.h:858</a></div></div>
2371
2374
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
@@ -1547,7 +1547,7 @@ Private Attributes</h2></td></tr>
1547
1547
  <div class="ttc" id="classSVF_1_1SVFIR_html_a236b4fefd16e9c793c5bd6d576290841"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a236b4fefd16e9c793c5bd6d576290841">SVF::SVFIR::print</a></div><div class="ttdeci">void print()</div><div class="ttdoc">Print SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00570">SVFIR.cpp:570</a></div></div>
1548
1548
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
1549
1549
  <div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00442">ICFG.cpp:442</a></div></div>
1550
- <div class="ttc" id="classSVF_1_1Options_html_abfd13c7d998333290b39354178739f2c"><div class="ttname"><a href="classSVF_1_1Options.html#abfd13c7d998333290b39354178739f2c">SVF::Options::LoopAnalysis</a></div><div class="ttdeci">static const Option&lt; bool &gt; LoopAnalysis</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00260">Options.h:260</a></div></div>
1550
+ <div class="ttc" id="classSVF_1_1Options_html_abfd13c7d998333290b39354178739f2c"><div class="ttname"><a href="classSVF_1_1Options.html#abfd13c7d998333290b39354178739f2c">SVF::Options::LoopAnalysis</a></div><div class="ttdeci">static const Option&lt; bool &gt; LoopAnalysis</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00261">Options.h:261</a></div></div>
1551
1551
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00095">LLVMModule.h:95</a></div></div>
1552
1552
  <div class="ttc" id="classSVF_1_1LLVMLoopAnalysis_html_a17e4805c2db146430c58af35625a388d"><div class="ttname"><a href="classSVF_1_1LLVMLoopAnalysis.html#a17e4805c2db146430c58af35625a388d">SVF::LLVMLoopAnalysis::build</a></div><div class="ttdeci">virtual void build(ICFG *icfg)</div><div class="ttdoc">Start from here. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMLoopAnalysis_8cpp_source.html#l00084">LLVMLoopAnalysis.cpp:84</a></div></div>
1553
1553
  <div class="ttc" id="classSVF_1_1SVFIR_html_ad6e18f520f6b559f2304002792f6b701"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">SVF::SVFIR::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00153">SVFIR.h:153</a></div></div>
@@ -2360,7 +2360,7 @@ Additional Inherited Members</h2></td></tr>
2360
2360
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00239">FlowSensitive.h:239</a></div></div>
2361
2361
  <div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
2362
2362
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a59f3dd74ed8c3e2fc48b9353ba2452aa"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">SVF::VersionedFlowSensitive::atKey</a></div><div class="ttdeci">static VersionedVar atKey(NodeID, Version)</div><div class="ttdoc">Return key into vPtD for address-taken var of a specific version. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00024">VersionedFlowSensitive.cpp:24</a></div></div>
2363
- <div class="ttc" id="classSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00256">SVFG.h:256</a></div></div>
2363
+ <div class="ttc" id="classSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00262">SVFG.h:262</a></div></div>
2364
2364
  <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
2365
2365
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a03f5f16377daa0258166a73de3e21f07"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">SVF::VersionedFlowSensitive::vPtD</a></div><div class="ttdeci">BVDataPTAImpl::VersionedPTDataTy * vPtD</div><div class="ttdoc">Points-to DS for working with versions. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00214">VersionedFlowSensitive.h:214</a></div></div>
2366
2366
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00238">VersionedFlowSensitive.h:238</a></div></div>
@@ -2496,7 +2496,7 @@ Additional Inherited Members</h2></td></tr>
2496
2496
 
2497
2497
  <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00524">524</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
2498
2498
  <div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;{</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFG.html#a241d0489bf0315460e2b07db87e7847c">SVFG::iterator</a> nodeIt = <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); nodeIt != <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++nodeIt)</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *sn = nodeIt-&gt;second;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVFGEdgeSetTy</a> &amp;inEdges = sn-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>();</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; std::vector&lt;SVFGEdge *&gt; toDeleteFromIn;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : inEdges)</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;IndirectSVFGEdge&gt;(e)) toDeleteFromIn.push_back(e);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : toDeleteFromIn) <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(e);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="comment">// Only need to iterate over incoming edges for each node because edges</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="comment">// will be deleted from in/out through removeSVFGEdge.</span></div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a>(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
2499
- <div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00231">SVFG.h:231</a></div></div>
2499
+ <div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
2500
2500
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00239">FlowSensitive.h:239</a></div></div>
2501
2501
  <div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy &amp; getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00188">GenericGraph.h:188</a></div></div>
2502
2502
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>