svf-tools 1.0.460 → 1.0.461

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 (66) hide show
  1. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
  6. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
  7. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
  10. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
  11. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  12. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  13. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +1 -1
  14. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
  15. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
  16. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
  17. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
  18. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  19. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
  20. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
  21. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
  22. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  23. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
  24. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
  25. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  26. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  27. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  28. package/SVF-doxygen/html/html/functions_a.html +5 -8
  29. package/SVF-doxygen/html/html/functions_c.html +9 -5
  30. package/SVF-doxygen/html/html/functions_f.html +6 -4
  31. package/SVF-doxygen/html/html/functions_func.html +10 -13
  32. package/SVF-doxygen/html/html/functions_func_g.html +5 -6
  33. package/SVF-doxygen/html/html/functions_g.html +5 -6
  34. package/SVF-doxygen/html/html/functions_l.html +3 -3
  35. package/SVF-doxygen/html/html/functions_m.html +1 -4
  36. package/SVF-doxygen/html/html/functions_n.html +3 -3
  37. package/SVF-doxygen/html/html/functions_o.html +14 -14
  38. package/SVF-doxygen/html/html/functions_p.html +11 -11
  39. package/SVF-doxygen/html/html/functions_r.html +7 -5
  40. package/SVF-doxygen/html/html/functions_s.html +6 -6
  41. package/SVF-doxygen/html/html/functions_t.html +6 -4
  42. package/SVF-doxygen/html/html/functions_v.html +3 -3
  43. package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
  44. package/SVF-doxygen/html/html/search/all_1.js +0 -1
  45. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  46. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  47. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  48. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  49. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  50. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  51. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  52. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  53. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  54. package/SVF-doxygen/html/html/search/all_d.js +0 -1
  55. package/SVF-doxygen/html/html/search/all_e.js +6 -6
  56. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  57. package/SVF-doxygen/html/html/search/functions_0.js +0 -1
  58. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  59. package/SVF-doxygen/html/html/search/functions_6.js +1 -1
  60. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  61. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  62. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  63. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  64. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  65. package/include/Graphs/SVFGEdge.h +0 -12
  66. package/package.json +1 -1
@@ -1303,16 +1303,16 @@ Additional Inherited Members</h2></td></tr>
1303
1303
  <p>Add new <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> edge from src to dst. The edge's kind depends on preEdge and succEdge. Self-cycle edges may be added here. </p>
1304
1304
 
1305
1305
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00525">525</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
1306
- <div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;{</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;IndirectSVFGEdge&gt;(preEdge) &amp;&amp; SVFUtil::isa&lt;IndirectSVFGEdge&gt;(succEdge)</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; &amp;&amp; <span class="stringliteral">&quot;either pre or succ edge is not indirect SVFG edge&quot;</span>);</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_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* preIndEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(preEdge);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* succIndEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(succEdge);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> intersection = preIndEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; intersection &amp;= succIndEdge-&gt;getPointsTo();</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; <span class="keywordflow">if</span> (intersection.empty())</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1SVFGOPT.html#a6d5cdb3b78e4ed482b0da4c64323b463">bothInterEdges</a>(preEdge, succEdge) == <span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;both edges are inter edges&quot;</span>);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* preCallEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(preEdge))</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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(srcId, dstId, preCallEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; }</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* succCallEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(succEdge))</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(srcId, dstId, succCallEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; }</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* preRetEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(preEdge))</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; {</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(srcId, dstId, preRetEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; }</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* succRetEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(succEdge))</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(srcId, dstId, succRetEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; }</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(srcId, dstId, intersection);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; }</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00177">SVFGEdge.h:177</a></div></div>
1306
+ <div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;{</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;IndirectSVFGEdge&gt;(preEdge) &amp;&amp; SVFUtil::isa&lt;IndirectSVFGEdge&gt;(succEdge)</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; &amp;&amp; <span class="stringliteral">&quot;either pre or succ edge is not indirect SVFG edge&quot;</span>);</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_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* preIndEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(preEdge);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* succIndEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(succEdge);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> intersection = preIndEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; intersection &amp;= succIndEdge-&gt;getPointsTo();</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; <span class="keywordflow">if</span> (intersection.empty())</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1SVFGOPT.html#a6d5cdb3b78e4ed482b0da4c64323b463">bothInterEdges</a>(preEdge, succEdge) == <span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;both edges are inter edges&quot;</span>);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* preCallEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(preEdge))</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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(srcId, dstId, preCallEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; }</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* succCallEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(succEdge))</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(srcId, dstId, succCallEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; }</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* preRetEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(preEdge))</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; {</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(srcId, dstId, preRetEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; }</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* succRetEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(succEdge))</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(srcId, dstId, succRetEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; }</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(srcId, dstId, intersection);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; }</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00165">SVFGEdge.h:165</a></div></div>
1307
1307
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1308
- <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00138">SVFGEdge.h:138</a></div></div>
1308
+ <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00126">SVFGEdge.h:126</a></div></div>
1309
1309
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a11dc712bf74ba61160fed7a5c3efaeee"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">SVF::SVFGOPT::addCallIndirectSVFGEdge</a></div><div class="ttdeci">SVFGEdge * addCallIndirectSVFGEdge(NodeID srcId, NodeID dstId, CallSiteID csid, const NodeBS &amp;cpts)</div><div class="ttdoc">Add inter-procedural value flow edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00068">SVFGOPT.cpp:68</a></div></div>
1310
1310
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
1311
1311
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_afa99da68ef756d968d39a85f0fac3649"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">SVF::SVFGOPT::addRetIndirectSVFGEdge</a></div><div class="ttdeci">SVFGEdge * addRetIndirectSVFGEdge(NodeID srcId, NodeID dstId, CallSiteID csid, const NodeBS &amp;cpts)</div><div class="ttdoc">Add indirect ret edge from src to dst with one call site ID. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00079">SVFGOPT.cpp:79</a></div></div>
1312
1312
  <div class="ttc" id="classSVF_1_1SVFG_html_ad03f0064d3a1ff397b35a606304a9c80"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">SVF::SVFG::addIntraIndirectVFEdge</a></div><div class="ttdeci">SVFGEdge * addIntraIndirectVFEdge(NodeID srcId, NodeID dstId, const NodeBS &amp;cpts)</div><div class="ttdoc">Add indirect def-use edges of a memory region between two statements,. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00456">SVFG.cpp:456</a></div></div>
1313
1313
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a6d5cdb3b78e4ed482b0da4c64323b463"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a6d5cdb3b78e4ed482b0da4c64323b463">SVF::SVFGOPT::bothInterEdges</a></div><div class="ttdeci">bool bothInterEdges(const SVFGEdge *edge1, const SVFGEdge *edge2) const</div><div class="ttdoc">Return TRUE if both edges are indirect call/ret edges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00231">SVFGOPT.h:231</a></div></div>
1314
1314
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
1315
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
1315
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
1316
1316
  </div><!-- fragment -->
1317
1317
  </div>
1318
1318
  </div>
@@ -2432,11 +2432,11 @@ Additional Inherited Members</h2></td></tr>
2432
2432
  <p>Record def sites of actual-in/formal-out and connect from those def-sites to formal-in/actual-out directly if they exist. </p>
2433
2433
 
2434
2434
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00205">205</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
2435
- <div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().size() == 1 &amp;&amp; <span class="stringliteral">&quot;actual-in/formal-out can only have one incoming edge as its def size&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* def = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> inPointsTo;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> it = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>();</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> eit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>();</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* inEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*it);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; inPointsTo = inEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; def = inEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a490695ab536cd455c531fbdc57499cac">setActualINDef</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), def-&gt;getId());</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a3e2b811dd939c93bcf9fb94e91d553b1">setFormalOUTDef</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), def-&gt;getId());</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; it = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* outEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*it);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> intersection = inPointsTo;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; intersection &amp;= outEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">if</span> (intersection.empty())</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = outEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(outEdge))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(def-&gt;getId(), dstNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), callEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(outEdge))</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(def-&gt;getId(), dstNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), retEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;expecting an inter-procedural SVFG edge&quot;</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">removeAllEdges</a>(node);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00177">SVFGEdge.h:177</a></div></div>
2435
+ <div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().size() == 1 &amp;&amp; <span class="stringliteral">&quot;actual-in/formal-out can only have one incoming edge as its def size&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* def = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> inPointsTo;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> it = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>();</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> eit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>();</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* inEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*it);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; inPointsTo = inEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; def = inEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a490695ab536cd455c531fbdc57499cac">setActualINDef</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), def-&gt;getId());</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a3e2b811dd939c93bcf9fb94e91d553b1">setFormalOUTDef</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), def-&gt;getId());</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; it = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* outEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*it);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> intersection = inPointsTo;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; intersection &amp;= outEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">if</span> (intersection.empty())</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = outEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(outEdge))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(def-&gt;getId(), dstNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), callEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(outEdge))</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(def-&gt;getId(), dstNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), retEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;expecting an inter-procedural SVFG edge&quot;</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">removeAllEdges</a>(node);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00165">SVFGEdge.h:165</a></div></div>
2436
2436
  <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#l00186">GenericGraph.h:186</a></div></div>
2437
2437
  <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
2438
2438
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
2439
- <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00138">SVFGEdge.h:138</a></div></div>
2439
+ <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00126">SVFGEdge.h:126</a></div></div>
2440
2440
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a11dc712bf74ba61160fed7a5c3efaeee"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">SVF::SVFGOPT::addCallIndirectSVFGEdge</a></div><div class="ttdeci">SVFGEdge * addCallIndirectSVFGEdge(NodeID srcId, NodeID dstId, CallSiteID csid, const NodeBS &amp;cpts)</div><div class="ttdoc">Add inter-procedural value flow edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00068">SVFGOPT.cpp:68</a></div></div>
2441
2441
  <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
2442
2442
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
@@ -2451,7 +2451,7 @@ Additional Inherited Members</h2></td></tr>
2451
2451
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_afa99da68ef756d968d39a85f0fac3649"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">SVF::SVFGOPT::addRetIndirectSVFGEdge</a></div><div class="ttdeci">SVFGEdge * addRetIndirectSVFGEdge(NodeID srcId, NodeID dstId, CallSiteID csid, const NodeBS &amp;cpts)</div><div class="ttdoc">Add indirect ret edge from src to dst with one call site ID. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00079">SVFGOPT.cpp:79</a></div></div>
2452
2452
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
2453
2453
  <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#l00210">GenericGraph.h:210</a></div></div>
2454
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
2454
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
2455
2455
  <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>
2456
2456
  </div><!-- fragment -->
2457
2457
  </div>
@@ -2483,12 +2483,12 @@ Additional Inherited Members</h2></td></tr>
2483
2483
  <p>Connect actual-out/formal-in's predecessors to their successors directly. </p>
2484
2484
 
2485
2485
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00251">251</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
2486
- <div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;{</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inIt = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>();</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">for</span> (; inIt != inEit; ++inIt)</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* inEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*inIt);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId = inEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> outIt = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> outEit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">for</span> (; outIt != outEit; ++outIt)</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* outEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*outIt);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> intersection = inEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; intersection &amp;= outEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (intersection.empty())</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = outEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(inEdge))</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(srcId, dstId, retEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; }</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(inEdge))</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(srcId, dstId, callEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(srcId, dstId, intersection);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">removeAllEdges</a>(node);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00177">SVFGEdge.h:177</a></div></div>
2486
+ <div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;{</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inIt = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>();</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">for</span> (; inIt != inEit; ++inIt)</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* inEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*inIt);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId = inEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> outIt = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> outEit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">for</span> (; outIt != outEit; ++outIt)</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* outEdge = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(*outIt);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> intersection = inEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; intersection &amp;= outEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (intersection.empty())</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = outEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(inEdge))</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#afa99da68ef756d968d39a85f0fac3649">addRetIndirectSVFGEdge</a>(srcId, dstId, retEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; }</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(inEdge))</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">addCallIndirectSVFGEdge</a>(srcId, dstId, callEdge-&gt;getCallSiteId(), intersection);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(srcId, dstId, intersection);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">removeAllEdges</a>(node);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00165">SVFGEdge.h:165</a></div></div>
2487
2487
  <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#l00077">GenericGraph.h:77</a></div></div>
2488
2488
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
2489
2489
  <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
2490
2490
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
2491
- <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00138">SVFGEdge.h:138</a></div></div>
2491
+ <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00126">SVFGEdge.h:126</a></div></div>
2492
2492
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a11dc712bf74ba61160fed7a5c3efaeee"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a11dc712bf74ba61160fed7a5c3efaeee">SVF::SVFGOPT::addCallIndirectSVFGEdge</a></div><div class="ttdeci">SVFGEdge * addCallIndirectSVFGEdge(NodeID srcId, NodeID dstId, CallSiteID csid, const NodeBS &amp;cpts)</div><div class="ttdoc">Add inter-procedural value flow edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00068">SVFGOPT.cpp:68</a></div></div>
2493
2493
  <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
2494
2494
  <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00218">GenericGraph.h:218</a></div></div>
@@ -2499,7 +2499,7 @@ Additional Inherited Members</h2></td></tr>
2499
2499
  <div class="ttc" id="classSVF_1_1SVFG_html_ad03f0064d3a1ff397b35a606304a9c80"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">SVF::SVFG::addIntraIndirectVFEdge</a></div><div class="ttdeci">SVFGEdge * addIntraIndirectVFEdge(NodeID srcId, NodeID dstId, const NodeBS &amp;cpts)</div><div class="ttdoc">Add indirect def-use edges of a memory region between two statements,. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00456">SVFG.cpp:456</a></div></div>
2500
2500
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
2501
2501
  <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#l00210">GenericGraph.h:210</a></div></div>
2502
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
2502
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
2503
2503
  </div><!-- fragment -->
2504
2504
  </div>
2505
2505
  </div>
@@ -69,25 +69,23 @@ $(function() {
69
69
 
70
70
  <p>This is the complete list of members for <a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a>, including all inherited members.</p>
71
71
  <table class="directory">
72
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a7ac57ccfe31b6cd6bbc6f15ed22a6531">addMrVer</a>(const MRVer *mr)</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
73
- <tr><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(const NodeBS &amp;c)</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
74
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">CallDirVF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td><td class="entry"></td></tr>
75
- <tr><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">CallIndVF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td><td class="entry"></td></tr>
76
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a4f7b0802389ce183635d5be2a40128bc">classof</a>(const ThreadMHPIndSVFGEdge *)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
77
- <tr><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a0db2e69a5182d1c30b44e87711558bd9">classof</a>(const IndirectSVFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
78
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a564a1648b45d3563d69401a7f8e31906">classof</a>(const VFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
79
- <tr><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#acb948e40582b6cc8b4360f2205b5c926">classof</a>(const GenericVFGEdgeTy *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
80
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a93dec4c27088242a4b1b6aa82cea46b9">EdgeKindMask</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
81
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#af1c2fd4b5ef1d7b7605572bf2489c298">EdgeKindMaskBits</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
82
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
83
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
84
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
85
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
86
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
87
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
88
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
89
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a20d8b844fc4bb0bb776d290b4e477fc5">getEdgeKindWithoutMask</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
90
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#ac08d8b88c44881d87c1299d18c943ace">getMRVer</a>()</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
72
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(const NodeBS &amp;c)</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
73
+ <tr><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">CallDirVF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td><td class="entry"></td></tr>
74
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">CallIndVF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td><td class="entry"></td></tr>
75
+ <tr><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a4f7b0802389ce183635d5be2a40128bc">classof</a>(const ThreadMHPIndSVFGEdge *)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
76
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a0db2e69a5182d1c30b44e87711558bd9">classof</a>(const IndirectSVFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
77
+ <tr><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a564a1648b45d3563d69401a7f8e31906">classof</a>(const VFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
78
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#acb948e40582b6cc8b4360f2205b5c926">classof</a>(const GenericVFGEdgeTy *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
79
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a93dec4c27088242a4b1b6aa82cea46b9">EdgeKindMask</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
80
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#af1c2fd4b5ef1d7b7605572bf2489c298">EdgeKindMaskBits</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
81
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
82
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
83
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
84
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
85
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
86
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
87
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
88
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a20d8b844fc4bb0bb776d290b4e477fc5">getEdgeKindWithoutMask</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
91
89
  <tr><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
92
90
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
93
91
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -98,10 +98,6 @@ Public Member Functions</h2></td></tr>
98
98
  <tr class="separator:a50ac2e33c6a4a41291c0a476ed07de53 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
99
  <tr class="memitem:a30aca718d25924f1babdf348bb0ace71 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a> () const</td></tr>
100
100
  <tr class="separator:a30aca718d25924f1babdf348bb0ace71 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
101
- <tr class="memitem:ac08d8b88c44881d87c1299d18c943ace inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a0df62e44e394d4b4cc30b5012308eb11">MRVerSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#ac08d8b88c44881d87c1299d18c943ace">getMRVer</a> ()</td></tr>
102
- <tr class="separator:ac08d8b88c44881d87c1299d18c943ace inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
- <tr class="memitem:a7ac57ccfe31b6cd6bbc6f15ed22a6531 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a7ac57ccfe31b6cd6bbc6f15ed22a6531">addMrVer</a> (const <a class="el" href="classSVF_1_1MRVer.html">MRVer</a> *mr)</td></tr>
104
- <tr class="separator:a7ac57ccfe31b6cd6bbc6f15ed22a6531 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
101
  <tr class="inherit_header pub_methods_classSVF_1_1VFGEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1VFGEdge')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td></tr>
106
102
  <tr class="memitem:a9a29abd99da3465e07bd62470bd9bb56 inherit pub_methods_classSVF_1_1VFGEdge"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFGEdge.html#a9a29abd99da3465e07bd62470bd9bb56">VFGEdge</a> (<a class="el" href="classSVF_1_1VFGNode.html">VFGNode</a> *s, <a class="el" href="classSVF_1_1VFGNode.html">VFGNode</a> *d, <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> k)</td></tr>
107
103
  <tr class="memdesc:a9a29abd99da3465e07bd62470bd9bb56 inherit pub_methods_classSVF_1_1VFGEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1VFGEdge.html#a9a29abd99da3465e07bd62470bd9bb56">More...</a><br /></td></tr>
@@ -222,7 +218,7 @@ Additional Inherited Members</h2></td></tr>
222
218
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
223
219
  <div class="textblock"><p><a class="el" href="classSVF_1_1MHP.html">MHP</a> <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> edge representing indirect value-flows between two memory access may-happen-in-parallel in multithreaded program </p>
224
220
 
225
- <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00218">218</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
221
+ <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00206">206</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
226
222
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
227
223
  <a id="ac5055bd4ff42476915b5d02ba4f1986b"></a>
228
224
  <h2 class="memtitle"><span class="permalink"><a href="#ac5055bd4ff42476915b5d02ba4f1986b">&#9670;&nbsp;</a></span>ThreadMHPIndSVFGEdge()</h2>
@@ -258,9 +254,9 @@ Additional Inherited Members</h2></td></tr>
258
254
  </table>
259
255
  </div><div class="memdoc">
260
256
 
261
- <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00222">222</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
262
- <div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; : <a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">IndirectSVFGEdge</a>(s,d,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>)</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
263
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a6d40ccc9b99aec6515c2ef1df5a7b18f"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">SVF::IndirectSVFGEdge::IndirectSVFGEdge</a></div><div class="ttdeci">IndirectSVFGEdge(VFGNode *s, VFGNode *d, GEdgeFlag k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00052">SVFGEdge.h:52</a></div></div>
257
+ <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00210">210</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
258
+ <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; : <a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">IndirectSVFGEdge</a>(s,d,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>)</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
259
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a6d40ccc9b99aec6515c2ef1df5a7b18f"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">SVF::IndirectSVFGEdge::IndirectSVFGEdge</a></div><div class="ttdeci">IndirectSVFGEdge(VFGNode *s, VFGNode *d, GEdgeFlag k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00051">SVFGEdge.h:51</a></div></div>
264
260
  </div><!-- fragment -->
265
261
  </div>
266
262
  </div>
@@ -289,8 +285,8 @@ Additional Inherited Members</h2></td></tr>
289
285
  </table>
290
286
  </div><div class="memdoc">
291
287
 
292
- <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00226">226</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
293
- <div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div></div><!-- fragment -->
288
+ <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00214">214</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
289
+ <div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div></div><!-- fragment -->
294
290
  </div>
295
291
  </div>
296
292
  <a id="a0db2e69a5182d1c30b44e87711558bd9"></a>
@@ -317,8 +313,8 @@ Additional Inherited Members</h2></td></tr>
317
313
  </table>
318
314
  </div><div class="memdoc">
319
315
 
320
- <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00230">230</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
321
- <div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
316
+ <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00218">218</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
317
+ <div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
322
318
  </div><!-- fragment -->
323
319
  </div>
324
320
  </div>
@@ -346,8 +342,8 @@ Additional Inherited Members</h2></td></tr>
346
342
  </table>
347
343
  </div><div class="memdoc">
348
344
 
349
- <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00234">234</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
350
- <div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
345
+ <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00222">222</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
346
+ <div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
351
347
  </div><!-- fragment -->
352
348
  </div>
353
349
  </div>
@@ -375,8 +371,8 @@ Additional Inherited Members</h2></td></tr>
375
371
  </table>
376
372
  </div><div class="memdoc">
377
373
 
378
- <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00238">238</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
379
- <div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
374
+ <p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00226">226</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
375
+ <div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">TheadMHPIndirectVF</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
380
376
  </div><!-- fragment -->
381
377
  </div>
382
378
  </div>
@@ -729,7 +729,7 @@ Additional Inherited Members</h2></td></tr>
729
729
  </table>
730
730
  </div><div class="memdoc">
731
731
 
732
- <p>Reimplemented in <a class="el" href="classSVF_1_1RetDirSVFGEdge.html#a6282c2619d843cf90575886a0ef81edf">SVF::RetDirSVFGEdge</a>, <a class="el" href="classSVF_1_1CallDirSVFGEdge.html#af07decd05375f56baa4a1c4fe70bc3f1">SVF::CallDirSVFGEdge</a>, <a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a09b7fef74030eecc6fa7b83a15c12521">SVF::ThreadMHPIndSVFGEdge</a>, <a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a58502c0881d2d8dccf9dd09385e08dc5">SVF::RetIndSVFGEdge</a>, <a class="el" href="classSVF_1_1IntraDirSVFGEdge.html#a1c8dc17717409aa42749181aafd155aa">SVF::IntraDirSVFGEdge</a>, <a class="el" href="classSVF_1_1CallIndSVFGEdge.html#a06cc5ba2c5be41bf38e4fad0c031138e">SVF::CallIndSVFGEdge</a>, <a class="el" href="classSVF_1_1DirectSVFGEdge.html#aa8d70214eb0242c3f2baaa506c12852c">SVF::DirectSVFGEdge</a>, <a class="el" href="classSVF_1_1IntraIndSVFGEdge.html#ae148fda488b6505a6cc4103aae30e291">SVF::IntraIndSVFGEdge</a>, and <a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a33e6221e5005fda68903f4cdadf58ce8">SVF::IndirectSVFGEdge</a>.</p>
732
+ <p>Reimplemented in <a class="el" href="classSVF_1_1RetDirSVFGEdge.html#a6282c2619d843cf90575886a0ef81edf">SVF::RetDirSVFGEdge</a>, <a class="el" href="classSVF_1_1CallDirSVFGEdge.html#af07decd05375f56baa4a1c4fe70bc3f1">SVF::CallDirSVFGEdge</a>, <a class="el" href="classSVF_1_1ThreadMHPIndSVFGEdge.html#a09b7fef74030eecc6fa7b83a15c12521">SVF::ThreadMHPIndSVFGEdge</a>, <a class="el" href="classSVF_1_1IntraDirSVFGEdge.html#a1c8dc17717409aa42749181aafd155aa">SVF::IntraDirSVFGEdge</a>, <a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a58502c0881d2d8dccf9dd09385e08dc5">SVF::RetIndSVFGEdge</a>, <a class="el" href="classSVF_1_1DirectSVFGEdge.html#aa8d70214eb0242c3f2baaa506c12852c">SVF::DirectSVFGEdge</a>, <a class="el" href="classSVF_1_1CallIndSVFGEdge.html#a06cc5ba2c5be41bf38e4fad0c031138e">SVF::CallIndSVFGEdge</a>, <a class="el" href="classSVF_1_1IntraIndSVFGEdge.html#ae148fda488b6505a6cc4103aae30e291">SVF::IntraIndSVFGEdge</a>, and <a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a33e6221e5005fda68903f4cdadf58ce8">SVF::IndirectSVFGEdge</a>.</p>
733
733
 
734
734
  <p class="definition">Definition at line <a class="el" href="VFG_8cpp_source.html#l00379">379</a> of file <a class="el" href="VFG_8cpp_source.html">VFG.cpp</a>.</p>
735
735
  <div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; std::string str;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;VFGEdge: [&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() &lt;&lt; <span class="stringliteral">&quot;&lt;--&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;}</div><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#l00077">GenericGraph.h:77</a></div></div>
@@ -2057,7 +2057,7 @@ Additional Inherited Members</h2></td></tr>
2057
2057
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a5cfee013a1a5821ef0c449842dd8690d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">SVF::FlowSensitive::ander</a></div><div class="ttdeci">AndersenWaveDiff * ander</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00284">FlowSensitive.h:284</a></div></div>
2058
2058
  <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#l00174">WorkList.h:174</a></div></div>
2059
2059
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a984a4f929a18f97bfefac0102088a7fd"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a984a4f929a18f97bfefac0102088a7fd">SVF::VersionedFlowSensitive::isLoad</a></div><div class="ttdeci">virtual bool isLoad(const NodeID l) const</div><div class="ttdoc">Returns true if l is a load node. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00435">VersionedFlowSensitive.cpp:435</a></div></div>
2060
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
2060
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
2061
2061
  <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>
2062
2062
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
2063
2063
  </div><!-- fragment -->
@@ -2720,7 +2720,7 @@ Additional Inherited Members</h2></td></tr>
2720
2720
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
2721
2721
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
2722
2722
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_ae83c62a01196991d116ef5c36cb51e31"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ae83c62a01196991d116ef5c36cb51e31">SVF::VersionedFlowSensitive::getReliantVersions</a></div><div class="ttdeci">std::vector&lt; Version &gt; &amp; getReliantVersions(const NodeID o, const Version v)</div><div class="ttdoc">Returns the versions of o which rely on o:v. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00807">VersionedFlowSensitive.cpp:807</a></div></div>
2723
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
2723
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
2724
2724
  <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>
2725
2725
  </div><!-- fragment -->
2726
2726
  </div>
@@ -277,7 +277,7 @@ Static Private Member Functions</h2></td></tr>
277
277
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
278
278
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
279
279
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
280
- <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
280
+ <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
281
281
  <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>
282
282
  </div><!-- fragment -->
283
283
  </div>