svf-tools 1.0.621 → 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 (59) hide show
  1. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +17 -15
  3. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
  7. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  8. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  9. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +22 -22
  10. package/SVF-doxygen/html/html/SVFG_8h_source.html +37 -36
  11. package/SVF-doxygen/html/html/SVFValue_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +3 -3
  13. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue-members.html +5 -4
  16. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +32 -0
  17. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  18. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +96 -95
  19. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +157 -121
  20. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +116 -115
  21. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +13 -10
  22. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  23. package/SVF-doxygen/html/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  24. package/SVF-doxygen/html/html/functions_c.html +6 -6
  25. package/SVF-doxygen/html/html/functions_func_h.html +7 -4
  26. package/SVF-doxygen/html/html/functions_func_i.html +2 -2
  27. package/SVF-doxygen/html/html/functions_func_t.html +1 -0
  28. package/SVF-doxygen/html/html/functions_h.html +5 -2
  29. package/SVF-doxygen/html/html/functions_i.html +4 -4
  30. package/SVF-doxygen/html/html/functions_l.html +3 -3
  31. package/SVF-doxygen/html/html/functions_o.html +3 -3
  32. package/SVF-doxygen/html/html/functions_p.html +9 -15
  33. package/SVF-doxygen/html/html/functions_s.html +15 -13
  34. package/SVF-doxygen/html/html/functions_t.html +7 -6
  35. package/SVF-doxygen/html/html/functions_v.html +3 -3
  36. package/SVF-doxygen/html/html/namespaceSVF.html +30 -30
  37. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  38. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  39. package/SVF-doxygen/html/html/search/all_12.js +8 -8
  40. package/SVF-doxygen/html/html/search/all_13.js +5 -5
  41. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  42. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  43. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  44. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  45. package/SVF-doxygen/html/html/search/all_8.js +1 -0
  46. package/SVF-doxygen/html/html/search/all_9.js +3 -3
  47. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  48. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  49. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  50. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  51. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  52. package/SVF-doxygen/html/html/search/functions_7.js +1 -0
  53. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  54. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  55. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  56. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  57. package/include/AbstractExecution/IntervalValue.h +5 -0
  58. package/include/Graphs/SVFG.h +6 -0
  59. package/package.json +1 -1
@@ -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>
@@ -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>
@@ -70,7 +70,7 @@ $(function() {
70
70
  <div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
71
71
  <div class="ttc" id="fastcluster_8cpp_html_a8abcd9d66492e761592578e82ce2cba0"><div class="ttname"><a href="fastcluster_8cpp.html#a8abcd9d66492e761592578e82ce2cba0">fc_isnan</a></div><div class="ttdeci">bool fc_isnan(double x)</div><div class="ttdef"><b>Definition:</b> <a href="fastcluster_8cpp_source.html#l00019">fastcluster.cpp:19</a></div></div>
72
72
  <div class="ttc" id="cJSON_8h_html_a1a175e87536301df98c805ac0636ad7c"><div class="ttname"><a href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a></div><div class="ttdeci">const cJSON *const b</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00255">cJSON.h:255</a></div></div>
73
- <div class="ttc" id="namespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator&lt;</a></div><div class="ttdeci">IntervalValue operator&lt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Greater than IntervalValues. </div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00597">IntervalValue.h:597</a></div></div>
73
+ <div class="ttc" id="namespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator&lt;</a></div><div class="ttdeci">IntervalValue operator&lt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Greater than IntervalValues. </div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00602">IntervalValue.h:602</a></div></div>
74
74
  <div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
75
75
  <div class="ttc" id="cJSON_8cpp_html_a8a1a0a26c50cc4becfc754bb68d1dc6b"><div class="ttname"><a href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a></div><div class="ttdeci">cJSON * a</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02560">cJSON.cpp:2560</a></div></div>
76
76
  <div class="ttc" id="cJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
@@ -1741,12 +1741,12 @@ $(function() {
1741
1741
  <li>CxtLockProcVec
1742
1742
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a058f3518f0b861c46c99095922e373f0">SVF::LockAnalysis</a>
1743
1743
  </li>
1744
- <li>cxtLockset
1745
- : <a class="el" href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">SVF::LockAnalysis</a>
1746
- </li>
1747
1744
  <li>CxtLockSet
1748
1745
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a0716c155b42b3ae7a6c8d7593bb6ac83">SVF::LockAnalysis</a>
1749
1746
  </li>
1747
+ <li>cxtLockset
1748
+ : <a class="el" href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">SVF::LockAnalysis</a>
1749
+ </li>
1750
1750
  <li>cxtLockSet
1751
1751
  : <a class="el" href="classSVF_1_1LockResultValidator.html#a51e6f48be9f2a65b390e4e0350eb12a9">SVF::LockResultValidator</a>
1752
1752
  </li>
@@ -1756,12 +1756,12 @@ $(function() {
1756
1756
  <li>CxtLockToLockSet
1757
1757
  : <a class="el" href="classSVF_1_1LockAnalysis.html#ab782401c6521a2810e28ac602710ac22">SVF::LockAnalysis</a>
1758
1758
  </li>
1759
- <li>CxtLockToSpan
1760
- : <a class="el" href="classSVF_1_1LockAnalysis.html#a7335d5b13a6cb1dcde9706f30b8a4826">SVF::LockAnalysis</a>
1761
- </li>
1762
1759
  <li>cxtLocktoSpan
1763
1760
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a2fd796765f16cc7094f36d68c0ff70a0">SVF::LockAnalysis</a>
1764
1761
  </li>
1762
+ <li>CxtLockToSpan
1763
+ : <a class="el" href="classSVF_1_1LockAnalysis.html#a7335d5b13a6cb1dcde9706f30b8a4826">SVF::LockAnalysis</a>
1764
+ </li>
1765
1765
  <li>CxtProc()
1766
1766
  : <a class="el" href="classSVF_1_1CxtProc.html#ac1ca3a049f6d0f8a0548a153cc903aa0">SVF::CxtProc</a>
1767
1767
  </li>
@@ -263,6 +263,9 @@ $(function() {
263
263
  <li>hasDefinition()
264
264
  : <a class="el" href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">SVF::LLVMModuleSet</a>
265
265
  </li>
266
+ <li>hasDefSVFGNode()
267
+ : <a class="el" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">SVF::SVFG</a>
268
+ </li>
266
269
  <li>hasDFInSet()
267
270
  : <a class="el" href="classSVF_1_1DFPTData.html#ac1b87463b419dfa658f090d795ccd34c">SVF::DFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
268
271
  , <a class="el" href="classSVF_1_1MutableDFPTData.html#a9a9641305c9d670e09f02b71a3e384a9">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
@@ -373,7 +376,7 @@ $(function() {
373
376
  , <a class="el" href="classSVF_1_1TCT.html#a59125bb4878bc347dbdbc74aa6ec4cdf">SVF::TCT</a>
374
377
  </li>
375
378
  <li>hasLabeledEdge()
376
- : <a class="el" href="classSVF_1_1IRGraph.html#a192e584440eb141e0d35d8fed671bbe0">SVF::IRGraph</a>
379
+ : <a class="el" href="classSVF_1_1IRGraph.html#a1c999e2fd771e4fda192af096e3ec92c">SVF::IRGraph</a>
377
380
  </li>
378
381
  <li>hasLoop()
379
382
  : <a class="el" href="classSVF_1_1TCT.html#a103d85882e753fe90893a4f0e78dda26">SVF::TCT</a>
@@ -389,7 +392,7 @@ $(function() {
389
392
  : <a class="el" href="classSVF_1_1MRGenerator.html#a187d82895b2e1156c6dd5ae28795944f">SVF::MRGenerator</a>
390
393
  </li>
391
394
  <li>hasMU()
392
- : <a class="el" href="classSVF_1_1MemSSA.html#af5e356e82c3f93b65bd89908e0f465dc">SVF::MemSSA</a>
395
+ : <a class="el" href="classSVF_1_1MemSSA.html#a6bd9390c6cd2a3d7a3752fba76acfb46">SVF::MemSSA</a>
393
396
  </li>
394
397
  <li>hasNode()
395
398
  : <a class="el" href="classSVF_1_1DCHGraph.html#a58341e23c1dc2b3e7fce190ed16a8a25">SVF::DCHGraph</a>
@@ -404,7 +407,7 @@ $(function() {
404
407
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a7d2072c3c0ae571077a2aa2c3586451d">SVF::LockAnalysis</a>
405
408
  </li>
406
409
  <li>hasOutgoingEdge()
407
- : <a class="el" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>
410
+ : <a class="el" href="classSVF_1_1GenericNode.html#aa0c40cb708b39300b3cb7354194e4993">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a>
408
411
  </li>
409
412
  <li>hasOutgoingEdges()
410
413
  : <a class="el" href="classSVF_1_1SVFVar.html#a9b00f9b5f8ad2422162f4396e2d8fa42">SVF::SVFVar</a>
@@ -475,7 +478,7 @@ $(function() {
475
478
  : <a class="el" href="classSVF_1_1ICFG.html#a29fb70d6638765ce291c5a8a11fbea64">SVF::ICFG</a>
476
479
  </li>
477
480
  <li>hasThreadJoinEdge()
478
- : <a class="el" href="classSVF_1_1ThreadCallGraph.html#a5f7c92af1a4ce33e4746f5b65c9c8421">SVF::ThreadCallGraph</a>
481
+ : <a class="el" href="classSVF_1_1ThreadCallGraph.html#a98214e970762f43d0e9ad719961b4021">SVF::ThreadCallGraph</a>
479
482
  </li>
480
483
  <li>hasThreadStmtSet()
481
484
  : <a class="el" href="classSVF_1_1MHP.html#a27d031e9c7c4706d7ee1750668e83b99">SVF::MHP</a>
@@ -1195,10 +1195,10 @@ $(function() {
1195
1195
  : <a class="el" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">SVF::ConstraintGraph</a>
1196
1196
  </li>
1197
1197
  <li>iter_adaptor_base()
1198
- : <a class="el" href="classSVF_1_1iter__adaptor__base.html#aae17978dbc68365513742c0ed6dd6e77">SVF::iter_adaptor_base&lt; DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT &gt;</a>
1198
+ : <a class="el" href="classSVF_1_1iter__adaptor__base.html#ad3e91fd59221ddbdc889bc081159f611">SVF::iter_adaptor_base&lt; DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT &gt;</a>
1199
1199
  </li>
1200
1200
  <li>iter_range()
1201
- : <a class="el" href="classSVF_1_1iter__range.html#ac3a12d857b57fbe7b81987f56655cb3b">SVF::iter_range&lt; IteratorT &gt;</a>
1201
+ : <a class="el" href="classSVF_1_1iter__range.html#aa4d5bc9762f2d7686b9ab36078e0a319">SVF::iter_range&lt; IteratorT &gt;</a>
1202
1202
  </li>
1203
1203
  </ul>
1204
1204
  </div><!-- contents -->
@@ -193,6 +193,7 @@ $(function() {
193
193
  , <a class="el" href="classSVF_1_1InterMSSAPHISVFGNode.html#a286e9064de854a84bdd2efe8f7d73688">SVF::InterMSSAPHISVFGNode</a>
194
194
  , <a class="el" href="classSVF_1_1InterPHIVFGNode.html#aff35aebdc8d955df160e51da7b666a7e">SVF::InterPHIVFGNode</a>
195
195
  , <a class="el" href="classSVF_1_1IntervalExeState.html#a3a8f8b09df0befa318cbcd43d191d37a">SVF::IntervalExeState</a>
196
+ , <a class="el" href="classSVF_1_1IntervalValue.html#af5ee3e3b58d9661217ab6f08ffb98bbd">SVF::IntervalValue</a>
196
197
  , <a class="el" href="classSVF_1_1IntraCFGEdge.html#a1e63286b4d6f757ac1220f5f03ae62de">SVF::IntraCFGEdge</a>
197
198
  , <a class="el" href="classSVF_1_1IntraDirSVFGEdge.html#a1c8dc17717409aa42749181aafd155aa">SVF::IntraDirSVFGEdge</a>
198
199
  , <a class="el" href="classSVF_1_1IntraICFGNode.html#a85d3e05cb5a95c2f9d678d9f010419a5">SVF::IntraICFGNode</a>
@@ -270,6 +270,9 @@ $(function() {
270
270
  <li>hasDefinition()
271
271
  : <a class="el" href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">SVF::LLVMModuleSet</a>
272
272
  </li>
273
+ <li>hasDefSVFGNode()
274
+ : <a class="el" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">SVF::SVFG</a>
275
+ </li>
273
276
  <li>hasDFInSet()
274
277
  : <a class="el" href="classSVF_1_1DFPTData.html#ac1b87463b419dfa658f090d795ccd34c">SVF::DFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
275
278
  , <a class="el" href="classSVF_1_1MutableDFPTData.html#a9a9641305c9d670e09f02b71a3e384a9">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
@@ -396,7 +399,7 @@ $(function() {
396
399
  : <a class="el" href="classSVF_1_1MRGenerator.html#a187d82895b2e1156c6dd5ae28795944f">SVF::MRGenerator</a>
397
400
  </li>
398
401
  <li>hasMU()
399
- : <a class="el" href="classSVF_1_1MemSSA.html#a6bd9390c6cd2a3d7a3752fba76acfb46">SVF::MemSSA</a>
402
+ : <a class="el" href="classSVF_1_1MemSSA.html#af5e356e82c3f93b65bd89908e0f465dc">SVF::MemSSA</a>
400
403
  </li>
401
404
  <li>hasNode()
402
405
  : <a class="el" href="classSVF_1_1DCHGraph.html#a58341e23c1dc2b3e7fce190ed16a8a25">SVF::DCHGraph</a>
@@ -485,7 +488,7 @@ $(function() {
485
488
  : <a class="el" href="classSVF_1_1ICFG.html#a29fb70d6638765ce291c5a8a11fbea64">SVF::ICFG</a>
486
489
  </li>
487
490
  <li>hasThreadJoinEdge()
488
- : <a class="el" href="classSVF_1_1ThreadCallGraph.html#a98214e970762f43d0e9ad719961b4021">SVF::ThreadCallGraph</a>
491
+ : <a class="el" href="classSVF_1_1ThreadCallGraph.html#a5f7c92af1a4ce33e4746f5b65c9c8421">SVF::ThreadCallGraph</a>
489
492
  </li>
490
493
  <li>hasThreadStmtSet()
491
494
  : <a class="el" href="classSVF_1_1MHP.html#a27d031e9c7c4706d7ee1750668e83b99">SVF::MHP</a>
@@ -522,12 +522,12 @@ $(function() {
522
522
  <li>InstToCxtStmt
523
523
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a5f573ae9b14b8a8aa8489867e48640a7">SVF::LockAnalysis</a>
524
524
  </li>
525
- <li>instToCxtStmtSet
526
- : <a class="el" href="classSVF_1_1LockAnalysis.html#ae8715683c7dfddc7b30caf6bf2b78296">SVF::LockAnalysis</a>
527
- </li>
528
525
  <li>InstToCxtStmtSet
529
526
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a159943d09e0498b4569b2245adc91a15">SVF::LockAnalysis</a>
530
527
  </li>
528
+ <li>instToCxtStmtSet
529
+ : <a class="el" href="classSVF_1_1LockAnalysis.html#ae8715683c7dfddc7b30caf6bf2b78296">SVF::LockAnalysis</a>
530
+ </li>
531
531
  <li>InstToInstSetMap
532
532
  : <a class="el" href="classSVF_1_1LockAnalysis.html#a0062c7bbfff6d16db6334d9ecda4209c">SVF::LockAnalysis</a>
533
533
  </li>
@@ -1560,7 +1560,7 @@ $(function() {
1560
1560
  : <a class="el" href="classSVF_1_1iter__facade__base_1_1ReferenceProxy.html#ab4717ea89d08ac05464fa95bc7f50ac6">SVF::iter_facade_base&lt; DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT &gt;::ReferenceProxy</a>
1561
1561
  </li>
1562
1562
  <li>iter_range()
1563
- : <a class="el" href="classSVF_1_1iter__range.html#aa4d5bc9762f2d7686b9ab36078e0a319">SVF::iter_range&lt; IteratorT &gt;</a>
1563
+ : <a class="el" href="classSVF_1_1iter__range.html#ac3a12d857b57fbe7b81987f56655cb3b">SVF::iter_range&lt; IteratorT &gt;</a>
1564
1564
  </li>
1565
1565
  <li>iterationForPrintStat
1566
1566
  : <a class="el" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver&lt; GraphType &gt;</a>
@@ -207,12 +207,12 @@ $(function() {
207
207
  <li>LoadStmt()
208
208
  : <a class="el" href="classSVF_1_1LoadStmt.html#a4bd939005c7c6a5da4ed3b6be6ef1a22">SVF::LoadStmt</a>
209
209
  </li>
210
- <li>LoadsToMRsMap
211
- : <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator</a>
212
- </li>
213
210
  <li>loadsToMRsMap
214
211
  : <a class="el" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">SVF::MRGenerator</a>
215
212
  </li>
213
+ <li>LoadsToMRsMap
214
+ : <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator</a>
215
+ </li>
216
216
  <li>loadsToPointsToMap
217
217
  : <a class="el" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">SVF::MRGenerator</a>
218
218
  </li>
@@ -511,12 +511,12 @@ $(function() {
511
511
  <li>OpICFGNodeVec
512
512
  : <a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">SVF::PhiStmt</a>
513
513
  </li>
514
- <li>opIncomingBBs
515
- : <a class="el" href="classSVF_1_1IntraPHIVFGNode.html#a73f39a488ad82300010abd18afe247a4">SVF::IntraPHIVFGNode</a>
516
- </li>
517
514
  <li>OPIncomingBBs
518
515
  : <a class="el" href="classSVF_1_1IntraPHIVFGNode.html#a66928f6cc755bd2a048804d00f859a80">SVF::IntraPHIVFGNode</a>
519
516
  </li>
517
+ <li>opIncomingBBs
518
+ : <a class="el" href="classSVF_1_1IntraPHIVFGNode.html#a73f39a488ad82300010abd18afe247a4">SVF::IntraPHIVFGNode</a>
519
+ </li>
520
520
  <li>OpIt
521
521
  : <a class="el" href="classllvm_1_1generic__bridge__gep__type__iterator.html#aa3fd4dca27e09df9ee726879624ae47e">llvm::generic_bridge_gep_type_iterator&lt; ItTy &gt;</a>
522
522
  </li>
@@ -86,12 +86,12 @@ $(function() {
86
86
  <li>PAGEdgeSetTy
87
87
  : <a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">SVF::SVFStmt</a>
88
88
  </li>
89
- <li>pagEdgeToFunMap
90
- : <a class="el" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">SVF::MRGenerator</a>
91
- </li>
92
89
  <li>PAGEdgeToFunMap
93
90
  : <a class="el" href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31">SVF::MRGenerator</a>
94
91
  </li>
92
+ <li>pagEdgeToFunMap
93
+ : <a class="el" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">SVF::MRGenerator</a>
94
+ </li>
95
95
  <li>PAGEdgeToSetMapTy
96
96
  : <a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">SVF::SVFStmt</a>
97
97
  </li>
@@ -850,13 +850,11 @@ $(function() {
850
850
  </li>
851
851
  <li>PTAVector
852
852
  : <a class="el" href="classSVF_1_1DDAPass.html#acc7ad5d3266cb3e24fba0b4db186348a">SVF::DDAPass</a>
853
+ , <a class="el" href="classSVF_1_1WPAPass.html#ad4e3d480ebcc6bbbb7bcc8dc3df8663e">SVF::WPAPass</a>
853
854
  </li>
854
855
  <li>ptaVector
855
856
  : <a class="el" href="classSVF_1_1WPAPass.html#a72a66ae158793f5d1bcb37b655db4446">SVF::WPAPass</a>
856
857
  </li>
857
- <li>PTAVector
858
- : <a class="el" href="classSVF_1_1WPAPass.html#ad4e3d480ebcc6bbbb7bcc8dc3df8663e">SVF::WPAPass</a>
859
- </li>
860
858
  <li>PTBackingType
861
859
  : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8a">SVF::BVDataPTAImpl</a>
862
860
  </li>
@@ -927,12 +925,12 @@ $(function() {
927
925
  <li>PtrToBVPtsMap
928
926
  : <a class="el" href="classSVF_1_1CondPTAImpl.html#aba828ca8e2aa2bd71b78be8b45a48c9b">SVF::CondPTAImpl&lt; Cond &gt;</a>
929
927
  </li>
930
- <li>ptrToCPtsMap
931
- : <a class="el" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl&lt; Cond &gt;</a>
932
- </li>
933
928
  <li>PtrToCPtsMap
934
929
  : <a class="el" href="classSVF_1_1CondPTAImpl.html#a5043e9d9255d31777d038c48c809bb09">SVF::CondPTAImpl&lt; Cond &gt;</a>
935
930
  </li>
931
+ <li>ptrToCPtsMap
932
+ : <a class="el" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl&lt; Cond &gt;</a>
933
+ </li>
936
934
  <li>PtrToNSMap
937
935
  : <a class="el" href="classSVF_1_1CondPTAImpl.html#a838c3f2be39d278072f7a9df7c0bcb4d">SVF::CondPTAImpl&lt; Cond &gt;</a>
938
936
  </li>
@@ -944,15 +942,11 @@ $(function() {
944
942
  , <a class="el" href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e">SVF::FlowSensitiveStat</a>
945
943
  , <a class="el" href="classSVF_1_1MutableDFPTData.html#ae7456fccd4c95227cdd7163176703205">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
946
944
  , <a class="el" href="classSVF_1_1MutableDiffPTData.html#a5d64ef2d4b9ab65cc7a9e33bb6fe47cf">SVF::MutableDiffPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
945
+ , <a class="el" href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">SVF::MutablePTData&lt; Key, KeySet, Data, DataSet &gt;</a>
947
946
  </li>
948
947
  <li>ptsMap
949
948
  : <a class="el" href="classSVF_1_1MutablePTData.html#a5ee6e307acd4edbf4f7c2b063032d942">SVF::MutablePTData&lt; Key, KeySet, Data, DataSet &gt;</a>
950
- </li>
951
- <li>PtsMap
952
- : <a class="el" href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">SVF::MutablePTData&lt; Key, KeySet, Data, DataSet &gt;</a>
953
- </li>
954
- <li>ptsMap
955
- : <a class="el" href="classSVF_1_1PersistentPTData.html#a483c690c6cf19e258bdf7bb13e77976e">SVF::PersistentPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
949
+ , <a class="el" href="classSVF_1_1PersistentPTData.html#a483c690c6cf19e258bdf7bb13e77976e">SVF::PersistentPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
956
950
  </li>
957
951
  <li>PtsMapConstIter
958
952
  : <a class="el" href="classSVF_1_1MutableDFPTData.html#a3f234abc0def4815a03de164fa258f24">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>