svf-tools 1.0.319 → 1.0.320
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/SVFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +102 -101
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -2
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/Graphs/SVFGOPT.h +3 -2
- package/lib/MSSA/SVFGBuilder.cpp +3 -2
- package/package.json +1 -1
- package/tools/Example/svf-ex.cpp +1 -1
|
@@ -332,14 +332,16 @@ Protected Attributes</h2></td></tr>
|
|
|
332
332
|
<p>Note that we use callgraph from andersen analysis here</p>
|
|
333
333
|
<p>Update call graph using pre-analysis results </p>
|
|
334
334
|
|
|
335
|
-
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#
|
|
336
|
-
<div class="fragment"><div class="line"><a name="
|
|
335
|
+
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00075">75</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
336
|
+
<div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <a class="code" href="classSVF_1_1SVFGBuilder.html#a49cee21be46d6a3f65eec638714038ed">buildMSSA</a>(pta, (<a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">VFG::PTRONLYSVFG</a>==kind || <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>==kind));</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">"Build Sparse Value-Flow Graph \n"</span>));</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a78ce4bd2e80e7b87ff0ee52edd1db403">Options::SingleVFG</a>)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">globalSvfg</a>==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">VFG::FULLSVFG_OPT</a> || kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <a class="code" href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">globalSvfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFGOPT.html">SVFGOPT</a>(mssa, kind);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <a class="code" href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">globalSvfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>(mssa, kind);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#ae2d84f7527de200a2f269dc1c056a305">buildSVFG</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">else</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>  <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">VFG::FULLSVFG_OPT</a> || kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFGOPT.html">SVFGOPT</a>(mssa, kind);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>(mssa,kind);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#ae2d84f7527de200a2f269dc1c056a305">buildSVFG</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a982b4cd71ccafd07d94f10a0a2e953c2">Options::SVFGWithIndirectCall</a> || <a class="code" href="classSVF_1_1SVFGBuilder.html#a70de38086437635d2e44d2a0c9fdded9">SVFGWithIndCall</a>)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">updateCallGraph</a>(pta);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">if</span>(mssa-><a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-><a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">Options::DumpVFG</a>)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="stringliteral">"svfg_final"</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div><div class="ttc" id="classSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00539">SVFG.cpp:539</a></div></div>
|
|
337
337
|
<div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">SVF::VFG::FULLSVFG_OPT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
338
338
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
|
|
339
339
|
<div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">SVF::VFG::PTRONLYSVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
340
|
+
<div class="ttc" id="classSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00740">SVFG.cpp:740</a></div></div>
|
|
341
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00378">PointerAnalysis.h:378</a></div></div>
|
|
340
342
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a31b754a303116f33d679dfcd886c4bed"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">SVF::SVFGBuilder::globalSvfg</a></div><div class="ttdeci">static SVFG * globalSvfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00074">SVFGBuilder.h:74</a></div></div>
|
|
341
343
|
<div class="ttc" id="classSVF_1_1VFG_html_a0c0a7c8f0bd27bc9e88ce54c0809b11b"><div class="ttname"><a href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">SVF::VFG::updateCallGraph</a></div><div class="ttdeci">void updateCallGraph(PointerAnalysis *pta)</div><div class="ttdoc">Update VFG based on pointer analysis results. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00796">VFG.cpp:796</a></div></div>
|
|
342
|
-
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a49cee21be46d6a3f65eec638714038ed"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a49cee21be46d6a3f65eec638714038ed">SVF::SVFGBuilder::buildMSSA</a></div><div class="ttdeci">virtual MemSSA * buildMSSA(BVDataPTAImpl *pta, bool ptrOnlyMSSA)</div><div class="ttdoc">Build Memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
344
|
+
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a49cee21be46d6a3f65eec638714038ed"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a49cee21be46d6a3f65eec638714038ed">SVF::SVFGBuilder::buildMSSA</a></div><div class="ttdeci">virtual MemSSA * buildMSSA(BVDataPTAImpl *pta, bool ptrOnlyMSSA)</div><div class="ttdoc">Build Memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00123">SVFGBuilder.cpp:123</a></div></div>
|
|
343
345
|
<div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
|
|
344
346
|
<div class="ttc" id="classSVF_1_1Options_html_a982b4cd71ccafd07d94f10a0a2e953c2"><div class="ttname"><a href="classSVF_1_1Options.html#a982b4cd71ccafd07d94f10a0a2e953c2">SVF::Options::SVFGWithIndirectCall</a></div><div class="ttdeci">static const llvm::cl::opt< bool > SVFGWithIndirectCall</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00157">Options.h:157</a></div></div>
|
|
345
347
|
<div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">SVF::VFG::PTRONLYSVFG_OPT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
@@ -350,6 +352,7 @@ Protected Attributes</h2></td></tr>
|
|
|
350
352
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_ae2d84f7527de200a2f269dc1c056a305"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#ae2d84f7527de200a2f269dc1c056a305">SVF::SVFGBuilder::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Can be rewritten by subclasses. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00068">SVFGBuilder.cpp:68</a></div></div>
|
|
351
353
|
<div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
352
354
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a70de38086437635d2e44d2a0c9fdded9"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a70de38086437635d2e44d2a0c9fdded9">SVF::SVFGBuilder::SVFGWithIndCall</a></div><div class="ttdeci">bool SVFGWithIndCall</div><div class="ttdoc">SVFG with precomputed indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00121">SVFGBuilder.h:121</a></div></div>
|
|
355
|
+
<div class="ttc" id="classSVF_1_1MemSSA_html_ad40617a1907b9a6b8cc24888ce54a0ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">SVF::MemSSA::getPTA</a></div><div class="ttdeci">BVDataPTAImpl * getPTA() const</div><div class="ttdoc">Return PTA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00315">MemSSA.h:315</a></div></div>
|
|
353
356
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00119">SVFGBuilder.h:119</a></div></div>
|
|
354
357
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
|
|
355
358
|
<div class="ttc" id="classSVF_1_1SVFGOPT_html"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html">SVF::SVFGOPT</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00056">SVFGOPT.h:56</a></div></div>
|
|
@@ -374,7 +377,7 @@ Protected Attributes</h2></td></tr>
|
|
|
374
377
|
|
|
375
378
|
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00054">54</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
376
379
|
<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">VFG::FULLSVFG_OPT</a>);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div><div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">SVF::VFG::FULLSVFG_OPT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
377
|
-
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
380
|
+
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00075">SVFGBuilder.cpp:75</a></div></div>
|
|
378
381
|
</div><!-- fragment -->
|
|
379
382
|
</div>
|
|
380
383
|
</div>
|
|
@@ -395,7 +398,7 @@ Protected Attributes</h2></td></tr>
|
|
|
395
398
|
</div><div class="memdoc">
|
|
396
399
|
|
|
397
400
|
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00059">59</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
398
|
-
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa">VFG::FULLSVFG</a>);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
401
|
+
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa">VFG::FULLSVFG</a>);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00075">SVFGBuilder.cpp:75</a></div></div>
|
|
399
402
|
<div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa">SVF::VFG::FULLSVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
400
403
|
</div><!-- fragment -->
|
|
401
404
|
</div>
|
|
@@ -436,8 +439,8 @@ Protected Attributes</h2></td></tr>
|
|
|
436
439
|
|
|
437
440
|
<p>Build Memory SSA. </p>
|
|
438
441
|
|
|
439
|
-
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#
|
|
440
|
-
<div class="fragment"><div class="line"><a name="
|
|
442
|
+
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00123">123</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
443
|
+
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">"Build Memory SSA \n"</span>));</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>(pta, ptrOnlyMSSA);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a> dt;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="classSVF_1_1MemSSADF.html">MemSSADF</a> df;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = mssa-><a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-><a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> iter = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eiter = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  iter != eiter; ++iter)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *iter;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  dt.recalculate(*fun-><a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  df.<a class="code" href="classSVF_1_1MemSSADF.html#a050e6010673cb24d4ef689100213594b">runOnDT</a>(dt);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  mssa-><a class="code" href="classSVF_1_1MemSSA.html#ae56d1878046c119d1857727ca3609d74">buildMemSSA</a>(*fun, &df, &dt);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  mssa-><a class="code" href="classSVF_1_1MemSSA.html#a89c40c8fad70f3aead6531261e5a3cc3">performStat</a>();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a097255cb1373feaaaf2fe60c998862d5">Options::DumpMSSA</a>)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  mssa-><a class="code" href="classSVF_1_1MemSSA.html#a9f9ac433d9c9348ceb5be8893d814ebd">dumpMSSA</a>();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> mssa;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
|
|
441
444
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00152">SVFModule.h:152</a></div></div>
|
|
442
445
|
<div class="ttc" id="classSVF_1_1MemSSA_html_a9f9ac433d9c9348ceb5be8893d814ebd"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a9f9ac433d9c9348ceb5be8893d814ebd">SVF::MemSSA::dumpMSSA</a></div><div class="ttdeci">void dumpMSSA(raw_ostream &Out=SVFUtil::outs())</div><div class="ttdoc">Print Memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00595">MemSSA.cpp:595</a></div></div>
|
|
443
446
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
|
|
@@ -478,7 +481,7 @@ Protected Attributes</h2></td></tr>
|
|
|
478
481
|
</div><div class="memdoc">
|
|
479
482
|
|
|
480
483
|
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00044">44</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
481
|
-
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
484
|
+
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00075">SVFGBuilder.cpp:75</a></div></div>
|
|
482
485
|
<div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">SVF::VFG::PTRONLYSVFG_OPT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
483
486
|
</div><!-- fragment -->
|
|
484
487
|
</div>
|
|
@@ -500,7 +503,7 @@ Protected Attributes</h2></td></tr>
|
|
|
500
503
|
</div><div class="memdoc">
|
|
501
504
|
|
|
502
505
|
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00049">49</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
503
|
-
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">VFG::PTRONLYSVFG</a>);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
506
|
+
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">build</a>(pta, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">VFG::PTRONLYSVFG</a>);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a47591192260ddc3ff0717430f127cc95"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a47591192260ddc3ff0717430f127cc95">SVF::SVFGBuilder::build</a></div><div class="ttdeci">SVFG * build(BVDataPTAImpl *pta, VFG::VFGK kind)</div><div class="ttdoc">Create a DDA SVFG. By default actualOut and FormalIN are removed, unless withAOFI is set true...</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00075">SVFGBuilder.cpp:75</a></div></div>
|
|
504
507
|
<div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">SVF::VFG::PTRONLYSVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
|
|
505
508
|
</div><!-- fragment -->
|
|
506
509
|
</div>
|
|
@@ -534,11 +537,8 @@ Protected Attributes</h2></td></tr>
|
|
|
534
537
|
<p>Reimplemented in <a class="el" href="classSVF_1_1MTASVFGBuilder.html#a3b75cd10a314c920669cd0d4790e1a16">SVF::MTASVFGBuilder</a>, and <a class="el" href="classSVF_1_1SaberSVFGBuilder.html#a4d70d1413f42f30437d8eb45ff00b6f6">SVF::SaberSVFGBuilder</a>.</p>
|
|
535
538
|
|
|
536
539
|
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00068">68</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
537
|
-
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">getMSSA</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">buildSVFG</a>();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> 
|
|
538
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00378">PointerAnalysis.h:378</a></div></div>
|
|
539
|
-
<div class="ttc" id="classSVF_1_1SVFG_html_a0920e9f9896531959d74ae61013d96d6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVF::SVFG::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Start building SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00199">SVFG.cpp:199</a></div></div>
|
|
540
|
+
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">getMSSA</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">buildSVFG</a>();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div><div class="ttc" id="classSVF_1_1SVFG_html_a0920e9f9896531959d74ae61013d96d6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVF::SVFG::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Start building SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00199">SVFG.cpp:199</a></div></div>
|
|
540
541
|
<div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
|
|
541
|
-
<div class="ttc" id="classSVF_1_1MemSSA_html_ad40617a1907b9a6b8cc24888ce54a0ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">SVF::MemSSA::getPTA</a></div><div class="ttdeci">BVDataPTAImpl * getPTA() const</div><div class="ttdoc">Return PTA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00315">MemSSA.h:315</a></div></div>
|
|
542
542
|
<div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
|
|
543
543
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00119">SVFGBuilder.h:119</a></div></div>
|
|
544
544
|
</div><!-- fragment -->
|
|
@@ -662,8 +662,8 @@ Protected Attributes</h2></td></tr>
|
|
|
662
662
|
<p>Release global <a class="el" href="classSVF_1_1SVFG.html">SVFG</a>. </p>
|
|
663
663
|
<p>Release memory </p>
|
|
664
664
|
|
|
665
|
-
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#
|
|
666
|
-
<div class="fragment"><div class="line"><a name="
|
|
665
|
+
<p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00118">118</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
|
|
666
|
+
<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241">clearMSSA</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div><div class="ttc" id="classSVF_1_1SVFG_html_aeba803e60699f9d9422596d161d44241"><div class="ttname"><a href="classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241">SVF::SVFG::clearMSSA</a></div><div class="ttdeci">void clearMSSA()</div><div class="ttdoc">Clear MSSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00131">SVFG.h:131</a></div></div>
|
|
667
667
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00119">SVFGBuilder.h:119</a></div></div>
|
|
668
668
|
</div><!-- fragment -->
|
|
669
669
|
</div>
|