svf-tools 1.0.510 → 1.0.511

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 (45) hide show
  1. package/.gitignore +1 -0
  2. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +4 -13
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +34 -35
  7. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  8. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -3
  9. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +29 -29
  10. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +19 -19
  11. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +28 -28
  12. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +74 -75
  13. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +14 -138
  14. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
  15. package/SVF-doxygen/html/html/functions_func_h.html +3 -4
  16. package/SVF-doxygen/html/html/functions_func_p.html +1 -5
  17. package/SVF-doxygen/html/html/functions_h.html +4 -5
  18. package/SVF-doxygen/html/html/functions_o.html +3 -3
  19. package/SVF-doxygen/html/html/functions_p.html +11 -19
  20. package/SVF-doxygen/html/html/functions_r.html +9 -5
  21. package/SVF-doxygen/html/html/functions_s.html +18 -16
  22. package/SVF-doxygen/html/html/functions_t.html +5 -7
  23. package/SVF-doxygen/html/html/functions_v.html +3 -3
  24. package/SVF-doxygen/html/html/functions_w.html +11 -11
  25. package/SVF-doxygen/html/html/search/all_10.js +6 -7
  26. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  27. package/SVF-doxygen/html/html/search/all_12.js +9 -9
  28. package/SVF-doxygen/html/html/search/all_13.js +3 -3
  29. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  30. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  31. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  32. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  33. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  34. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  35. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  36. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  37. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  38. package/SVF-doxygen/html/html/search/functions_f.js +2 -3
  39. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  40. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  41. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  42. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  43. package/include/WPA/Andersen.h +0 -8
  44. package/lib/WPA/AndersenWaveDiff.cpp +0 -40
  45. package/package.json +1 -1
@@ -101,10 +101,10 @@ $(function() {
101
101
  <div class="ttc" id="classSVF_1_1Options_html_a1211da4c36f1fcc65235891f31d87038"><div class="ttname"><a href="classSVF_1_1Options.html#a1211da4c36f1fcc65235891f31d87038">SVF::Options::PASelected</a></div><div class="ttdeci">static llvm::cl::bits&lt; PointerAnalysis::PTATY &gt; PASelected</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00244">Options.h:244</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00046">SVFIRBuilder.h:46</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00342">GenericGraph.h:342</a></div></div>
104
- <div class="ttc" id="classSVF_1_1AndersenHCD_html"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html">SVF::AndersenHCD</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00548">Andersen.h:548</a></div></div>
104
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html">SVF::AndersenHCD</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00540">Andersen.h:540</a></div></div>
105
105
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1Options_html_a30cbb0b3633c769c92f4625680ec17e3"><div class="ttname"><a href="classSVF_1_1Options.html#a30cbb0b3633c769c92f4625680ec17e3">SVF::Options::AnderSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; AnderSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
107
- <div class="ttc" id="classSVF_1_1AndersenLCD_html"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html">SVF::AndersenLCD</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00469">Andersen.h:469</a></div></div>
107
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html">SVF::AndersenLCD</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00461">Andersen.h:461</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1AndersenSCD_html"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html">SVF::AndersenSCD</a></div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00044">AndersenSFR.h:44</a></div></div>
109
109
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a46f5e74d5f4b0a2d134e68d262079c3f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a46f5e74d5f4b0a2d134e68d262079c3f">SVF::PointerAnalysis::AndersenHCD_WPA</a></div><div class="ttdoc">Hybird cycle detection andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00068">PointerAnalysis.h:68</a></div></div>
110
110
  <div class="ttc" id="classSVF_1_1Options_html_a1b1d1ad6b3a6c48a9fa07161b582c7fe"><div class="ttname"><a href="classSVF_1_1Options.html#a1b1d1ad6b3a6c48a9fa07161b582c7fe">SVF::Options::PrintAliases</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintAliases</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
@@ -117,7 +117,7 @@ $(function() {
117
117
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
118
118
  <div class="ttc" id="classSVF_1_1SVFVar_html_a53439a493963d16e5a1b5ed36ab6d33e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">SVF::SVFVar::getFunction</a></div><div class="ttdeci">virtual const Function * getFunction() const</div><div class="ttdoc">Return the function that this SVFVar resides in. Return nullptr if it is a global or constantexpr nod...</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00127">SVFVariables.h:127</a></div></div>
119
119
  <div class="ttc" id="classSVF_1_1IRGraph_html_aceb17dfbe137658625e16291127267d1"><div class="ttname"><a href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">SVF::IRGraph::hasValueNode</a></div><div class="ttdeci">bool hasValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00128">IRGraph.h:128</a></div></div>
120
- <div class="ttc" id="classSVF_1_1AndersenHLCD_html"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html">SVF::AndersenHLCD</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00624">Andersen.h:624</a></div></div>
120
+ <div class="ttc" id="classSVF_1_1AndersenHLCD_html"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html">SVF::AndersenHLCD</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00616">Andersen.h:616</a></div></div>
121
121
  <div class="ttc" id="classSVF_1_1WPAPass_html_a2674527c92cdef223e655d449f0811d4"><div class="ttname"><a href="classSVF_1_1WPAPass.html#a2674527c92cdef223e655d449f0811d4">SVF::WPAPass::ID</a></div><div class="ttdeci">static char ID</div><div class="ttdoc">Pass ID. </div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00060">WPAPass.h:60</a></div></div>
122
122
  <div class="ttc" id="classSVF_1_1WPAPass_html_a4505a1882956feda3cf83c788149394dabb45a604558e2ebff460adb77b4a5d7c"><div class="ttname"><a href="classSVF_1_1WPAPass.html#a4505a1882956feda3cf83c788149394dabb45a604558e2ebff460adb77b4a5d7c">SVF::WPAPass::Veto</a></div><div class="ttdoc">return NoAlias if any pta says no alias </div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00065">WPAPass.h:65</a></div></div>
123
123
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdoc">Diff wave propagation andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00072">PointerAnalysis.h:72</a></div></div>
@@ -1611,7 +1611,7 @@ Additional Inherited Members</h2></td></tr>
1611
1611
  </div><div class="memdoc">
1612
1612
  <p>Process copy and gep edges </p>
1613
1613
 
1614
- <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenHLCD.html#a9582cde6cbb510f3fb624109f8ea8f63">SVF::AndersenHLCD</a>, <a class="el" href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">SVF::AndersenLCD</a>, <a class="el" href="classSVF_1_1AndersenWaveDiff.html#ad5c85a28967cc3f62e663dc00a8aa8c9">SVF::AndersenWaveDiff</a>, and <a class="el" href="classSVF_1_1AndersenSCD.html#aa0a496376f7bea2c417ef83c51d19a61">SVF::AndersenSCD</a>.</p>
1614
+ <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenHLCD.html#a9582cde6cbb510f3fb624109f8ea8f63">SVF::AndersenHLCD</a>, <a class="el" href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">SVF::AndersenLCD</a>, and <a class="el" href="classSVF_1_1AndersenSCD.html#aa0a496376f7bea2c417ef83c51d19a61">SVF::AndersenSCD</a>.</p>
1615
1615
 
1616
1616
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00246">246</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
1617
1617
  <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;{</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">computeDiffPts</a>(nodeId);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">getDiffPts</a>(nodeId).empty())</div><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; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge : node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#ab77173aa8af6155b569f20ff0cdcec72">getCopyOutEdges</a>())</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2">processCopy</a>(nodeId, edge);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge : node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a19d3d2c996ba821227a836717e5443c8">getGepOutEdges</a>())</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="keywordflow">if</span> (<a class="code" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a>* gepEdge = SVFUtil::dyn_cast&lt;GepCGEdge&gt;(edge))</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">processGep</a>(nodeId, gepEdge);</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; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;}</div><div class="ttc" id="classSVF_1_1Andersen_html_a106691684d8e7a69157d423393d83d66"><div class="ttname"><a href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">SVF::Andersen::getDiffPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getDiffPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00276">Andersen.h:276</a></div></div>
@@ -2169,8 +2169,6 @@ Additional Inherited Members</h2></td></tr>
2169
2169
  </div><div class="memdoc">
2170
2170
  <p>Process copy edges src &ndash;copy&ndash;&gt; dst, union pts(dst) with pts(src) </p>
2171
2171
 
2172
- <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#a3a5b952c0c2fe2be1b9a6fcfeeba2c37">SVF::AndersenWaveDiff</a>.</p>
2173
-
2174
2172
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00363">363</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
2175
2173
  <div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;{</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a04acd871bd1b98cd9e83e395334ac130">numOfProcessedCopy</a>++;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; assert((SVFUtil::isa&lt;CopyCGEdge&gt;(edge)) &amp;&amp; <span class="stringliteral">&quot;not copy/call/ret ??&quot;</span>);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dst = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; srcPts = <a class="code" href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">getDiffPts</a>(node);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordtype">bool</span> changed = <a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(dst, srcPts);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">if</span> (changed)</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(dst);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00162">WPASolver.h:162</a></div></div>
2176
2174
  <div class="ttc" id="classSVF_1_1Andersen_html_a106691684d8e7a69157d423393d83d66"><div class="ttname"><a href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">SVF::Andersen::getDiffPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getDiffPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00276">Andersen.h:276</a></div></div>
@@ -812,7 +812,7 @@ Additional Inherited Members</h2></td></tr>
812
812
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
813
813
  <div class="textblock"><p>Hybrid Cycle Detection Based <a class="el" href="classSVF_1_1Andersen.html">Andersen</a> Analysis </p>
814
814
 
815
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00548">548</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
815
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00540">540</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
816
816
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
817
817
  <a id="a33cb18543abbcd434861c5da7e588356"></a>
818
818
  <h2 class="memtitle"><span class="permalink"><a href="#a33cb18543abbcd434861c5da7e588356">&#9670;&nbsp;</a></span>OSCC</h2>
@@ -826,7 +826,7 @@ Additional Inherited Members</h2></td></tr>
826
826
  </table>
827
827
  </div><div class="memdoc">
828
828
 
829
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00552">552</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
829
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00544">544</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
830
830
 
831
831
  </div>
832
832
  </div>
@@ -865,8 +865,8 @@ Additional Inherited Members</h2></td></tr>
865
865
  </table>
866
866
  </div><div class="memdoc">
867
867
 
868
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00560">560</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
869
- <div class="fragment"><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; <a class="code" href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">Andersen</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; {</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00557">Andersen.h:557</a></div></div>
868
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00552">552</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
869
+ <div class="fragment"><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; <a class="code" href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">Andersen</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00549">Andersen.h:549</a></div></div>
870
870
  <div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
871
871
  <div class="ttc" id="classSVF_1_1Andersen_html_a680dc709c0263fc1a13aa5c81d95fc72"><div class="ttname"><a href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">SVF::Andersen::Andersen</a></div><div class="ttdeci">Andersen(SVFIR *_pag, PTATY type=Andersen_WPA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00158">Andersen.h:158</a></div></div>
872
872
  </div><!-- fragment -->
@@ -899,10 +899,10 @@ Additional Inherited Members</h2></td></tr>
899
899
 
900
900
  <p>Create an singleton instance directly instead of invoking llvm pass manager. </p>
901
901
 
902
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00566">566</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
903
- <div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; {</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">AndersenHCD</a>(_pag);</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_a2356a7f8215725d2ee035630b1487b05"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">SVF::AndersenHCD::hcdAndersen</a></div><div class="ttdeci">static AndersenHCD * hcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00555">Andersen.h:555</a></div></div>
902
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00558">558</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
903
+ <div class="fragment"><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> == <span class="keyword">nullptr</span>)</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; <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">AndersenHCD</a>(_pag);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; }</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_a2356a7f8215725d2ee035630b1487b05"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">SVF::AndersenHCD::hcdAndersen</a></div><div class="ttdeci">static AndersenHCD * hcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00547">Andersen.h:547</a></div></div>
904
904
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00102">Andersen.cpp:102</a></div></div>
905
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_ac7629cede14407d42ed5b5ec7e607b0e"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">SVF::AndersenHCD::AndersenHCD</a></div><div class="ttdeci">AndersenHCD(SVFIR *_pag, PTATY type=AndersenHCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00560">Andersen.h:560</a></div></div>
905
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_ac7629cede14407d42ed5b5ec7e607b0e"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">SVF::AndersenHCD::AndersenHCD</a></div><div class="ttdeci">AndersenHCD(SVFIR *_pag, PTATY type=AndersenHCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00552">Andersen.h:552</a></div></div>
906
906
  </div><!-- fragment -->
907
907
  </div>
908
908
  </div>
@@ -930,8 +930,8 @@ Additional Inherited Members</h2></td></tr>
930
930
  </table>
931
931
  </div><div class="memdoc">
932
932
 
933
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00593">593</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
934
- <div class="fragment"><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; {</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#a3f390900ee8761055c6d59107bc0ad27">getOCGRep</a>(nodeId);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00557">Andersen.h:557</a></div></div>
933
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00585">585</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
934
+ <div class="fragment"><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; {</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#a3f390900ee8761055c6d59107bc0ad27">getOCGRep</a>(nodeId);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00549">Andersen.h:549</a></div></div>
935
935
  <div class="ttc" id="classSVF_1_1OfflineConsG_html_a3f390900ee8761055c6d59107bc0ad27"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a3f390900ee8761055c6d59107bc0ad27">SVF::OfflineConsG::getOCGRep</a></div><div class="ttdeci">NodeID getOCGRep(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00070">OfflineConsG.h:70</a></div></div>
936
936
  </div><!-- fragment -->
937
937
  </div>
@@ -960,9 +960,9 @@ Additional Inherited Members</h2></td></tr>
960
960
  </table>
961
961
  </div><div class="memdoc">
962
962
 
963
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00589">589</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
964
- <div class="fragment"><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#a0a03ef009894059fa2591ea5f9ef87d9">hasOCGRep</a>(nodeId);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="ttc" id="classSVF_1_1OfflineConsG_html_a0a03ef009894059fa2591ea5f9ef87d9"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a0a03ef009894059fa2591ea5f9ef87d9">SVF::OfflineConsG::hasOCGRep</a></div><div class="ttdeci">bool hasOCGRep(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00065">OfflineConsG.h:65</a></div></div>
965
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00557">Andersen.h:557</a></div></div>
963
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00581">581</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
964
+ <div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#a0a03ef009894059fa2591ea5f9ef87d9">hasOCGRep</a>(nodeId);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="ttc" id="classSVF_1_1OfflineConsG_html_a0a03ef009894059fa2591ea5f9ef87d9"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a0a03ef009894059fa2591ea5f9ef87d9">SVF::OfflineConsG::hasOCGRep</a></div><div class="ttdeci">bool hasOCGRep(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00065">OfflineConsG.h:65</a></div></div>
965
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00549">Andersen.h:549</a></div></div>
966
966
  </div><!-- fragment -->
967
967
  </div>
968
968
  </div>
@@ -995,8 +995,8 @@ Additional Inherited Members</h2></td></tr>
995
995
  <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenHLCD.html#a5926080868429040f5142843f01a2a5c">SVF::AndersenHLCD</a>.</p>
996
996
 
997
997
  <p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00045">45</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
998
- <div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">Andersen::initialize</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// Build offline constraint graph and solve its constraints</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1OfflineConsG.html">OfflineConsG</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>* oscc = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>(<a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; oscc-&gt;find();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#ab7d06ed7e5e186b97452391c1162b181">solveOfflineSCC</a>(oscc);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">delete</span> oscc;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00557">Andersen.h:557</a></div></div>
999
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_a33cb18543abbcd434861c5da7e588356"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">SVF::AndersenHCD::OSCC</a></div><div class="ttdeci">SCCDetection&lt; OfflineConsG * &gt; OSCC</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00552">Andersen.h:552</a></div></div>
998
+ <div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">Andersen::initialize</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// Build offline constraint graph and solve its constraints</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1OfflineConsG.html">OfflineConsG</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>* oscc = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>(<a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; oscc-&gt;find();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#ab7d06ed7e5e186b97452391c1162b181">solveOfflineSCC</a>(oscc);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">delete</span> oscc;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00549">Andersen.h:549</a></div></div>
999
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_a33cb18543abbcd434861c5da7e588356"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">SVF::AndersenHCD::OSCC</a></div><div class="ttdeci">SCCDetection&lt; OfflineConsG * &gt; OSCC</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00544">Andersen.h:544</a></div></div>
1000
1000
  <div class="ttc" id="classSVF_1_1OfflineConsG_html_ab7d06ed7e5e186b97452391c1162b181"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#ab7d06ed7e5e186b97452391c1162b181">SVF::OfflineConsG::solveOfflineSCC</a></div><div class="ttdeci">void solveOfflineSCC(OSCC *oscc)</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8cpp_source.html#l00124">OfflineConsG.cpp:124</a></div></div>
1001
1001
  <div class="ttc" id="classSVF_1_1OfflineConsG_html"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html">SVF::OfflineConsG</a></div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00044">OfflineConsG.h:44</a></div></div>
1002
1002
  <div class="ttc" id="classSVF_1_1Andersen_html_a20617a69c112ad423b1b5021e48a8548"><div class="ttname"><a href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00186">Andersen.cpp:186</a></div></div>
@@ -1028,8 +1028,8 @@ Additional Inherited Members</h2></td></tr>
1028
1028
  </table>
1029
1029
  </div><div class="memdoc">
1030
1030
 
1031
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00601">601</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1032
- <div class="fragment"><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; {</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; NodeSet::const_iterator it = <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.find(node);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.end();</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ac1de536453e92d7628b12e54cc7b2df7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">SVF::AndersenHCD::mergedNodes</a></div><div class="ttdeci">NodeSet mergedNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00556">Andersen.h:556</a></div></div>
1031
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00593">593</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1032
+ <div class="fragment"><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; {</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; NodeSet::const_iterator it = <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.find(node);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.end();</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ac1de536453e92d7628b12e54cc7b2df7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">SVF::AndersenHCD::mergedNodes</a></div><div class="ttdeci">NodeSet mergedNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00548">Andersen.h:548</a></div></div>
1033
1033
  </div><!-- fragment -->
1034
1034
  </div>
1035
1035
  </div>
@@ -1071,8 +1071,8 @@ Additional Inherited Members</h2></td></tr>
1071
1071
  <p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00104">104</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
1072
1072
  <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; node = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(node);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; rep = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(rep);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(rep, node))</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(rep);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Once a &#39;Node&#39; is merged to its rep, it is collapsed,</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// only its &#39;NodeID&#39; remaining in the set &#39;subNodes&#39; of its rep node.</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a>(node, rep);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">setMergedNode</a>(node);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00162">WPASolver.h:162</a></div></div>
1073
1073
  <div class="ttc" id="classSVF_1_1Andersen_html_ab7dadfd4d810be4863f03ed996b3b3c4"><div class="ttname"><a href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">SVF::Andersen::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &amp;target)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00220">Andersen.h:220</a></div></div>
1074
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_a6d6d770848a42c6291db663ab138461d"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">SVF::AndersenHCD::setMergedNode</a></div><div class="ttdeci">void setMergedNode(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00606">Andersen.h:606</a></div></div>
1075
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00601">Andersen.h:601</a></div></div>
1074
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_a6d6d770848a42c6291db663ab138461d"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">SVF::AndersenHCD::setMergedNode</a></div><div class="ttdeci">void setMergedNode(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00598">Andersen.h:598</a></div></div>
1075
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00593">Andersen.h:593</a></div></div>
1076
1076
  <div class="ttc" id="classSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00814">Andersen.cpp:814</a></div></div>
1077
1077
  <div class="ttc" id="classSVF_1_1Andersen_html_aad706e332847e6b0892350a05028ba30"><div class="ttname"><a href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC methods. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00205">Andersen.h:205</a></div></div>
1078
1078
  </div><!-- fragment -->
@@ -1108,17 +1108,17 @@ Additional Inherited Members</h2></td></tr>
1108
1108
  <p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00078">78</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
1109
1109
  <div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#abeafc9d45d529577b99fe821e59fd9cb">hasOfflineRep</a>(nodeId))</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// get offline rep node</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> oRep = <a class="code" href="classSVF_1_1AndersenHCD.html#ac2e6a5acffff567e729b6aa9e9beeb55">getOfflineRep</a>(nodeId);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// get online rep node</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(oRep);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;pts = <a class="code" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">getPts</a>(nodeId);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> ptIt = pts.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(), ptEit = pts.<a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(); ptIt != ptEit; ++ptIt)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> tgt = *ptIt;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* tgtNode = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(tgt);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (!tgtNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a2d37b9e477f8ddc9f9b517b9e2867d44">getDirectInEdges</a>().empty())</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (tgtNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a9058618987da9d21156cea72a5d5ddad">getAddrOutEdges</a>().size() &gt; 1)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; assert(!<a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-&gt;<a class="code" href="classSVF_1_1OfflineConsG.html#ac2e7ddb9b7b45f9db47b60d8a0be06ae">isaRef</a>(tgt) &amp;&amp; <span class="stringliteral">&quot;Point-to target should not be a ref node!&quot;</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#afea4ecab92720da2f5dad27840ac1e57">mergeNodeAndPts</a>(tgt, rep);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;}</div><div class="ttc" id="classSVF_1_1Andersen_html_a187285a5bdf9422d9188b2b11b667639"><div class="ttname"><a href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdoc">Operation of points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00216">Andersen.h:216</a></div></div>
1110
1110
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
1111
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00557">Andersen.h:557</a></div></div>
1111
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00549">Andersen.h:549</a></div></div>
1112
1112
  <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>
1113
1113
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
1114
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_abeafc9d45d529577b99fe821e59fd9cb"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#abeafc9d45d529577b99fe821e59fd9cb">SVF::AndersenHCD::hasOfflineRep</a></div><div class="ttdeci">bool hasOfflineRep(NodeID nodeId) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00589">Andersen.h:589</a></div></div>
1114
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_abeafc9d45d529577b99fe821e59fd9cb"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#abeafc9d45d529577b99fe821e59fd9cb">SVF::AndersenHCD::hasOfflineRep</a></div><div class="ttdeci">bool hasOfflineRep(NodeID nodeId) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00581">Andersen.h:581</a></div></div>
1115
1115
  <div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
1116
1116
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a9058618987da9d21156cea72a5d5ddad"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a9058618987da9d21156cea72a5d5ddad">SVF::ConstraintNode::getAddrOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getAddrOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00160">ConsGNode.h:160</a></div></div>
1117
1117
  <div class="ttc" id="classSVF_1_1OfflineConsG_html_ac2e7ddb9b7b45f9db47b60d8a0be06ae"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#ac2e7ddb9b7b45f9db47b60d8a0be06ae">SVF::OfflineConsG::isaRef</a></div><div class="ttdeci">bool isaRef(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00081">OfflineConsG.h:81</a></div></div>
1118
1118
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a39b973543acdcdc5493832cc9d0f586f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">SVF::ConstraintGraph::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC rep/sub nodes methods. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00233">ConsG.h:233</a></div></div>
1119
1119
  <div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
1120
1120
  <div class="ttc" id="classSVF_1_1AndersenHCD_html_afea4ecab92720da2f5dad27840ac1e57"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#afea4ecab92720da2f5dad27840ac1e57">SVF::AndersenHCD::mergeNodeAndPts</a></div><div class="ttdeci">void mergeNodeAndPts(NodeID node, NodeID tgt)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00104">AndersenHCD.cpp:104</a></div></div>
1121
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_ac2e6a5acffff567e729b6aa9e9beeb55"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac2e6a5acffff567e729b6aa9e9beeb55">SVF::AndersenHCD::getOfflineRep</a></div><div class="ttdeci">NodeID getOfflineRep(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00593">Andersen.h:593</a></div></div>
1121
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_ac2e6a5acffff567e729b6aa9e9beeb55"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac2e6a5acffff567e729b6aa9e9beeb55">SVF::AndersenHCD::getOfflineRep</a></div><div class="ttdeci">NodeID getOfflineRep(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00585">Andersen.h:585</a></div></div>
1122
1122
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00143">Andersen.h:143</a></div></div>
1123
1123
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
1124
1124
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00132">PointsTo.h:132</a></div></div>
@@ -1149,8 +1149,8 @@ Additional Inherited Members</h2></td></tr>
1149
1149
  </table>
1150
1150
  </div><div class="memdoc">
1151
1151
 
1152
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00577">577</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1153
- <div class="fragment"><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>)</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_a2356a7f8215725d2ee035630b1487b05"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">SVF::AndersenHCD::hcdAndersen</a></div><div class="ttdeci">static AndersenHCD * hcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00555">Andersen.h:555</a></div></div>
1152
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00569">569</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1153
+ <div class="fragment"><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_a2356a7f8215725d2ee035630b1487b05"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">SVF::AndersenHCD::hcdAndersen</a></div><div class="ttdeci">static AndersenHCD * hcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00547">Andersen.h:547</a></div></div>
1154
1154
  </div><!-- fragment -->
1155
1155
  </div>
1156
1156
  </div>
@@ -1178,9 +1178,9 @@ Additional Inherited Members</h2></td></tr>
1178
1178
  </table>
1179
1179
  </div><div class="memdoc">
1180
1180
 
1181
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00606">606</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1182
- <div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.insert(node);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ac1de536453e92d7628b12e54cc7b2df7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">SVF::AndersenHCD::mergedNodes</a></div><div class="ttdeci">NodeSet mergedNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00556">Andersen.h:556</a></div></div>
1183
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00601">Andersen.h:601</a></div></div>
1181
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00598">598</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1182
+ <div class="fragment"><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; {</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.insert(node);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; };</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ac1de536453e92d7628b12e54cc7b2df7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">SVF::AndersenHCD::mergedNodes</a></div><div class="ttdeci">NodeSet mergedNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00548">Andersen.h:548</a></div></div>
1183
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00593">Andersen.h:593</a></div></div>
1184
1184
  </div><!-- fragment -->
1185
1185
  </div>
1186
1186
  </div>
@@ -1244,7 +1244,7 @@ Additional Inherited Members</h2></td></tr>
1244
1244
  </table>
1245
1245
  </div><div class="memdoc">
1246
1246
 
1247
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00555">555</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1247
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00547">547</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1248
1248
 
1249
1249
  </div>
1250
1250
  </div>
@@ -1268,7 +1268,7 @@ Additional Inherited Members</h2></td></tr>
1268
1268
  </table>
1269
1269
  </div><div class="memdoc">
1270
1270
 
1271
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00556">556</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1271
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00548">548</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1272
1272
 
1273
1273
  </div>
1274
1274
  </div>
@@ -1292,7 +1292,7 @@ Additional Inherited Members</h2></td></tr>
1292
1292
  </table>
1293
1293
  </div><div class="memdoc">
1294
1294
 
1295
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00557">557</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1295
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00549">549</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1296
1296
 
1297
1297
  </div>
1298
1298
  </div>
@@ -836,7 +836,7 @@ Additional Inherited Members</h2></td></tr>
836
836
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
837
837
  <div class="textblock"><p>Hybrid Lazy Cycle Detection Based <a class="el" href="classSVF_1_1Andersen.html">Andersen</a> Analysis </p>
838
838
 
839
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00624">624</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
839
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00616">616</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
840
840
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
841
841
  <a id="aa4c37c2d4119b473b29ef21d630d7f26"></a>
842
842
  <h2 class="memtitle"><span class="permalink"><a href="#aa4c37c2d4119b473b29ef21d630d7f26">&#9670;&nbsp;</a></span>AndersenHLCD()</h2>
@@ -872,11 +872,11 @@ Additional Inherited Members</h2></td></tr>
872
872
  </table>
873
873
  </div><div class="memdoc">
874
874
 
875
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00631">631</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
876
- <div class="fragment"><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; :</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">Andersen</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">AndersenHCD</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1AndersenLCD.html#aab4737557838799f52b64ceb2ec543a3">AndersenLCD</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; {</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; }</div><div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
875
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00623">623</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
876
+ <div class="fragment"><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; :</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">Andersen</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">AndersenHCD</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1AndersenLCD.html#aab4737557838799f52b64ceb2ec543a3">AndersenLCD</a>(_pag, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; {</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; }</div><div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
877
877
  <div class="ttc" id="classSVF_1_1Andersen_html_a680dc709c0263fc1a13aa5c81d95fc72"><div class="ttname"><a href="classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72">SVF::Andersen::Andersen</a></div><div class="ttdeci">Andersen(SVFIR *_pag, PTATY type=Andersen_WPA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00158">Andersen.h:158</a></div></div>
878
- <div class="ttc" id="classSVF_1_1AndersenLCD_html_aab4737557838799f52b64ceb2ec543a3"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#aab4737557838799f52b64ceb2ec543a3">SVF::AndersenLCD::AndersenLCD</a></div><div class="ttdeci">AndersenLCD(SVFIR *_pag, PTATY type=AndersenLCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00478">Andersen.h:478</a></div></div>
879
- <div class="ttc" id="classSVF_1_1AndersenHCD_html_ac7629cede14407d42ed5b5ec7e607b0e"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">SVF::AndersenHCD::AndersenHCD</a></div><div class="ttdeci">AndersenHCD(SVFIR *_pag, PTATY type=AndersenHCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00560">Andersen.h:560</a></div></div>
878
+ <div class="ttc" id="classSVF_1_1AndersenLCD_html_aab4737557838799f52b64ceb2ec543a3"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#aab4737557838799f52b64ceb2ec543a3">SVF::AndersenLCD::AndersenLCD</a></div><div class="ttdeci">AndersenLCD(SVFIR *_pag, PTATY type=AndersenLCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00470">Andersen.h:470</a></div></div>
879
+ <div class="ttc" id="classSVF_1_1AndersenHCD_html_ac7629cede14407d42ed5b5ec7e607b0e"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac7629cede14407d42ed5b5ec7e607b0e">SVF::AndersenHCD::AndersenHCD</a></div><div class="ttdeci">AndersenHCD(SVFIR *_pag, PTATY type=AndersenHCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00552">Andersen.h:552</a></div></div>
880
880
  </div><!-- fragment -->
881
881
  </div>
882
882
  </div>
@@ -907,9 +907,9 @@ Additional Inherited Members</h2></td></tr>
907
907
 
908
908
  <p>Create an singleton instance directly instead of invoking llvm pass manager. </p>
909
909
 
910
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00637">637</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
911
- <div class="fragment"><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; {</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; {</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#aa4c37c2d4119b473b29ef21d630d7f26">AndersenHLCD</a>(_pag);</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHLCD_html_aa4c37c2d4119b473b29ef21d630d7f26"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html#aa4c37c2d4119b473b29ef21d630d7f26">SVF::AndersenHLCD::AndersenHLCD</a></div><div class="ttdeci">AndersenHLCD(SVFIR *_pag, PTATY type=AndersenHLCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00631">Andersen.h:631</a></div></div>
912
- <div class="ttc" id="classSVF_1_1AndersenHLCD_html_ad22c1990d8faad9c7cae6d779c7de94a"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">SVF::AndersenHLCD::hlcdAndersen</a></div><div class="ttdeci">static AndersenHLCD * hlcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00628">Andersen.h:628</a></div></div>
910
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00629">629</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
911
+ <div class="fragment"><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; {</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; {</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#aa4c37c2d4119b473b29ef21d630d7f26">AndersenHLCD</a>(_pag);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; }</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHLCD_html_aa4c37c2d4119b473b29ef21d630d7f26"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html#aa4c37c2d4119b473b29ef21d630d7f26">SVF::AndersenHLCD::AndersenHLCD</a></div><div class="ttdeci">AndersenHLCD(SVFIR *_pag, PTATY type=AndersenHLCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00623">Andersen.h:623</a></div></div>
912
+ <div class="ttc" id="classSVF_1_1AndersenHLCD_html_ad22c1990d8faad9c7cae6d779c7de94a"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">SVF::AndersenHLCD::hlcdAndersen</a></div><div class="ttdeci">static AndersenHLCD * hlcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00620">Andersen.h:620</a></div></div>
913
913
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00102">Andersen.cpp:102</a></div></div>
914
914
  </div><!-- fragment -->
915
915
  </div>
@@ -941,8 +941,8 @@ Additional Inherited Members</h2></td></tr>
941
941
 
942
942
  <p>Reimplemented from <a class="el" href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">SVF::AndersenLCD</a>.</p>
943
943
 
944
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00664">664</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
945
- <div class="fragment"><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; {</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">AndersenLCD::handleCopyGep</a>(node);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a139d80e25fe713194f719581915d36d5"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">SVF::AndersenLCD::handleCopyGep</a></div><div class="ttdeci">virtual void handleCopyGep(ConstraintNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00057">AndersenLCD.cpp:57</a></div></div>
944
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00656">656</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
945
+ <div class="fragment"><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">AndersenLCD::handleCopyGep</a>(node);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_a139d80e25fe713194f719581915d36d5"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5">SVF::AndersenLCD::handleCopyGep</a></div><div class="ttdeci">virtual void handleCopyGep(ConstraintNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00057">AndersenLCD.cpp:57</a></div></div>
946
946
  </div><!-- fragment -->
947
947
  </div>
948
948
  </div>
@@ -972,8 +972,8 @@ Additional Inherited Members</h2></td></tr>
972
972
 
973
973
  <p>Reimplemented from <a class="el" href="classSVF_1_1AndersenHCD.html#aaac9cac7fc5696adb585abd9d67f8c14">SVF::AndersenHCD</a>.</p>
974
974
 
975
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00656">656</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
976
- <div class="fragment"><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#aaac9cac7fc5696adb585abd9d67f8c14">AndersenHCD::initialize</a>();</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_aaac9cac7fc5696adb585abd9d67f8c14"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#aaac9cac7fc5696adb585abd9d67f8c14">SVF::AndersenHCD::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00045">AndersenHCD.cpp:45</a></div></div>
975
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00648">648</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
976
+ <div class="fragment"><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#aaac9cac7fc5696adb585abd9d67f8c14">AndersenHCD::initialize</a>();</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_aaac9cac7fc5696adb585abd9d67f8c14"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#aaac9cac7fc5696adb585abd9d67f8c14">SVF::AndersenHCD::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00045">AndersenHCD.cpp:45</a></div></div>
977
977
  </div><!-- fragment -->
978
978
  </div>
979
979
  </div>
@@ -1050,8 +1050,8 @@ Additional Inherited Members</h2></td></tr>
1050
1050
 
1051
1051
  <p>Reimplemented from <a class="el" href="classSVF_1_1AndersenLCD.html#ac78efb1e4246c06c64dad1d368ed032d">SVF::AndersenLCD</a>.</p>
1052
1052
 
1053
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00669">669</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1054
- <div class="fragment"><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; {</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ac78efb1e4246c06c64dad1d368ed032d">AndersenLCD::mergeSrcToTgt</a>(nodeId, newRepId);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ac78efb1e4246c06c64dad1d368ed032d"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ac78efb1e4246c06c64dad1d368ed032d">SVF::AndersenLCD::mergeSrcToTgt</a></div><div class="ttdeci">bool mergeSrcToTgt(NodeID nodeId, NodeID newRepId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00131">AndersenLCD.cpp:131</a></div></div>
1053
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00661">661</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1054
+ <div class="fragment"><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenLCD.html#ac78efb1e4246c06c64dad1d368ed032d">AndersenLCD::mergeSrcToTgt</a>(nodeId, newRepId);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenLCD_html_ac78efb1e4246c06c64dad1d368ed032d"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#ac78efb1e4246c06c64dad1d368ed032d">SVF::AndersenLCD::mergeSrcToTgt</a></div><div class="ttdeci">bool mergeSrcToTgt(NodeID nodeId, NodeID newRepId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00131">AndersenLCD.cpp:131</a></div></div>
1055
1055
  </div><!-- fragment -->
1056
1056
  </div>
1057
1057
  </div>
@@ -1078,8 +1078,8 @@ Additional Inherited Members</h2></td></tr>
1078
1078
  </table>
1079
1079
  </div><div class="memdoc">
1080
1080
 
1081
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00648">648</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1082
- <div class="fragment"><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>)</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHLCD_html_ad22c1990d8faad9c7cae6d779c7de94a"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">SVF::AndersenHLCD::hlcdAndersen</a></div><div class="ttdeci">static AndersenHLCD * hlcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00628">Andersen.h:628</a></div></div>
1081
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00640">640</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1082
+ <div class="fragment"><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; {</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>)</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <a class="code" href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">hlcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHLCD_html_ad22c1990d8faad9c7cae6d779c7de94a"><div class="ttname"><a href="classSVF_1_1AndersenHLCD.html#ad22c1990d8faad9c7cae6d779c7de94a">SVF::AndersenHLCD::hlcdAndersen</a></div><div class="ttdeci">static AndersenHLCD * hlcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00620">Andersen.h:620</a></div></div>
1083
1083
  </div><!-- fragment -->
1084
1084
  </div>
1085
1085
  </div>
@@ -1108,8 +1108,8 @@ Additional Inherited Members</h2></td></tr>
1108
1108
 
1109
1109
  <p>Reimplemented from <a class="el" href="classSVF_1_1AndersenLCD.html#a52399086e540c2adabc03a978155f55d">SVF::AndersenLCD</a>.</p>
1110
1110
 
1111
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00660">660</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1112
- <div class="fragment"><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#ae3ac936d1ae3e46a9110b8c8ed9f279c">AndersenHCD::solveWorklist</a>();</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ae3ac936d1ae3e46a9110b8c8ed9f279c"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ae3ac936d1ae3e46a9110b8c8ed9f279c">SVF::AndersenHCD::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00059">AndersenHCD.cpp:59</a></div></div>
1111
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00652">652</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1112
+ <div class="fragment"><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; {</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#ae3ac936d1ae3e46a9110b8c8ed9f279c">AndersenHCD::solveWorklist</a>();</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ae3ac936d1ae3e46a9110b8c8ed9f279c"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ae3ac936d1ae3e46a9110b8c8ed9f279c">SVF::AndersenHCD::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00059">AndersenHCD.cpp:59</a></div></div>
1113
1113
  </div><!-- fragment -->
1114
1114
  </div>
1115
1115
  </div>
@@ -1134,7 +1134,7 @@ Additional Inherited Members</h2></td></tr>
1134
1134
  </table>
1135
1135
  </div><div class="memdoc">
1136
1136
 
1137
- <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00628">628</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1137
+ <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00620">620</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
1138
1138
 
1139
1139
  </div>
1140
1140
  </div>