svf-tools 1.0.549 → 1.0.552

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 (70) hide show
  1. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +38 -41
  2. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +70 -81
  3. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -4
  4. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +9 -10
  5. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +7 -7
  6. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +28 -28
  7. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +27 -27
  8. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +24 -36
  9. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +141 -224
  10. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation-members.html +8 -7
  11. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation.html +81 -56
  12. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +1 -1
  13. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +60 -76
  14. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +84 -82
  15. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +8 -8
  16. package/SVF-doxygen/html/html/functions_a.html +6 -9
  17. package/SVF-doxygen/html/html/functions_c.html +2 -2
  18. package/SVF-doxygen/html/html/functions_e.html +2 -35
  19. package/SVF-doxygen/html/html/functions_enum.html +0 -3
  20. package/SVF-doxygen/html/html/functions_eval_e.html +0 -30
  21. package/SVF-doxygen/html/html/functions_f.html +3 -3
  22. package/SVF-doxygen/html/html/functions_func_g.html +20 -17
  23. package/SVF-doxygen/html/html/functions_func_o.html +1 -1
  24. package/SVF-doxygen/html/html/functions_func_p.html +3 -3
  25. package/SVF-doxygen/html/html/functions_func_s.html +10 -13
  26. package/SVF-doxygen/html/html/functions_g.html +21 -18
  27. package/SVF-doxygen/html/html/functions_i.html +6 -6
  28. package/SVF-doxygen/html/html/functions_l.html +3 -3
  29. package/SVF-doxygen/html/html/functions_o.html +20 -17
  30. package/SVF-doxygen/html/html/functions_p.html +12 -14
  31. package/SVF-doxygen/html/html/functions_r.html +7 -5
  32. package/SVF-doxygen/html/html/functions_s.html +22 -23
  33. package/SVF-doxygen/html/html/functions_t.html +7 -5
  34. package/SVF-doxygen/html/html/functions_v.html +6 -6
  35. package/SVF-doxygen/html/html/functions_vars_a.html +0 -3
  36. package/SVF-doxygen/html/html/functions_vars_o.html +7 -4
  37. package/SVF-doxygen/html/html/search/all_1.js +0 -1
  38. package/SVF-doxygen/html/html/search/all_10.js +10 -10
  39. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  40. package/SVF-doxygen/html/html/search/all_12.js +7 -8
  41. package/SVF-doxygen/html/html/search/all_13.js +2 -2
  42. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  43. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  44. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  45. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  46. package/SVF-doxygen/html/html/search/all_5.js +0 -11
  47. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  48. package/SVF-doxygen/html/html/search/all_7.js +5 -4
  49. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  50. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  51. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  52. package/SVF-doxygen/html/html/search/all_f.js +6 -4
  53. package/SVF-doxygen/html/html/search/enums_3.js +0 -1
  54. package/SVF-doxygen/html/html/search/enumvalues_4.js +1 -11
  55. package/SVF-doxygen/html/html/search/functions_11.js +1 -2
  56. package/SVF-doxygen/html/html/search/functions_6.js +5 -4
  57. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  58. package/SVF-doxygen/html/html/search/functions_f.js +2 -2
  59. package/SVF-doxygen/html/html/search/variables_1.js +0 -1
  60. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  61. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  62. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  63. package/SVF-doxygen/html/html/search/variables_f.js +3 -2
  64. package/include/SVF-FE/SVFIRBuilder.h +1 -1
  65. package/include/Util/ExtAPI.h +17 -42
  66. package/include/Util/ExtAPI.json +1013 -989
  67. package/lib/SVF-FE/SVFIRBuilder.cpp +122 -222
  68. package/lib/Util/ExtAPI.cpp +53 -68
  69. package/lib/WPA/VersionedFlowSensitive.cpp +41 -15
  70. package/package.json +1 -1
@@ -181,10 +181,10 @@ Static Private Member Functions</h2></td></tr>
181
181
  <p>Determines the strongly connected components of svfg following only edges labelled with object. partOf[n] = scc means nodes n is part of <a class="el" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a> scc. startingNodes contains the nodes to begin the search from. After completion, footprint will contain all edges which object appears on (as reached through the algorithm described above) sorted.</p>
182
182
  <p>This is not a general <a class="el" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a> detection but specifically for versioning, so edges to delta nodes are skipped as they are prelabelled. Edges to stores are also skipped to as they yield a new version (they cannot be part of an <a class="el" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a> containing more than themselves). Skipped edges still form part of the footprint. </p>
183
183
 
184
- <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00928">928</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
185
- <div class="fragment"><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;{</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; partOf.resize(svfg-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; std::fill(partOf.begin(), partOf.end(), -1);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; footprint.clear();</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; std::vector&lt;NodeData&gt; nodeData(svfg-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>(), { -1, -1, <span class="keyword">false</span>});</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; std::stack&lt;const SVFGNode *&gt; stack;</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keywordtype">int</span> <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> = 0;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordtype">int</span> currentSCC = 0;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v : startingNodes)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; {</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">if</span> (nodeData[v-&gt;getId()].index == -1)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; {</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, index, currentSCC, v);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; }</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; }</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="comment">// Make sure footprints with the same edges pass ==/hash the same.</span></div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; std::sort(footprint.begin(), footprint.end());</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">return</span> currentSCC;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;}</div><div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
184
+ <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00954">954</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
185
+ <div class="fragment"><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;{</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; partOf.resize(svfg-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; std::fill(partOf.begin(), partOf.end(), -1);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; footprint.clear();</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; std::vector&lt;NodeData&gt; nodeData(svfg-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>(), { -1, -1, <span class="keyword">false</span>});</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; std::stack&lt;const SVFGNode *&gt; stack;</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordtype">int</span> <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> = 0;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keywordtype">int</span> currentSCC = 0;</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v : startingNodes)</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; {</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">if</span> (nodeData[v-&gt;getId()].index == -1)</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; {</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, index, currentSCC, v);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; }</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="comment">// Make sure footprints with the same edges pass ==/hash the same.</span></div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; std::sort(footprint.begin(), footprint.end());</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keywordflow">return</span> currentSCC;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;}</div><div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
186
186
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a8c8d16036008f87c7811586047599858"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">SVF::GenericGraph::getTotalNodeNum</a></div><div class="ttdeci">u32_t getTotalNodeNum() const</div><div class="ttdoc">Get total number of node/edge. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00418">GenericGraph.h:418</a></div></div>
187
- <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html_af7ba77d72962b930a8107752e259008b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge *&gt; &amp;footprint, std::vector&lt; NodeData &gt; &amp;nodeData, std::stack&lt; const SVFGNode *&gt; &amp;stack, int &amp;index, int &amp;currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00958">VersionedFlowSensitive.cpp:958</a></div></div>
187
+ <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html_af7ba77d72962b930a8107752e259008b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge *&gt; &amp;footprint, std::vector&lt; NodeData &gt; &amp;nodeData, std::stack&lt; const SVFGNode *&gt; &amp;stack, int &amp;index, int &amp;currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00984">VersionedFlowSensitive.cpp:984</a></div></div>
188
188
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
189
189
  </div><!-- fragment -->
190
190
  </div>
@@ -267,16 +267,16 @@ Static Private Member Functions</h2></td></tr>
267
267
 
268
268
  <p>Called by detectSCCs then called recursively. </p>
269
269
 
270
- <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00958">958</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
271
- <div class="fragment"><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;{</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vId = v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; nodeData[vId].index = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; nodeData[vId].lowlink = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; ++<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; stack.push(v);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; nodeData[vId].onStack = <span class="keyword">true</span>;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>())</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; {</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>&gt;(e);</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = ie-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="comment">// If object is not part of the edge, there is no edge from v to w.</span></div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">if</span> (!ie-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">object</span>)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="comment">// Even if we don&#39;t count edges to stores and deltas for SCCs&#39; sake, they</span></div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="comment">// are relevant to the footprint as a propagation still occurs over such edges.</span></div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; footprint.push_back(ie);</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; <span class="comment">// Ignore edges to delta nodes because they are prelabeled so cannot</span></div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <span class="comment">// be part of the SCC v is in (already in nodesTodo from the prelabeled set).</span></div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="comment">// Similarly, store nodes.</span></div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="keywordflow">if</span> (vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(wId) || vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(wId)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="keywordflow">if</span> (nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> == -1)</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; {</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, w);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].lowlink);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; }</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeData[wId].onStack)</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; {</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; }</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keywordflow">if</span> (nodeData[vId].lowlink == nodeData[vId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; {</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; {</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; w = stack.top();</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; stack.pop();</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; nodeData[wId].onStack = <span class="keyword">false</span>;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; partOf[wId] = currentSCC;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; }</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="keywordflow">while</span> (w != v);</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="comment">// For the next SCC.</span></div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; ++currentSCC;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; }</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;}</div><div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
270
+ <p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00984">984</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
271
+ <div class="fragment"><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;{</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vId = v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; nodeData[vId].index = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; nodeData[vId].lowlink = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; ++<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; stack.push(v);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; nodeData[vId].onStack = <span class="keyword">true</span>;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : v-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>())</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; {</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>&gt;(e);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = ie-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="comment">// If object is not part of the edge, there is no edge from v to w.</span></div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <span class="keywordflow">if</span> (!ie-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">object</span>)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="comment">// Even if we don&#39;t count edges to stores and deltas for SCCs&#39; sake, they</span></div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="comment">// are relevant to the footprint as a propagation still occurs over such edges.</span></div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; footprint.push_back(ie);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="comment">// Ignore edges to delta nodes because they are prelabeled so cannot</span></div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="comment">// be part of the SCC v is in (already in nodesTodo from the prelabeled set).</span></div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="comment">// Similarly, store nodes.</span></div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="keywordflow">if</span> (vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(wId) || vfs-&gt;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(wId)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keywordflow">if</span> (nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> == -1)</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, w);</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].lowlink);</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; }</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeData[wId].onStack)</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; }</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; }</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <span class="keywordflow">if</span> (nodeData[vId].lowlink == nodeData[vId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; {</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; w = stack.top();</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; stack.pop();</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; nodeData[wId].onStack = <span class="keyword">false</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; partOf[wId] = currentSCC;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; }</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">while</span> (w != v);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="comment">// For the next SCC.</span></div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; ++currentSCC;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; }</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;}</div><div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
272
272
  <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>
273
273
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00706">SparseBitVector.h:706</a></div></div>
274
- <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aac920c9a5f13dd147e3c130425e005eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">SVF::VersionedFlowSensitive::isStore</a></div><div class="ttdeci">virtual bool isStore(const NodeID l) const</div><div class="ttdoc">Returns true if l is a store node. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00429">VersionedFlowSensitive.cpp:429</a></div></div>
275
- <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9f9b00551c157f42d1d995e8c4efb54b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">SVF::VersionedFlowSensitive::delta</a></div><div class="ttdeci">virtual bool delta(const NodeID l) const</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00406">VersionedFlowSensitive.cpp:406</a></div></div>
274
+ <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aac920c9a5f13dd147e3c130425e005eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">SVF::VersionedFlowSensitive::isStore</a></div><div class="ttdeci">virtual bool isStore(const NodeID l) const</div><div class="ttdoc">Returns true if l is a store node. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00455">VersionedFlowSensitive.cpp:455</a></div></div>
275
+ <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9f9b00551c157f42d1d995e8c4efb54b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">SVF::VersionedFlowSensitive::delta</a></div><div class="ttdeci">virtual bool delta(const NodeID l) const</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00432">VersionedFlowSensitive.cpp:432</a></div></div>
276
276
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
277
277
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
278
278
  <div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy &amp; getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00182">GenericGraph.h:182</a></div></div>
279
- <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html_af7ba77d72962b930a8107752e259008b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge *&gt; &amp;footprint, std::vector&lt; NodeData &gt; &amp;nodeData, std::stack&lt; const SVFGNode *&gt; &amp;stack, int &amp;index, int &amp;currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00958">VersionedFlowSensitive.cpp:958</a></div></div>
279
+ <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html_af7ba77d72962b930a8107752e259008b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge *&gt; &amp;footprint, std::vector&lt; NodeData &gt; &amp;nodeData, std::stack&lt; const SVFGNode *&gt; &amp;stack, int &amp;index, int &amp;currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00984">VersionedFlowSensitive.cpp:984</a></div></div>
280
280
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
281
281
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
282
282
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
@@ -989,12 +989,12 @@ $(function() {
989
989
  : <a class="el" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html#a346d500f11666f4746237f42a8d67fc1">SVF::SparseBitVector&lt; ElementSize &gt;::SparseBitVectorIterator</a>
990
990
  </li>
991
991
  <li>alias()
992
- : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a25720f154731a8c745da10aa76ab8517">SVF::BVDataPTAImpl</a>
993
- , <a class="el" href="classSVF_1_1CFLAlias.html#a0575c3badff6a158a6043e3e940af507">SVF::CFLAlias</a>
994
- , <a class="el" href="classSVF_1_1CondPTAImpl.html#a8e48e9fe6f7e21da49a155f8f6893944">SVF::CondPTAImpl&lt; Cond &gt;</a>
995
- , <a class="el" href="classSVF_1_1DDAPass.html#a242575c5bd8a8f17fdc802e5ba80e7b0">SVF::DDAPass</a>
992
+ : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#adaba5a41a60e32d18d964bdb8ae5b2df">SVF::BVDataPTAImpl</a>
993
+ , <a class="el" href="classSVF_1_1CFLAlias.html#afb96040a903b9b889fcf23b26cb4565a">SVF::CFLAlias</a>
994
+ , <a class="el" href="classSVF_1_1CondPTAImpl.html#ac18e1dc9c6fc8cc952f67a93c2491876">SVF::CondPTAImpl&lt; Cond &gt;</a>
995
+ , <a class="el" href="classSVF_1_1DDAPass.html#a96de481dd2af7b39428aff38158c1d4e">SVF::DDAPass</a>
996
996
  , <a class="el" href="classSVF_1_1LockAnalysis.html#a4424f27444c12dce8071c56a95c664bf">SVF::LockAnalysis</a>
997
- , <a class="el" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis</a>
997
+ , <a class="el" href="classSVF_1_1PointerAnalysis.html#a0f712ead1f31750879948c36b2fc77cf">SVF::PointerAnalysis</a>
998
998
  , <a class="el" href="classSVF_1_1WPAPass.html#a5a71ab4d4bd993ff52da60c730d7b57f">SVF::WPAPass</a>
999
999
  </li>
1000
1000
  <li>alias_begin()
@@ -1258,9 +1258,6 @@ $(function() {
1258
1258
  : <a class="el" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">SVF::CallSite</a>
1259
1259
  , <a class="el" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction</a>
1260
1260
  </li>
1261
- <li>args
1262
- : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a826ff720a0038118e8e27e2a36d05cd5">SVF::ExtAPI::Operation</a>
1263
- </li>
1264
1261
  <li>argsOfUncalledFunction
1265
1262
  : <a class="el" href="classSVF_1_1SVFModule.html#a90bd61848ffbbb0bc30b33bf65d1cb6e">SVF::SVFModule</a>
1266
1263
  </li>
@@ -1271,7 +1268,7 @@ $(function() {
1271
1268
  : <a class="el" href="classSVF_1_1Z3Expr.html#a5c3347a21592e43e36d421ea5cae6bc9">SVF::Z3Expr</a>
1272
1269
  </li>
1273
1270
  <li>AssignStmt()
1274
- : <a class="el" href="classSVF_1_1AssignStmt.html#a41bf9092cbdfccb9724bd58e10aa51a6">SVF::AssignStmt</a>
1271
+ : <a class="el" href="classSVF_1_1AssignStmt.html#aff4c35109790daed3c6170c985153620">SVF::AssignStmt</a>
1275
1272
  </li>
1276
1273
  <li>atEnd
1277
1274
  : <a class="el" href="classSVF_1_1CondPointsToSet_1_1CondPtsSetIterator.html#ad22614f30570619802e23715d1d5eaf0">SVF::CondPointsToSet&lt; Cond &gt;::CondPtsSetIterator</a>
@@ -1611,7 +1611,7 @@ $(function() {
1611
1611
  : <a class="el" href="classSVF_1_1Options.html#a7b9af13feccc116377aeb107640ae874">SVF::Options</a>
1612
1612
  </li>
1613
1613
  <li>CxtDPItem()
1614
- : <a class="el" href="classSVF_1_1CxtDPItem.html#a673749f246b002b33ca3718a566779ca">SVF::CxtDPItem</a>
1614
+ : <a class="el" href="classSVF_1_1CxtDPItem.html#a53fa464132d5e51e832158d2e928db32">SVF::CxtDPItem</a>
1615
1615
  </li>
1616
1616
  <li>cxtJoinInLoop
1617
1617
  : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#a63da48d338683ec95709a6bd95238707">SVF::ForkJoinAnalysis</a>
@@ -1665,7 +1665,7 @@ $(function() {
1665
1665
  : <a class="el" href="classSVF_1_1CxtStmt.html#ac11734a3e0db8415fdf55157b20b56a4">SVF::CxtStmt</a>
1666
1666
  </li>
1667
1667
  <li>CxtStmtDPItem()
1668
- : <a class="el" href="classSVF_1_1CxtStmtDPItem.html#a595d44fa92f4ebef2fe789873fd357e0">SVF::CxtStmtDPItem&lt; LocCond &gt;</a>
1668
+ : <a class="el" href="classSVF_1_1CxtStmtDPItem.html#a5c3bd4e8f26bfdc863baeb1241a557d1">SVF::CxtStmtDPItem&lt; LocCond &gt;</a>
1669
1669
  </li>
1670
1670
  <li>cxtStmtList
1671
1671
  : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#acccf53d174cac3275da0d79c89a73916">SVF::ForkJoinAnalysis</a>
@@ -285,7 +285,7 @@ $(function() {
285
285
  <li>end()
286
286
  : <a class="el" href="classllvm_1_1generic__bridge__gep__type__iterator.html#a4f13b7cccd69bdac2a4f5feff5625f01">llvm::generic_bridge_gep_type_iterator&lt; ItTy &gt;</a>
287
287
  , <a class="el" href="classSVF_1_1CondPointsToSet.html#a5ead697952ada3fbb07da3459a2b1b86">SVF::CondPointsToSet&lt; Cond &gt;</a>
288
- , <a class="el" href="classSVF_1_1CondStdSet.html#accc5305781696701c00245ed1e8a25a3">SVF::CondStdSet&lt; Element &gt;</a>
288
+ , <a class="el" href="classSVF_1_1CondStdSet.html#a93c232ef7e5dea652622da7f994e1dc3">SVF::CondStdSet&lt; Element &gt;</a>
289
289
  , <a class="el" href="classSVF_1_1ContextCond.html#a4b56b54896a1241032d7614309829399">SVF::ContextCond</a>
290
290
  , <a class="el" href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">SVF::CoreBitVector</a>
291
291
  , <a class="el" href="classSVF_1_1GenericGraph.html#a3001af3746d26b7dc0a212db5e48a4bb">SVF::GenericGraph&lt; NodeTy, EdgeTy &gt;</a>
@@ -379,7 +379,7 @@ $(function() {
379
379
  : <a class="el" href="classSVF_1_1MHP.html#aab80f1bc5c359a7d3b03f249bafa1d40">SVF::MHP</a>
380
380
  </li>
381
381
  <li>ExeState()
382
- : <a class="el" href="classSVF_1_1ExeState.html#a02e0a7dd5e66255be3838fa10e3e1cab">SVF::ExeState</a>
382
+ : <a class="el" href="classSVF_1_1ExeState.html#a83ce58a2551d511448d0224a96ca1bd7">SVF::ExeState</a>
383
383
  </li>
384
384
  <li>exeState
385
385
  : <a class="el" href="classSVF_1_1SymState.html#ab9ee5f993809fc026ffd270b0e9a6db4">SVF::SymState</a>
@@ -394,36 +394,6 @@ $(function() {
394
394
  : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#aa6a7186152037452599406a74b05d0e1">SVF::BVDataPTAImpl</a>
395
395
  , <a class="el" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">SVF::CondPTAImpl&lt; Cond &gt;</a>
396
396
  </li>
397
- <li>EXT_ADDR
398
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094aedaa8f975941f17692f993d8a8b6dd30">SVF::ExtAPI</a>
399
- </li>
400
- <li>EXT_COMPLEX
401
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094aa9e95e42adbdc4db3dd5e76785916154">SVF::ExtAPI</a>
402
- </li>
403
- <li>EXT_COPY
404
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094aaaaeb3443da98c5132ebcf33617962de">SVF::ExtAPI</a>
405
- </li>
406
- <li>EXT_COPY_MN
407
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094acfb80bb18d5cc826c04a57517b9d723a">SVF::ExtAPI</a>
408
- </li>
409
- <li>EXT_COPY_N
410
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a16fe812578afb8f018b6dd503c7bad49">SVF::ExtAPI</a>
411
- </li>
412
- <li>EXT_FUNPTR
413
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094ab6db72191d9b7d667fb6f7bd5b200d24">SVF::ExtAPI</a>
414
- </li>
415
- <li>EXT_GEP
416
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094acc6ac00f0ce70874f3a624927b6257fa">SVF::ExtAPI</a>
417
- </li>
418
- <li>EXT_LOAD
419
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094ab21117e18dd413220f4a331629d32bd8">SVF::ExtAPI</a>
420
- </li>
421
- <li>EXT_OTHER
422
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a894fdba1a423fe49fa357f87ea69cf69">SVF::ExtAPI</a>
423
- </li>
424
- <li>EXT_STORE
425
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a501a7dadb95aa1a97b8fe111c7838900">SVF::ExtAPI</a>
426
- </li>
427
397
  <li>ExtAPI()
428
398
  : <a class="el" href="classSVF_1_1ExtAPI.html#ab793be4b6f8f0a025599e76f5df2a4eb">SVF::ExtAPI</a>
429
399
  </li>
@@ -445,9 +415,6 @@ $(function() {
445
415
  <li>externMap
446
416
  : <a class="el" href="classSVF_1_1CFLGraphBuilder.html#a91f1f0e8abc8d781eaf8b1a4f025c18e">SVF::CFLGraphBuilder</a>
447
417
  </li>
448
- <li>extf_t
449
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">SVF::ExtAPI</a>
450
- </li>
451
418
  <li>extOp
452
419
  : <a class="el" href="classSVF_1_1ExtAPI.html#a552feab663622681db231d5b48f00d75">SVF::ExtAPI</a>
453
420
  </li>
@@ -108,9 +108,6 @@ $(function() {
108
108
  <li>ENUM_INOUT
109
109
  : <a class="el" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">SVF::FlowSensitiveStat</a>
110
110
  </li>
111
- <li>extf_t
112
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">SVF::ExtAPI</a>
113
- </li>
114
111
  <li>extType
115
112
  : <a class="el" href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199ca">SVF::ExtAPI</a>
116
113
  </li>
@@ -164,36 +164,6 @@ $(function() {
164
164
  <li>EntryMSSACHI
165
165
  : <a class="el" href="classSVF_1_1MSSADEF.html#a32682e20c9c08d2bdd5abc62ea17af18af0a554492277c9964a67ab9cd23071d3">SVF::MSSADEF</a>
166
166
  </li>
167
- <li>EXT_ADDR
168
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094aedaa8f975941f17692f993d8a8b6dd30">SVF::ExtAPI</a>
169
- </li>
170
- <li>EXT_COMPLEX
171
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094aa9e95e42adbdc4db3dd5e76785916154">SVF::ExtAPI</a>
172
- </li>
173
- <li>EXT_COPY
174
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094aaaaeb3443da98c5132ebcf33617962de">SVF::ExtAPI</a>
175
- </li>
176
- <li>EXT_COPY_MN
177
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094acfb80bb18d5cc826c04a57517b9d723a">SVF::ExtAPI</a>
178
- </li>
179
- <li>EXT_COPY_N
180
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a16fe812578afb8f018b6dd503c7bad49">SVF::ExtAPI</a>
181
- </li>
182
- <li>EXT_FUNPTR
183
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094ab6db72191d9b7d667fb6f7bd5b200d24">SVF::ExtAPI</a>
184
- </li>
185
- <li>EXT_GEP
186
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094acc6ac00f0ce70874f3a624927b6257fa">SVF::ExtAPI</a>
187
- </li>
188
- <li>EXT_LOAD
189
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094ab21117e18dd413220f4a331629d32bd8">SVF::ExtAPI</a>
190
- </li>
191
- <li>EXT_OTHER
192
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a894fdba1a423fe49fa357f87ea69cf69">SVF::ExtAPI</a>
193
- </li>
194
- <li>EXT_STORE
195
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a501a7dadb95aa1a97b8fe111c7838900">SVF::ExtAPI</a>
196
- </li>
197
167
  </ul>
198
168
  </div><!-- contents -->
199
169
  <!-- start footer part -->
@@ -490,12 +490,12 @@ $(function() {
490
490
  <li>FunToArgsListMap
491
491
  : <a class="el" href="classSVF_1_1SVFIR.html#a4541aa617c79f7922fe8e21c0f2b6b63">SVF::SVFIR</a>
492
492
  </li>
493
- <li>funToCallGraphNodeMap
494
- : <a class="el" href="classSVF_1_1PTACallGraph.html#a97986d6e6732c78b04cc053f0e9d1367">SVF::PTACallGraph</a>
495
- </li>
496
493
  <li>FunToCallGraphNodeMap
497
494
  : <a class="el" href="classSVF_1_1PTACallGraph.html#a049bc978a93f0db1fe91efb6feb22b14">SVF::PTACallGraph</a>
498
495
  </li>
496
+ <li>funToCallGraphNodeMap
497
+ : <a class="el" href="classSVF_1_1PTACallGraph.html#a97986d6e6732c78b04cc053f0e9d1367">SVF::PTACallGraph</a>
498
+ </li>
499
499
  <li>FunToDTMap
500
500
  : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a69109de5fddf4042037bc6d66563a9e5">SVF::PTACFInfoBuilder</a>
501
501
  </li>
@@ -122,7 +122,7 @@ $(function() {
122
122
  : <a class="el" href="classSVF_1_1ExtAPI.html#a906a3728bbcfb7a43ac0938ffcb3df23">SVF::ExtAPI</a>
123
123
  </li>
124
124
  <li>get_opName()
125
- : <a class="el" href="classSVF_1_1ExtAPI.html#a1832c19de2fd7ff01793e75a051d3f24">SVF::ExtAPI</a>
125
+ : <a class="el" href="classSVF_1_1ExtAPI.html#a1930d622cd47f7fd875e1964b65ec506">SVF::ExtAPI</a>
126
126
  </li>
127
127
  <li>get_sort()
128
128
  : <a class="el" href="classSVF_1_1Z3Expr.html#a8b2b5fa74704d776a2cd415b599a1393">SVF::Z3Expr</a>
@@ -184,7 +184,7 @@ $(function() {
184
184
  , <a class="el" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR</a>
185
185
  </li>
186
186
  <li>getAllOperations()
187
- : <a class="el" href="classSVF_1_1ExtAPI.html#aaca305f9ab8ede457a525379235a58f9">SVF::ExtAPI</a>
187
+ : <a class="el" href="classSVF_1_1ExtAPI.html#a9b15082f3c118da731705bba3924507d">SVF::ExtAPI</a>
188
188
  </li>
189
189
  <li>getAllPts()
190
190
  : <a class="el" href="classSVF_1_1MutableDFPTData.html#ac9120fbb056e23cdf84646a37d809a8d">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
@@ -220,9 +220,6 @@ $(function() {
220
220
  <li>getArgPos()
221
221
  : <a class="el" href="classSVF_1_1ExtAPI.html#a848ec5976f48f84274bb6a295160fb04">SVF::ExtAPI</a>
222
222
  </li>
223
- <li>getArgs()
224
- : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a836c35b94a827e29cd2e24982f5bc307">SVF::ExtAPI::Operation</a>
225
- </li>
226
223
  <li>getArgsOfUncalledFunction()
227
224
  : <a class="el" href="classSVF_1_1SVFModule.html#a3f69d3542809cd6c2ddf579dd1505e36">SVF::SVFModule</a>
228
225
  </li>
@@ -1455,7 +1452,7 @@ $(function() {
1455
1452
  : <a class="el" href="classSVF_1_1MRGenerator.html#ae487d7b800d7536b578095c9f140ac80">SVF::MRGenerator</a>
1456
1453
  </li>
1457
1454
  <li>getModRefInfo()
1458
- : <a class="el" href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator</a>
1455
+ : <a class="el" href="classSVF_1_1MRGenerator.html#a3a6c0f60c861b6d744225a40aea638d7">SVF::MRGenerator</a>
1459
1456
  , <a class="el" href="classSVF_1_1WPAPass.html#a567f818fa7b29142b18cb39e5c063a4e">SVF::WPAPass</a>
1460
1457
  </li>
1461
1458
  <li>getModSideEffectOfCallSite()
@@ -1532,7 +1529,7 @@ $(function() {
1532
1529
  : <a class="el" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG</a>
1533
1530
  </li>
1534
1531
  <li>getMUSet()
1535
- : <a class="el" href="classSVF_1_1MemSSA.html#af1a7b3ca0144ebff3747715e89646fbb">SVF::MemSSA</a>
1532
+ : <a class="el" href="classSVF_1_1MemSSA.html#af4d11a0c7da0ddd7dff8d75a00279847">SVF::MemSSA</a>
1536
1533
  </li>
1537
1534
  <li>getMutDFPTDataTy()
1538
1535
  : <a class="el" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl</a>
@@ -1659,7 +1656,7 @@ $(function() {
1659
1656
  </li>
1660
1657
  <li>getObject()
1661
1658
  : <a class="el" href="classSVF_1_1DummyVersionPropSVFGNode.html#ac10a4b9c2ee536cfcb74120d86c0619f">SVF::DummyVersionPropSVFGNode</a>
1662
- , <a class="el" href="classSVF_1_1SVFIR.html#a25b86c16d11b4d50ccc28ead525687ae">SVF::SVFIR</a>
1659
+ , <a class="el" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR</a>
1663
1660
  </li>
1664
1661
  <li>getObjectNode()
1665
1662
  : <a class="el" href="classSVF_1_1IRGraph.html#aba13ca47865614e45321c1ae53e640c1">SVF::IRGraph</a>
@@ -1685,8 +1682,14 @@ $(function() {
1685
1682
  <li>getOperand()
1686
1683
  : <a class="el" href="classllvm_1_1generic__bridge__gep__type__iterator.html#a9494bbdc909dab98dd3fd23a416f3a31">llvm::generic_bridge_gep_type_iterator&lt; ItTy &gt;</a>
1687
1684
  </li>
1688
- <li>getOperation()
1689
- : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a9c01fa3f654f55000b8adcab05f2e26f">SVF::ExtAPI::Operation</a>
1685
+ <li>getOperands()
1686
+ : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#aca70af83508022bb19bcefaf007a4467">SVF::ExtAPI::Operation</a>
1687
+ </li>
1688
+ <li>getOperandStr()
1689
+ : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#ae2b5f412aae6d3aa1c769579b377636a">SVF::ExtAPI::Operation</a>
1690
+ </li>
1691
+ <li>getOperator()
1692
+ : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a2344036fc095c47072ee4c1fb4955745">SVF::ExtAPI::Operation</a>
1690
1693
  </li>
1691
1694
  <li>getOpICFGNode()
1692
1695
  : <a class="el" href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt</a>
@@ -1928,15 +1931,15 @@ $(function() {
1928
1931
  <li>getPts()
1929
1932
  : <a class="el" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen</a>
1930
1933
  , <a class="el" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl</a>
1931
- , <a class="el" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl&lt; Cond &gt;</a>
1934
+ , <a class="el" href="classSVF_1_1CondPTAImpl.html#a0b96ba98239186d6d676f9540da9e590">SVF::CondPTAImpl&lt; Cond &gt;</a>
1932
1935
  , <a class="el" href="classSVF_1_1MutableDFPTData.html#a4cbb9131a89c5c48367fb927693b5c6b">SVF::MutableDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1933
1936
  , <a class="el" href="classSVF_1_1MutableDiffPTData.html#ac2f494da9379c336bb81a0dc438b5af9">SVF::MutableDiffPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1934
1937
  , <a class="el" href="classSVF_1_1MutablePTData.html#abe4230f3ba78fc660ea291fda36ffa62">SVF::MutablePTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1935
- , <a class="el" href="classSVF_1_1MutableVersionedPTData.html#afcc34f6cedca6a8f151b1a7251832818">SVF::MutableVersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
1938
+ , <a class="el" href="classSVF_1_1MutableVersionedPTData.html#aaf519166d2e0ca3c81088b52a1cf3066">SVF::MutableVersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
1936
1939
  , <a class="el" href="classSVF_1_1PersistentDFPTData.html#a5f6a01d0bb40a718bc14f2cc1bb98a13">SVF::PersistentDFPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1937
1940
  , <a class="el" href="classSVF_1_1PersistentDiffPTData.html#a9982ecf42416756a0729a28e8713cfed">SVF::PersistentDiffPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1938
1941
  , <a class="el" href="classSVF_1_1PersistentPTData.html#a34f8226202e1654d4e67916b21ec4d99">SVF::PersistentPTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1939
- , <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#afe80884fa8227e50f28631e20aa6fdf6">SVF::PersistentVersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
1942
+ , <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#a9b81d20e54d08e36edbff43549b1e820">SVF::PersistentVersionedPTData&lt; Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet &gt;</a>
1940
1943
  , <a class="el" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis</a>
1941
1944
  , <a class="el" href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">SVF::PTData&lt; Key, KeySet, Data, DataSet &gt;</a>
1942
1945
  , <a class="el" href="classSVF_1_1Steensgaard.html#adbcb9af660ab9bb0202bd32342280486">SVF::Steensgaard</a>
@@ -2214,7 +2217,7 @@ $(function() {
2214
2217
  , <a class="el" href="classSVF_1_1BranchVFGNode.html#a2ef5951de4760d28adb9d82b22067360">SVF::BranchVFGNode</a>
2215
2218
  </li>
2216
2219
  <li>getSuccNodes()
2217
- : <a class="el" href="classSVF_1_1MTASVFGBuilder.html#a7033805052c8fae5cd0104fdd9e345c0">SVF::MTASVFGBuilder</a>
2220
+ : <a class="el" href="classSVF_1_1MTASVFGBuilder.html#a8164ae39b494115142767abc29cebd53">SVF::MTASVFGBuilder</a>
2218
2221
  </li>
2219
2222
  <li>getSVFFun()
2220
2223
  : <a class="el" href="classSVF_1_1PCG.html#ac7dd2bbd4274a5e3a6427f3b674f99ba">SVF::PCG</a>
@@ -2268,10 +2271,10 @@ $(function() {
2268
2271
  : <a class="el" href="classSVF_1_1GrammarBase.html#afb21efe07e3451ad8284cab384963f06">SVF::GrammarBase</a>
2269
2272
  </li>
2270
2273
  <li>getTaskDataAtHareParForSite()
2271
- : <a class="el" href="classSVF_1_1ThreadAPI.html#a58cf56e35be873a5a26c5eb0d9b5c9b3">SVF::ThreadAPI</a>
2274
+ : <a class="el" href="classSVF_1_1ThreadAPI.html#aee8fac6281a95d8a519add100e8887d1">SVF::ThreadAPI</a>
2272
2275
  </li>
2273
2276
  <li>getTaskFuncAtHareParForSite()
2274
- : <a class="el" href="classSVF_1_1ThreadAPI.html#a282d6aeab91135af4cab8195d67badf6">SVF::ThreadAPI</a>
2277
+ : <a class="el" href="classSVF_1_1ThreadAPI.html#afeedd6e518af76fa9e7142af8899b2f5">SVF::ThreadAPI</a>
2275
2278
  </li>
2276
2279
  <li>getTCG()
2277
2280
  : <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#a8ad9b8cb0e6300b2ffc55244e53cece6">SVF::ForkJoinAnalysis</a>
@@ -2486,7 +2489,7 @@ $(function() {
2486
2489
  : <a class="el" href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">SVF::ExeState</a>
2487
2490
  </li>
2488
2491
  <li>global_begin()
2489
- : <a class="el" href="classSVF_1_1SVFModule.html#a4dc32c583d29d74d052eaa5665b0b70e">SVF::SVFModule</a>
2492
+ : <a class="el" href="classSVF_1_1SVFModule.html#af81c6deed3978562f83f120119c6aad2">SVF::SVFModule</a>
2490
2493
  </li>
2491
2494
  <li>global_end()
2492
2495
  : <a class="el" href="classSVF_1_1SVFModule.html#a8a34164634d6ad9a7b76175907c8c44b">SVF::SVFModule</a>
@@ -78,7 +78,7 @@ $(function() {
78
78
  : <a class="el" href="classSVF_1_1DDAVFSolver.html#ab60c701f1881d88aa4440991fb972638">SVF::DDAVFSolver&lt; CVar, CPtSet, DPIm &gt;</a>
79
79
  </li>
80
80
  <li>Operation()
81
- : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a4faa2c9e9e1bb86ceb1ffeb0621134cc">SVF::ExtAPI::Operation</a>
81
+ : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a6fe4cc69b9181548940cbc67f7b6b315">SVF::ExtAPI::Operation</a>
82
82
  </li>
83
83
  <li>operator &amp;=()
84
84
  : <a class="el" href="classSVF_1_1CondStdSet.html#abb97324d865818f0a51992ee86d1c5ad">SVF::CondStdSet&lt; Element &gt;</a>
@@ -79,8 +79,8 @@ $(function() {
79
79
  <li>parForSitesEnd()
80
80
  : <a class="el" href="classSVF_1_1ThreadCallGraph.html#a506343bcd23ba71d2db915ff7c58e728">SVF::ThreadCallGraph</a>
81
81
  </li>
82
- <li>parseNode()
83
- : <a class="el" href="classSVF_1_1SVFIRBuilder.html#a1ad4f6ac06c1f3523661e7b2a0be09b5">SVF::SVFIRBuilder</a>
82
+ <li>parseOperations()
83
+ : <a class="el" href="classSVF_1_1SVFIRBuilder.html#a8f4716f34bc0738ed9dec756113f0a37">SVF::SVFIRBuilder</a>
84
84
  </li>
85
85
  <li>parseProductionsString()
86
86
  : <a class="el" href="classSVF_1_1GrammarBuilder.html#a5a34166b4b1ce1dcc985f4619f4a2bbc">SVF::GrammarBuilder</a>
@@ -392,7 +392,7 @@ $(function() {
392
392
  : <a class="el" href="classSVF_1_1FlowSensitive.html#a3abffe1434386b1ce349fbed0cfe0967">SVF::FlowSensitive</a>
393
393
  </li>
394
394
  <li>propagateVersion()
395
- : <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#a7a98162b69de90f80ce853a6ff43af56">SVF::VersionedFlowSensitive</a>
395
+ : <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#ad1aa83a71379164d3b7ccf6b61639cb1">SVF::VersionedFlowSensitive</a>
396
396
  </li>
397
397
  <li>propagateViaObj()
398
398
  : <a class="el" href="classSVF_1_1ContextDDA.html#a45d7a381fec0692b4d2f7d0eec47ccf1">SVF::ContextDDA</a>
@@ -122,9 +122,6 @@ $(function() {
122
122
  <li>setAllReachable()
123
123
  : <a class="el" href="classSVF_1_1ProgSlice.html#ae6102647fa4985142c293116516612cd">SVF::ProgSlice</a>
124
124
  </li>
125
- <li>setArgs()
126
- : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#ac82ed2bae3d953f524ca9defc06feba8">SVF::ExtAPI::Operation</a>
127
- </li>
128
125
  <li>setAttributeKinds()
129
126
  : <a class="el" href="classSVF_1_1GrammarBase.html#a1e1bf1e32bcd7c68ce789c2f9f6327c0">SVF::GrammarBase</a>
130
127
  </li>
@@ -316,8 +313,8 @@ $(function() {
316
313
  <li>setOffset()
317
314
  : <a class="el" href="classSVF_1_1DCHEdge.html#a70f757826082c95766c8324c1264e977">SVF::DCHEdge</a>
318
315
  </li>
319
- <li>setOperation()
320
- : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#ab602429a772a2d6942cfb18eef10a09a">SVF::ExtAPI::Operation</a>
316
+ <li>setOperands()
317
+ : <a class="el" href="classSVF_1_1ExtAPI_1_1Operation.html#a901c5524219bee81a00414d7c92c26f8">SVF::ExtAPI::Operation</a>
321
318
  </li>
322
319
  <li>setOpVer()
323
320
  : <a class="el" href="classSVF_1_1BinaryOPVFGNode.html#a76c67d31ffb67c4ef102471898ae2709">SVF::BinaryOPVFGNode</a>
@@ -478,7 +475,7 @@ $(function() {
478
475
  : <a class="el" href="structSVF_1_1SparseBitVectorElement.html#a4ec765790960025d3468866c326ab87b">SVF::SparseBitVectorElement&lt; ElementSize &gt;</a>
479
476
  </li>
480
477
  <li>SparseBitVectorIterator()
481
- : <a class="el" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html#aa482a56540a5279f71d93884b57f46ef">SVF::SparseBitVector&lt; ElementSize &gt;::SparseBitVectorIterator</a>
478
+ : <a class="el" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html#a5fe4841ca223f13c2aeec4c6e69a7b43">SVF::SparseBitVector&lt; ElementSize &gt;::SparseBitVectorIterator</a>
482
479
  </li>
483
480
  <li>spawneesBegin()
484
481
  : <a class="el" href="classSVF_1_1PCG.html#a776beaeae8b6058f1f9c314a77e32083">SVF::PCG</a>
@@ -500,7 +497,7 @@ $(function() {
500
497
  </li>
501
498
  <li>split()
502
499
  : <a class="el" href="classSVF_1_1LockResultValidator.html#ab8a6935e1ea6f99d60ead862a7b1782f">SVF::LockResultValidator</a>
503
- , <a class="el" href="classSVF_1_1MTAResultValidator.html#a7dad63ce2a85142a56d13926f10fde47">SVF::MTAResultValidator</a>
500
+ , <a class="el" href="classSVF_1_1MTAResultValidator.html#a73db9ad234b263b6e644e4b38be14fe6">SVF::MTAResultValidator</a>
504
501
  </li>
505
502
  <li>SrcSnkDDA()
506
503
  : <a class="el" href="classSVF_1_1SrcSnkDDA.html#a73f6ddd4ba868e203109c52e4f3600bd">SVF::SrcSnkDDA</a>
@@ -543,10 +540,10 @@ $(function() {
543
540
  : <a class="el" href="classSVF_1_1Steensgaard.html#ac79e21396243dfa969136daee5ecdbd4">SVF::Steensgaard</a>
544
541
  </li>
545
542
  <li>StInfo()
546
- : <a class="el" href="classSVF_1_1StInfo.html#a72dd2114d61e1489676a524b83ebb5ac">SVF::StInfo</a>
543
+ : <a class="el" href="classSVF_1_1StInfo.html#acf028061b5a83c339766c30b19e8fc65">SVF::StInfo</a>
547
544
  </li>
548
545
  <li>StmtDPItem()
549
- : <a class="el" href="classSVF_1_1StmtDPItem.html#a3882dc175baaccfa1f811dcbfef98f71">SVF::StmtDPItem&lt; LocCond &gt;</a>
546
+ : <a class="el" href="classSVF_1_1StmtDPItem.html#aed9239e5558569f6e957e691fa1872d7">SVF::StmtDPItem&lt; LocCond &gt;</a>
550
547
  </li>
551
548
  <li>StmtVFGNode()
552
549
  : <a class="el" href="classSVF_1_1StmtVFGNode.html#a03c4e0a31d2377ef4ffe46fe183ccd9d">SVF::StmtVFGNode</a>
@@ -555,13 +552,13 @@ $(function() {
555
552
  : <a class="el" href="classSVF_1_1ExeState.html#ade4fc12b40dd05bf840c313f2b723879">SVF::ExeState</a>
556
553
  </li>
557
554
  <li>StoreCGEdge()
558
- : <a class="el" href="classSVF_1_1StoreCGEdge.html#afdba4e02b1ccdc19fdc18bbe43363e79">SVF::StoreCGEdge</a>
555
+ : <a class="el" href="classSVF_1_1StoreCGEdge.html#a667b277ef845b866d3b11a7fbfce0815">SVF::StoreCGEdge</a>
559
556
  </li>
560
557
  <li>StoreCHI()
561
558
  : <a class="el" href="classSVF_1_1StoreCHI.html#a34433e6e437d302014fd06b5fb624a79">SVF::StoreCHI&lt; Cond &gt;</a>
562
559
  </li>
563
560
  <li>StoreStmt()
564
- : <a class="el" href="classSVF_1_1StoreStmt.html#acbea1ddbde90259b668b21f80f56cfbb">SVF::StoreStmt</a>
561
+ : <a class="el" href="classSVF_1_1StoreStmt.html#a22bc2f9290dfd7ade13ba63cc983ac42">SVF::StoreStmt</a>
565
562
  </li>
566
563
  <li>StoreVFGNode()
567
564
  : <a class="el" href="classSVF_1_1StoreVFGNode.html#a496607cda1cc26a8753d6a7af620e95a">SVF::StoreVFGNode</a>
@@ -595,7 +592,7 @@ $(function() {
595
592
  : <a class="el" href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1">SVF::SVFBasicBlock</a>
596
593
  </li>
597
594
  <li>SVFFunction()
598
- : <a class="el" href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944">SVF::SVFFunction</a>
595
+ : <a class="el" href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022">SVF::SVFFunction</a>
599
596
  </li>
600
597
  <li>SVFG()
601
598
  : <a class="el" href="classSVF_1_1SVFG.html#a68965c5a9cc5136aa0b593851c60ff12">SVF::SVFG</a>
@@ -658,7 +655,7 @@ $(function() {
658
655
  : <a class="el" href="classSVF_1_1SymbolTableInfo.html#aff272bc1d00f2e57b7677d1826a31237">SVF::SymbolTableInfo</a>
659
656
  </li>
660
657
  <li>SymState()
661
- : <a class="el" href="classSVF_1_1SymState.html#aee986d8fbccf71a606284d8467f450e4">SVF::SymState</a>
658
+ : <a class="el" href="classSVF_1_1SymState.html#a74011f042d561221c30fcd176490abad">SVF::SymState</a>
662
659
  </li>
663
660
  <li>szudzik()
664
661
  : <a class="el" href="structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html#adf5f19b1b32c117571fe74035cdcdbe2">SVF::Hash&lt; std::pair&lt; S, T &gt; &gt;</a>