svf-tools 1.0.621 → 1.0.623
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.
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +52 -52
- package/SVF-doxygen/html/html/IntervalValue_8h_source.html +17 -15
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/SVFG_8h_source.html +37 -36
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +83 -83
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1IntervalValue-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +32 -0
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +96 -95
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +157 -121
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +116 -115
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +13 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
- package/SVF-doxygen/html/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
- package/SVF-doxygen/html/html/functions_c.html +6 -6
- package/SVF-doxygen/html/html/functions_func_h.html +7 -4
- package/SVF-doxygen/html/html/functions_func_i.html +2 -2
- package/SVF-doxygen/html/html/functions_func_t.html +1 -0
- package/SVF-doxygen/html/html/functions_h.html +5 -2
- package/SVF-doxygen/html/html/functions_i.html +4 -4
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +9 -15
- package/SVF-doxygen/html/html/functions_s.html +15 -13
- package/SVF-doxygen/html/html/functions_t.html +7 -6
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/namespaceSVF.html +30 -30
- package/SVF-doxygen/html/html/search/all_10.js +5 -5
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +8 -8
- package/SVF-doxygen/html/html/search/all_13.js +5 -5
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +1 -1
- package/SVF-doxygen/html/html/search/all_8.js +1 -0
- package/SVF-doxygen/html/html/search/all_9.js +3 -3
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_7.js +1 -0
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_7.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
- package/include/AbstractExecution/IntervalValue.h +5 -0
- package/include/Graphs/SVFG.h +6 -0
- package/include/Util/ExtAPI.h +65 -40
- package/package.json +1 -1
|
@@ -135,6 +135,9 @@ Public Member Functions</h2></td></tr>
|
|
|
135
135
|
<tr class="memitem:a8e7a945f4266e8dc7dcfff2ad6494bfb inherit pub_methods_classSVF_1_1SVFG"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a> (const <a class="el" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a> *pagNode) const</td></tr>
|
|
136
136
|
<tr class="memdesc:a8e7a945f4266e8dc7dcfff2ad6494bfb inherit pub_methods_classSVF_1_1SVFG"><td class="mdescLeft"> </td><td class="mdescRight">Given a pagNode, return its definition site. <a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">More...</a><br /></td></tr>
|
|
137
137
|
<tr class="separator:a8e7a945f4266e8dc7dcfff2ad6494bfb inherit pub_methods_classSVF_1_1SVFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
138
|
+
<tr class="memitem:ad2d19c5b80b01c8a7bb41100bb156279 inherit pub_methods_classSVF_1_1SVFG"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">hasDefSVFGNode</a> (const <a class="el" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a> *pagNode) const</td></tr>
|
|
139
|
+
<tr class="memdesc:ad2d19c5b80b01c8a7bb41100bb156279 inherit pub_methods_classSVF_1_1SVFG"><td class="mdescLeft"> </td><td class="mdescRight">Given a pagNode, return whether it has definition site. <a href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">More...</a><br /></td></tr>
|
|
140
|
+
<tr class="separator:ad2d19c5b80b01c8a7bb41100bb156279 inherit pub_methods_classSVF_1_1SVFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
138
141
|
<tr class="memitem:adc9fbb4553472b238d6c3bb5062279cb inherit pub_methods_classSVF_1_1SVFG"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a> ()</td></tr>
|
|
139
142
|
<tr class="memdesc:adc9fbb4553472b238d6c3bb5062279cb inherit pub_methods_classSVF_1_1SVFG"><td class="mdescLeft"> </td><td class="mdescRight">Perform statistics. <a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">More...</a><br /></td></tr>
|
|
140
143
|
<tr class="separator:adc9fbb4553472b238d6c3bb5062279cb inherit pub_methods_classSVF_1_1SVFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -1143,7 +1146,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1143
1146
|
<div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
|
|
1144
1147
|
<div class="ttc" id="classSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
|
|
1145
1148
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_af504407e6cd42cfe2ea27165ff15df40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#af504407e6cd42cfe2ea27165ff15df40">SVF::SVFGOPT::resetDef</a></div><div class="ttdeci">void resetDef(const PAGNode *pagNode, const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00260">SVFGOPT.h:260</a></div></div>
|
|
1146
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
1149
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00396">SVFG.h:396</a></div></div>
|
|
1147
1150
|
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00163">SVFIR.h:163</a></div></div>
|
|
1148
1151
|
</div><!-- fragment -->
|
|
1149
1152
|
</div>
|
|
@@ -1180,7 +1183,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1180
1183
|
<div class="ttc" id="classSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
|
|
1181
1184
|
<div class="ttc" id="classSVF_1_1ICFG_html_a0dca4655c2f6112a5be1f921b8e81076"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00269">ICFG.cpp:269</a></div></div>
|
|
1182
1185
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_af504407e6cd42cfe2ea27165ff15df40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#af504407e6cd42cfe2ea27165ff15df40">SVF::SVFGOPT::resetDef</a></div><div class="ttdeci">void resetDef(const PAGNode *pagNode, const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00260">SVFGOPT.h:260</a></div></div>
|
|
1183
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
1186
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00396">SVFG.h:396</a></div></div>
|
|
1184
1187
|
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00163">SVFIR.h:163</a></div></div>
|
|
1185
1188
|
</div><!-- fragment -->
|
|
1186
1189
|
</div>
|
|
@@ -1594,7 +1597,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1594
1597
|
<p>Continue checking and remove other self cycle which are NOT context-related </p>
|
|
1595
1598
|
|
|
1596
1599
|
<p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00442">442</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
|
|
1597
|
-
<div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> {</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordtype">bool</span> hasSelfCycle = <span class="keyword">false</span>;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <a class="code" href="classSVF_1_1VFGEdge.html#a557334ef75bb5479b045f68c27b38701">SVFGEdge::SVFGEdgeSetTy</a> inEdges = node-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>();</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeIt = inEdges.begin();</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeEit = inEdges.end();</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">for</span> (; inEdgeIt != inEdgeEit; ++inEdgeIt)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* preEdge = *inEdgeIt;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">if</span> (preEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() == preEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a>)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">break</span>; </div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">keepContextSelfCycle</a> &&</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  SVFUtil::isa<CallIndSVFGEdge, RetIndSVFGEdge>(preEdge))</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">continue</span>; </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  assert(SVFUtil::isa<IndirectSVFGEdge>(preEdge) && <span class="stringliteral">"can only remove indirect SVFG edge"</span>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(preEdge);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  }</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  }</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  }</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">return</span> hasSelfCycle;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
1600
|
+
<div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> {</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordtype">bool</span> hasSelfCycle = <span class="keyword">false</span>;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <a class="code" href="classSVF_1_1VFGEdge.html#a557334ef75bb5479b045f68c27b38701">SVFGEdge::SVFGEdgeSetTy</a> inEdges = node-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>();</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeIt = inEdges.begin();</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inEdgeEit = inEdges.end();</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">for</span> (; inEdgeIt != inEdgeEit; ++inEdgeIt)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* preEdge = *inEdgeIt;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">if</span> (preEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() == preEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a>)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">break</span>; </div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">keepContextSelfCycle</a> &&</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  SVFUtil::isa<CallIndSVFGEdge, RetIndSVFGEdge>(preEdge))</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  hasSelfCycle = <span class="keyword">true</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">continue</span>; </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  assert(SVFUtil::isa<IndirectSVFGEdge>(preEdge) && <span class="stringliteral">"can only remove indirect SVFG edge"</span>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(preEdge);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  }</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  }</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  }</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">return</span> hasSelfCycle;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
|
|
1598
1601
|
<div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00188">GenericGraph.h:188</a></div></div>
|
|
1599
1602
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00079">GenericGraph.h:79</a></div></div>
|
|
1600
1603
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_a65bba62d9b62bf2bdbbda69540eeb38d"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">SVF::SVFGOPT::keepAllSelfCycle</a></div><div class="ttdeci">bool keepAllSelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00356">SVFGOPT.h:356</a></div></div>
|
|
@@ -1725,7 +1728,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1725
1728
|
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> phiId = <a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_arg);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">addCallEdge</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_arg), phiId, csId);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">PHISVFGNode</a>* phi = SVFUtil::cast<PHISVFGNode>(<a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(phiId));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">addInterPHIOperands</a>(phi, cs_arg);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  edges.insert(edge);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
1726
1729
|
<div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00149">SVFG.h:149</a></div></div>
|
|
1727
1730
|
<div class="ttc" id="namespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
|
|
1728
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
1731
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00355">SVFG.h:355</a></div></div>
|
|
1729
1732
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
|
|
1730
1733
|
<div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00701">VFG.cpp:701</a></div></div>
|
|
1731
1734
|
<div class="ttc" id="namespaceSVF_html_aa4745cf70b26e17d59752356f0b19dd9"><div class="ttname"><a href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVF::SVFGEdge</a></div><div class="ttdeci">VFGEdge SVFGEdge</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00040">SVFG.h:40</a></div></div>
|
|
@@ -1849,7 +1852,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1849
1852
|
<div class="ttc" id="namespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
|
|
1850
1853
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a5de67390d38bfacd5b63b776a0ecbfff"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">SVF::SVFIR::isPhiNode</a></div><div class="ttdeci">bool isPhiNode(const SVFVar *node) const</div><div class="ttdoc">Whether this SVFVar is a result operand a of phi node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00228">SVFIR.h:228</a></div></div>
|
|
1851
1854
|
<div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
|
|
1852
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
1855
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00355">SVFG.h:355</a></div></div>
|
|
1853
1856
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
|
|
1854
1857
|
<div class="ttc" id="namespaceSVF_html_aa4745cf70b26e17d59752356f0b19dd9"><div class="ttname"><a href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVF::SVFGEdge</a></div><div class="ttdeci">VFGEdge SVFGEdge</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00040">SVFG.h:40</a></div></div>
|
|
1855
1858
|
</div><!-- fragment -->
|
|
@@ -2026,7 +2029,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2026
2029
|
<div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01025">VFGNode.h:1025</a></div></div>
|
|
2027
2030
|
<div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00093">SVFGNode.h:93</a></div></div>
|
|
2028
2031
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
2029
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2032
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00242">SVFG.h:242</a></div></div>
|
|
2030
2033
|
</div><!-- fragment -->
|
|
2031
2034
|
</div>
|
|
2032
2035
|
</div>
|
|
@@ -2080,7 +2083,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2080
2083
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00212">GenericGraph.h:212</a></div></div>
|
|
2081
2084
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
|
|
2082
2085
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_ac3b14bf191cadb832e3a34affd7e569d"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#ac3b14bf191cadb832e3a34affd7e569d">SVF::SVFGOPT::parseSelfCycleHandleOption</a></div><div class="ttdeci">void parseSelfCycleHandleOption()</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00372">SVFGOPT.cpp:372</a></div></div>
|
|
2083
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2086
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00242">SVFG.h:242</a></div></div>
|
|
2084
2087
|
</div><!-- fragment -->
|
|
2085
2088
|
</div>
|
|
2086
2089
|
</div>
|
|
@@ -2275,7 +2278,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2275
2278
|
<p>remove incoming edges </p>
|
|
2276
2279
|
|
|
2277
2280
|
<p class="definition">Definition at line <a class="el" href="SVFGOPT_8h_source.html#l00335">335</a> of file <a class="el" href="SVFGOPT_8h_source.html">SVFGOPT.h</a>.</p>
|
|
2278
|
-
<div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">while</span> (node->hasIncomingEdge())</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node->InEdgeBegin()));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2281
|
+
<div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">while</span> (node->hasIncomingEdge())</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node->InEdgeBegin()));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
|
|
2279
2282
|
</div><!-- fragment -->
|
|
2280
2283
|
</div>
|
|
2281
2284
|
</div>
|
|
@@ -2304,7 +2307,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2304
2307
|
</div><div class="memdoc">
|
|
2305
2308
|
|
|
2306
2309
|
<p class="definition">Definition at line <a class="el" href="SVFGOPT_8h_source.html#l00341">341</a> of file <a class="el" href="SVFGOPT_8h_source.html">SVFGOPT.h</a>.</p>
|
|
2307
|
-
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">while</span> (node->hasOutgoingEdge())</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node->OutEdgeBegin()));</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2310
|
+
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">while</span> (node->hasOutgoingEdge())</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(*(node->OutEdgeBegin()));</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
|
|
2308
2311
|
</div><!-- fragment -->
|
|
2309
2312
|
</div>
|
|
2310
2313
|
</div>
|
|
@@ -2365,7 +2368,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2365
2368
|
<div class="ttc" id="classSVF_1_1FormalRetVFGNode_html_a62a894e71fcf7a3db19c0488d96a7262"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html#a62a894e71fcf7a3db19c0488d96a7262">SVF::FormalRetVFGNode::getRet</a></div><div class="ttdeci">const PAGNode * getRet() const</div><div class="ttdoc">Return value at callee. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01040">VFGNode.h:1040</a></div></div>
|
|
2366
2369
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_ac15b3c2cb127b17ebad3a30fc04b6f40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">SVF::SVFGOPT::removeAllEdges</a></div><div class="ttdeci">void removeAllEdges(const SVFGNode *node)</div><div class="ttdoc">Remove edges of a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00330">SVFGOPT.h:330</a></div></div>
|
|
2367
2370
|
<div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00967">VFGNode.h:967</a></div></div>
|
|
2368
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2371
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00355">SVFG.h:355</a></div></div>
|
|
2369
2372
|
<div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
|
|
2370
2373
|
<div class="ttc" id="classSVF_1_1ActualParmVFGNode_html_ab153944a366488c5f7e91d61561e9c0e"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html#ab153944a366488c5f7e91d61561e9c0e">SVF::ActualParmVFGNode::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00858">VFGNode.h:858</a></div></div>
|
|
2371
2374
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
|
|
@@ -2237,7 +2237,7 @@ Private Attributes</h2></td></tr>
|
|
|
2237
2237
|
<div class="ttc" id="classSVF_1_1SVFIR_html_aa7e98cd2fd599aedefa4c2e6fb659da0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">SVF::SVFIR::addDummyValNode</a></div><div class="ttdeci">NodeID addDummyValNode()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00444">SVFIR.h:444</a></div></div>
|
|
2238
2238
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_a9b15082f3c118da731705bba3924507d"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a9b15082f3c118da731705bba3924507d">SVF::ExtAPI::getAllOperations</a></div><div class="ttdeci">std::vector< Operation > getAllOperations(std::string funName)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00344">ExtAPI.cpp:344</a></div></div>
|
|
2239
2239
|
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html_a2a0711cb1fdd3c5c90b07ff107aff1ac"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#a2a0711cb1fdd3c5c90b07ff107aff1ac">SVF::SVFIRBuilder::addAddrEdge</a></div><div class="ttdeci">AddrStmt * addAddrEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Address edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00294">SVFIRBuilder.h:294</a></div></div>
|
|
2240
|
-
<div class="ttc" id="classSVF_1_1ExtAPI_1_1Operation_html"><div class="ttname"><a href="classSVF_1_1ExtAPI_1_1Operation.html">SVF::ExtAPI::Operation</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#
|
|
2240
|
+
<div class="ttc" id="classSVF_1_1ExtAPI_1_1Operation_html"><div class="ttname"><a href="classSVF_1_1ExtAPI_1_1Operation.html">SVF::ExtAPI::Operation</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00227">ExtAPI.h:227</a></div></div>
|
|
2241
2241
|
<div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
2242
2242
|
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html_acc69fc638380f34164db649d9bf2a7d6"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">SVF::SVFIRBuilder::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdoc">Get different kinds of node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00086">SVFIRBuilder.h:86</a></div></div>
|
|
2243
2243
|
<div class="ttc" id="classSVF_1_1SVFValue_html_a11f2d9b6e969ede6fca2c204cc15b821"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">SVF::SVFValue::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00215">SVFValue.h:215</a></div></div>
|
|
@@ -2559,7 +2559,7 @@ Private Attributes</h2></td></tr>
|
|
|
2559
2559
|
|
|
2560
2560
|
<p class="definition">Definition at line <a class="el" href="SVFIRBuilder_8cpp_source.html#l01178">1178</a> of file <a class="el" href="SVFIRBuilder_8cpp_source.html">SVFIRBuilder.cpp</a>.</p>
|
|
2561
2561
|
<div class="fragment"><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> {</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="comment">// Record all dummy nodes</span></div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  std::map<std::string, NodeID> nodeIDMap;</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ExtAPI_1_1Operation.html">ExtAPI::Operation</a>& operation : operations)</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  {</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>  std::vector<NodeID>& operands = operation.getOperands();</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  <span class="keywordflow">if</span> (operation.getOperator() == <span class="stringliteral">"funptr_ops"</span> || operation.getOperator() == <span class="stringliteral">"Rb_tree_ops"</span>)</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  <span class="keywordflow">for</span> (<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> s: operation.getOperandStr())</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  {</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="comment">// There is already a NodeID in nodeIDMap</span></div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>  <span class="keywordflow">if</span> (nodeIDMap.find(s) != nodeIDMap.end())</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  operands.push_back(nodeIDMap[s]);</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  {</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> nodeIDType = <a class="code" href="classSVF_1_1ExtAPI.html#a02380d22fd6021ebce1e54723d695c99">ExtAPI::getExtAPI</a>()-><a class="code" href="classSVF_1_1ExtAPI.html#a6fdedabaf1adb051a562a261b86c9cf6">getNodeIDType</a>(s);</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="keywordflow">if</span> (nodeIDType >= 0)</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  {</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  <span class="keywordflow">if</span>( cs->arg_size() <= (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) nodeIDType)</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Argument out of bounds!"</span>);</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  {</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  operands.push_back(<a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs->getArgOperand(nodeIDType)));</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  nodeIDMap[s] = <a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs->getArgOperand(nodeIDType));</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  }</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  }</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeIDType == -1)</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  {</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  operands.push_back(<a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs));</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  nodeIDMap[s] = <a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs);</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  }</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeIDType == -2)</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  {</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  operands.push_back(<a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">addDummyValNode</a>());</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  nodeIDMap[s] = operands[operands.size() - 1];</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  }</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeIDType == -3)</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  {</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>  <span class="keywordflow">if</span> (SVFUtil::isa<PointerType>(cs->getType()))</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  {</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  operands.push_back(<a class="code" href="classSVF_1_1SVFIRBuilder.html#a5a93f3d13e2b3df126fbc42b1bd09006">getObjectNode</a>(cs));</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  nodeIDMap[s] = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a5a93f3d13e2b3df126fbc42b1bd09006">getObjectNode</a>(cs);</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>  }</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  }</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeIDType == -4)</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>  {</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  <span class="keywordflow">for</span> (<span class="keywordtype">char</span> <span class="keyword">const</span> &c : s)</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  {</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>  <span class="keywordflow">if</span> (std::isdigit(c) == 0)</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Invalid offset!"</span>);</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  }</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  operands.push_back(atoi(s.c_str()));</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>  nodeIDMap[s] = atoi(s.c_str());</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  }</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"The operand format of function operation is illegal!"</span>);</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  }</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>  }</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  }</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> }</div><div class="ttc" id="classSVF_1_1SVFIR_html_aa7e98cd2fd599aedefa4c2e6fb659da0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">SVF::SVFIR::addDummyValNode</a></div><div class="ttdeci">NodeID addDummyValNode()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00444">SVFIR.h:444</a></div></div>
|
|
2562
|
-
<div class="ttc" id="classSVF_1_1ExtAPI_1_1Operation_html"><div class="ttname"><a href="classSVF_1_1ExtAPI_1_1Operation.html">SVF::ExtAPI::Operation</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#
|
|
2562
|
+
<div class="ttc" id="classSVF_1_1ExtAPI_1_1Operation_html"><div class="ttname"><a href="classSVF_1_1ExtAPI_1_1Operation.html">SVF::ExtAPI::Operation</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00227">ExtAPI.h:227</a></div></div>
|
|
2563
2563
|
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html_acc69fc638380f34164db649d9bf2a7d6"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">SVF::SVFIRBuilder::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdoc">Get different kinds of node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00086">SVFIRBuilder.h:86</a></div></div>
|
|
2564
2564
|
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
|
|
2565
2565
|
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00050">SVFType.h:50</a></div></div>
|
|
@@ -2360,7 +2360,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2360
2360
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00239">FlowSensitive.h:239</a></div></div>
|
|
2361
2361
|
<div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
2362
2362
|
<div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a59f3dd74ed8c3e2fc48b9353ba2452aa"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">SVF::VersionedFlowSensitive::atKey</a></div><div class="ttdeci">static VersionedVar atKey(NodeID, Version)</div><div class="ttdoc">Return key into vPtD for address-taken var of a specific version. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00024">VersionedFlowSensitive.cpp:24</a></div></div>
|
|
2363
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2363
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00262">SVFG.h:262</a></div></div>
|
|
2364
2364
|
<div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
|
|
2365
2365
|
<div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a03f5f16377daa0258166a73de3e21f07"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">SVF::VersionedFlowSensitive::vPtD</a></div><div class="ttdeci">BVDataPTAImpl::VersionedPTDataTy * vPtD</div><div class="ttdoc">Points-to DS for working with versions. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00214">VersionedFlowSensitive.h:214</a></div></div>
|
|
2366
2366
|
<div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00238">VersionedFlowSensitive.h:238</a></div></div>
|
|
@@ -2496,7 +2496,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2496
2496
|
|
|
2497
2497
|
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00524">524</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
|
|
2498
2498
|
<div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span> {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFG.html#a241d0489bf0315460e2b07db87e7847c">SVFG::iterator</a> nodeIt = <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); nodeIt != <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++nodeIt)</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *sn = nodeIt->second;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVFGEdgeSetTy</a> &inEdges = sn-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>();</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  std::vector<SVFGEdge *> toDeleteFromIn;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : inEdges)</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  {</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">if</span> (SVFUtil::isa<IndirectSVFGEdge>(e)) toDeleteFromIn.push_back(e);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  }</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : toDeleteFromIn) <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(e);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="comment">// Only need to iterate over incoming edges for each node because edges</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="comment">// will be deleted from in/out through removeSVFGEdge.</span></div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a>(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
|
|
2499
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
2499
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
|
|
2500
2500
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00239">FlowSensitive.h:239</a></div></div>
|
|
2501
2501
|
<div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00188">GenericGraph.h:188</a></div></div>
|
|
2502
2502
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
@@ -70,7 +70,7 @@ $(function() {
|
|
|
70
70
|
<div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
|
|
71
71
|
<div class="ttc" id="fastcluster_8cpp_html_a8abcd9d66492e761592578e82ce2cba0"><div class="ttname"><a href="fastcluster_8cpp.html#a8abcd9d66492e761592578e82ce2cba0">fc_isnan</a></div><div class="ttdeci">bool fc_isnan(double x)</div><div class="ttdef"><b>Definition:</b> <a href="fastcluster_8cpp_source.html#l00019">fastcluster.cpp:19</a></div></div>
|
|
72
72
|
<div class="ttc" id="cJSON_8h_html_a1a175e87536301df98c805ac0636ad7c"><div class="ttname"><a href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a></div><div class="ttdeci">const cJSON *const b</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00255">cJSON.h:255</a></div></div>
|
|
73
|
-
<div class="ttc" id="namespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator<</a></div><div class="ttdeci">IntervalValue operator<(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Greater than IntervalValues. </div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
73
|
+
<div class="ttc" id="namespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator<</a></div><div class="ttdeci">IntervalValue operator<(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Greater than IntervalValues. </div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00602">IntervalValue.h:602</a></div></div>
|
|
74
74
|
<div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
75
75
|
<div class="ttc" id="cJSON_8cpp_html_a8a1a0a26c50cc4becfc754bb68d1dc6b"><div class="ttname"><a href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a></div><div class="ttdeci">cJSON * a</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02560">cJSON.cpp:2560</a></div></div>
|
|
76
76
|
<div class="ttc" id="cJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
|
|
@@ -1741,12 +1741,12 @@ $(function() {
|
|
|
1741
1741
|
<li>CxtLockProcVec
|
|
1742
1742
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a058f3518f0b861c46c99095922e373f0">SVF::LockAnalysis</a>
|
|
1743
1743
|
</li>
|
|
1744
|
-
<li>cxtLockset
|
|
1745
|
-
: <a class="el" href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">SVF::LockAnalysis</a>
|
|
1746
|
-
</li>
|
|
1747
1744
|
<li>CxtLockSet
|
|
1748
1745
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a0716c155b42b3ae7a6c8d7593bb6ac83">SVF::LockAnalysis</a>
|
|
1749
1746
|
</li>
|
|
1747
|
+
<li>cxtLockset
|
|
1748
|
+
: <a class="el" href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">SVF::LockAnalysis</a>
|
|
1749
|
+
</li>
|
|
1750
1750
|
<li>cxtLockSet
|
|
1751
1751
|
: <a class="el" href="classSVF_1_1LockResultValidator.html#a51e6f48be9f2a65b390e4e0350eb12a9">SVF::LockResultValidator</a>
|
|
1752
1752
|
</li>
|
|
@@ -1756,12 +1756,12 @@ $(function() {
|
|
|
1756
1756
|
<li>CxtLockToLockSet
|
|
1757
1757
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#ab782401c6521a2810e28ac602710ac22">SVF::LockAnalysis</a>
|
|
1758
1758
|
</li>
|
|
1759
|
-
<li>CxtLockToSpan
|
|
1760
|
-
: <a class="el" href="classSVF_1_1LockAnalysis.html#a7335d5b13a6cb1dcde9706f30b8a4826">SVF::LockAnalysis</a>
|
|
1761
|
-
</li>
|
|
1762
1759
|
<li>cxtLocktoSpan
|
|
1763
1760
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a2fd796765f16cc7094f36d68c0ff70a0">SVF::LockAnalysis</a>
|
|
1764
1761
|
</li>
|
|
1762
|
+
<li>CxtLockToSpan
|
|
1763
|
+
: <a class="el" href="classSVF_1_1LockAnalysis.html#a7335d5b13a6cb1dcde9706f30b8a4826">SVF::LockAnalysis</a>
|
|
1764
|
+
</li>
|
|
1765
1765
|
<li>CxtProc()
|
|
1766
1766
|
: <a class="el" href="classSVF_1_1CxtProc.html#ac1ca3a049f6d0f8a0548a153cc903aa0">SVF::CxtProc</a>
|
|
1767
1767
|
</li>
|
|
@@ -263,6 +263,9 @@ $(function() {
|
|
|
263
263
|
<li>hasDefinition()
|
|
264
264
|
: <a class="el" href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">SVF::LLVMModuleSet</a>
|
|
265
265
|
</li>
|
|
266
|
+
<li>hasDefSVFGNode()
|
|
267
|
+
: <a class="el" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">SVF::SVFG</a>
|
|
268
|
+
</li>
|
|
266
269
|
<li>hasDFInSet()
|
|
267
270
|
: <a class="el" href="classSVF_1_1DFPTData.html#ac1b87463b419dfa658f090d795ccd34c">SVF::DFPTData< Key, KeySet, Data, DataSet ></a>
|
|
268
271
|
, <a class="el" href="classSVF_1_1MutableDFPTData.html#a9a9641305c9d670e09f02b71a3e384a9">SVF::MutableDFPTData< Key, KeySet, Data, DataSet ></a>
|
|
@@ -373,7 +376,7 @@ $(function() {
|
|
|
373
376
|
, <a class="el" href="classSVF_1_1TCT.html#a59125bb4878bc347dbdbc74aa6ec4cdf">SVF::TCT</a>
|
|
374
377
|
</li>
|
|
375
378
|
<li>hasLabeledEdge()
|
|
376
|
-
: <a class="el" href="classSVF_1_1IRGraph.html#
|
|
379
|
+
: <a class="el" href="classSVF_1_1IRGraph.html#a1c999e2fd771e4fda192af096e3ec92c">SVF::IRGraph</a>
|
|
377
380
|
</li>
|
|
378
381
|
<li>hasLoop()
|
|
379
382
|
: <a class="el" href="classSVF_1_1TCT.html#a103d85882e753fe90893a4f0e78dda26">SVF::TCT</a>
|
|
@@ -389,7 +392,7 @@ $(function() {
|
|
|
389
392
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a187d82895b2e1156c6dd5ae28795944f">SVF::MRGenerator</a>
|
|
390
393
|
</li>
|
|
391
394
|
<li>hasMU()
|
|
392
|
-
: <a class="el" href="classSVF_1_1MemSSA.html#
|
|
395
|
+
: <a class="el" href="classSVF_1_1MemSSA.html#a6bd9390c6cd2a3d7a3752fba76acfb46">SVF::MemSSA</a>
|
|
393
396
|
</li>
|
|
394
397
|
<li>hasNode()
|
|
395
398
|
: <a class="el" href="classSVF_1_1DCHGraph.html#a58341e23c1dc2b3e7fce190ed16a8a25">SVF::DCHGraph</a>
|
|
@@ -404,7 +407,7 @@ $(function() {
|
|
|
404
407
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a7d2072c3c0ae571077a2aa2c3586451d">SVF::LockAnalysis</a>
|
|
405
408
|
</li>
|
|
406
409
|
<li>hasOutgoingEdge()
|
|
407
|
-
: <a class="el" href="classSVF_1_1GenericNode.html#
|
|
410
|
+
: <a class="el" href="classSVF_1_1GenericNode.html#aa0c40cb708b39300b3cb7354194e4993">SVF::GenericNode< NodeTy, EdgeTy ></a>
|
|
408
411
|
</li>
|
|
409
412
|
<li>hasOutgoingEdges()
|
|
410
413
|
: <a class="el" href="classSVF_1_1SVFVar.html#a9b00f9b5f8ad2422162f4396e2d8fa42">SVF::SVFVar</a>
|
|
@@ -475,7 +478,7 @@ $(function() {
|
|
|
475
478
|
: <a class="el" href="classSVF_1_1ICFG.html#a29fb70d6638765ce291c5a8a11fbea64">SVF::ICFG</a>
|
|
476
479
|
</li>
|
|
477
480
|
<li>hasThreadJoinEdge()
|
|
478
|
-
: <a class="el" href="classSVF_1_1ThreadCallGraph.html#
|
|
481
|
+
: <a class="el" href="classSVF_1_1ThreadCallGraph.html#a98214e970762f43d0e9ad719961b4021">SVF::ThreadCallGraph</a>
|
|
479
482
|
</li>
|
|
480
483
|
<li>hasThreadStmtSet()
|
|
481
484
|
: <a class="el" href="classSVF_1_1MHP.html#a27d031e9c7c4706d7ee1750668e83b99">SVF::MHP</a>
|
|
@@ -1195,10 +1195,10 @@ $(function() {
|
|
|
1195
1195
|
: <a class="el" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">SVF::ConstraintGraph</a>
|
|
1196
1196
|
</li>
|
|
1197
1197
|
<li>iter_adaptor_base()
|
|
1198
|
-
: <a class="el" href="classSVF_1_1iter__adaptor__base.html#
|
|
1198
|
+
: <a class="el" href="classSVF_1_1iter__adaptor__base.html#ad3e91fd59221ddbdc889bc081159f611">SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT ></a>
|
|
1199
1199
|
</li>
|
|
1200
1200
|
<li>iter_range()
|
|
1201
|
-
: <a class="el" href="classSVF_1_1iter__range.html#
|
|
1201
|
+
: <a class="el" href="classSVF_1_1iter__range.html#aa4d5bc9762f2d7686b9ab36078e0a319">SVF::iter_range< IteratorT ></a>
|
|
1202
1202
|
</li>
|
|
1203
1203
|
</ul>
|
|
1204
1204
|
</div><!-- contents -->
|
|
@@ -193,6 +193,7 @@ $(function() {
|
|
|
193
193
|
, <a class="el" href="classSVF_1_1InterMSSAPHISVFGNode.html#a286e9064de854a84bdd2efe8f7d73688">SVF::InterMSSAPHISVFGNode</a>
|
|
194
194
|
, <a class="el" href="classSVF_1_1InterPHIVFGNode.html#aff35aebdc8d955df160e51da7b666a7e">SVF::InterPHIVFGNode</a>
|
|
195
195
|
, <a class="el" href="classSVF_1_1IntervalExeState.html#a3a8f8b09df0befa318cbcd43d191d37a">SVF::IntervalExeState</a>
|
|
196
|
+
, <a class="el" href="classSVF_1_1IntervalValue.html#af5ee3e3b58d9661217ab6f08ffb98bbd">SVF::IntervalValue</a>
|
|
196
197
|
, <a class="el" href="classSVF_1_1IntraCFGEdge.html#a1e63286b4d6f757ac1220f5f03ae62de">SVF::IntraCFGEdge</a>
|
|
197
198
|
, <a class="el" href="classSVF_1_1IntraDirSVFGEdge.html#a1c8dc17717409aa42749181aafd155aa">SVF::IntraDirSVFGEdge</a>
|
|
198
199
|
, <a class="el" href="classSVF_1_1IntraICFGNode.html#a85d3e05cb5a95c2f9d678d9f010419a5">SVF::IntraICFGNode</a>
|
|
@@ -270,6 +270,9 @@ $(function() {
|
|
|
270
270
|
<li>hasDefinition()
|
|
271
271
|
: <a class="el" href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">SVF::LLVMModuleSet</a>
|
|
272
272
|
</li>
|
|
273
|
+
<li>hasDefSVFGNode()
|
|
274
|
+
: <a class="el" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">SVF::SVFG</a>
|
|
275
|
+
</li>
|
|
273
276
|
<li>hasDFInSet()
|
|
274
277
|
: <a class="el" href="classSVF_1_1DFPTData.html#ac1b87463b419dfa658f090d795ccd34c">SVF::DFPTData< Key, KeySet, Data, DataSet ></a>
|
|
275
278
|
, <a class="el" href="classSVF_1_1MutableDFPTData.html#a9a9641305c9d670e09f02b71a3e384a9">SVF::MutableDFPTData< Key, KeySet, Data, DataSet ></a>
|
|
@@ -396,7 +399,7 @@ $(function() {
|
|
|
396
399
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a187d82895b2e1156c6dd5ae28795944f">SVF::MRGenerator</a>
|
|
397
400
|
</li>
|
|
398
401
|
<li>hasMU()
|
|
399
|
-
: <a class="el" href="classSVF_1_1MemSSA.html#
|
|
402
|
+
: <a class="el" href="classSVF_1_1MemSSA.html#af5e356e82c3f93b65bd89908e0f465dc">SVF::MemSSA</a>
|
|
400
403
|
</li>
|
|
401
404
|
<li>hasNode()
|
|
402
405
|
: <a class="el" href="classSVF_1_1DCHGraph.html#a58341e23c1dc2b3e7fce190ed16a8a25">SVF::DCHGraph</a>
|
|
@@ -485,7 +488,7 @@ $(function() {
|
|
|
485
488
|
: <a class="el" href="classSVF_1_1ICFG.html#a29fb70d6638765ce291c5a8a11fbea64">SVF::ICFG</a>
|
|
486
489
|
</li>
|
|
487
490
|
<li>hasThreadJoinEdge()
|
|
488
|
-
: <a class="el" href="classSVF_1_1ThreadCallGraph.html#
|
|
491
|
+
: <a class="el" href="classSVF_1_1ThreadCallGraph.html#a5f7c92af1a4ce33e4746f5b65c9c8421">SVF::ThreadCallGraph</a>
|
|
489
492
|
</li>
|
|
490
493
|
<li>hasThreadStmtSet()
|
|
491
494
|
: <a class="el" href="classSVF_1_1MHP.html#a27d031e9c7c4706d7ee1750668e83b99">SVF::MHP</a>
|
|
@@ -522,12 +522,12 @@ $(function() {
|
|
|
522
522
|
<li>InstToCxtStmt
|
|
523
523
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a5f573ae9b14b8a8aa8489867e48640a7">SVF::LockAnalysis</a>
|
|
524
524
|
</li>
|
|
525
|
-
<li>instToCxtStmtSet
|
|
526
|
-
: <a class="el" href="classSVF_1_1LockAnalysis.html#ae8715683c7dfddc7b30caf6bf2b78296">SVF::LockAnalysis</a>
|
|
527
|
-
</li>
|
|
528
525
|
<li>InstToCxtStmtSet
|
|
529
526
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a159943d09e0498b4569b2245adc91a15">SVF::LockAnalysis</a>
|
|
530
527
|
</li>
|
|
528
|
+
<li>instToCxtStmtSet
|
|
529
|
+
: <a class="el" href="classSVF_1_1LockAnalysis.html#ae8715683c7dfddc7b30caf6bf2b78296">SVF::LockAnalysis</a>
|
|
530
|
+
</li>
|
|
531
531
|
<li>InstToInstSetMap
|
|
532
532
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a0062c7bbfff6d16db6334d9ecda4209c">SVF::LockAnalysis</a>
|
|
533
533
|
</li>
|
|
@@ -1560,7 +1560,7 @@ $(function() {
|
|
|
1560
1560
|
: <a class="el" href="classSVF_1_1iter__facade__base_1_1ReferenceProxy.html#ab4717ea89d08ac05464fa95bc7f50ac6">SVF::iter_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::ReferenceProxy</a>
|
|
1561
1561
|
</li>
|
|
1562
1562
|
<li>iter_range()
|
|
1563
|
-
: <a class="el" href="classSVF_1_1iter__range.html#
|
|
1563
|
+
: <a class="el" href="classSVF_1_1iter__range.html#ac3a12d857b57fbe7b81987f56655cb3b">SVF::iter_range< IteratorT ></a>
|
|
1564
1564
|
</li>
|
|
1565
1565
|
<li>iterationForPrintStat
|
|
1566
1566
|
: <a class="el" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver< GraphType ></a>
|
|
@@ -207,12 +207,12 @@ $(function() {
|
|
|
207
207
|
<li>LoadStmt()
|
|
208
208
|
: <a class="el" href="classSVF_1_1LoadStmt.html#a4bd939005c7c6a5da4ed3b6be6ef1a22">SVF::LoadStmt</a>
|
|
209
209
|
</li>
|
|
210
|
-
<li>LoadsToMRsMap
|
|
211
|
-
: <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator</a>
|
|
212
|
-
</li>
|
|
213
210
|
<li>loadsToMRsMap
|
|
214
211
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">SVF::MRGenerator</a>
|
|
215
212
|
</li>
|
|
213
|
+
<li>LoadsToMRsMap
|
|
214
|
+
: <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator</a>
|
|
215
|
+
</li>
|
|
216
216
|
<li>loadsToPointsToMap
|
|
217
217
|
: <a class="el" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">SVF::MRGenerator</a>
|
|
218
218
|
</li>
|
|
@@ -511,12 +511,12 @@ $(function() {
|
|
|
511
511
|
<li>OpICFGNodeVec
|
|
512
512
|
: <a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">SVF::PhiStmt</a>
|
|
513
513
|
</li>
|
|
514
|
-
<li>opIncomingBBs
|
|
515
|
-
: <a class="el" href="classSVF_1_1IntraPHIVFGNode.html#a73f39a488ad82300010abd18afe247a4">SVF::IntraPHIVFGNode</a>
|
|
516
|
-
</li>
|
|
517
514
|
<li>OPIncomingBBs
|
|
518
515
|
: <a class="el" href="classSVF_1_1IntraPHIVFGNode.html#a66928f6cc755bd2a048804d00f859a80">SVF::IntraPHIVFGNode</a>
|
|
519
516
|
</li>
|
|
517
|
+
<li>opIncomingBBs
|
|
518
|
+
: <a class="el" href="classSVF_1_1IntraPHIVFGNode.html#a73f39a488ad82300010abd18afe247a4">SVF::IntraPHIVFGNode</a>
|
|
519
|
+
</li>
|
|
520
520
|
<li>OpIt
|
|
521
521
|
: <a class="el" href="classllvm_1_1generic__bridge__gep__type__iterator.html#aa3fd4dca27e09df9ee726879624ae47e">llvm::generic_bridge_gep_type_iterator< ItTy ></a>
|
|
522
522
|
</li>
|