svf-tools 1.0.786 → 1.0.787
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/CDGBuilder_8cpp_source.html +128 -122
- package/SVF-doxygen/html/CDGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/CHG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +144 -141
- package/SVF-doxygen/html/SVFValue_8h_source.html +9 -9
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +119 -113
- package/SVF-doxygen/html/classSVF_1_1CHGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +63 -63
- package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +28 -28
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +25 -22
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1VFG.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +2 -2
- package/package.json +1 -1
- package/svf/lib/SVFIR/SVFValue.cpp +2 -0
- package/svf/lib/Util/CDGBuilder.cpp +5 -0
|
@@ -300,10 +300,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
300
300
|
|
|
301
301
|
<p>Constructor without name. </p>
|
|
302
302
|
|
|
303
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
304
|
-
<div class="fragment"><div class="line"><a name="
|
|
305
|
-
<div class="line"><a name="
|
|
306
|
-
<div class="line"><a name="
|
|
303
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00185">185</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
304
|
+
<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  : <a class="code" href="classSVF_1_1SVFValue.html#af38497e11745949a8a1eeead143efd58">SVFValue</a>(ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFValue::SVFBB</a>), <a class="code" href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7">fun</a>(f)</div>
|
|
305
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div>
|
|
306
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
|
|
307
307
|
</div><!-- fragment -->
|
|
308
308
|
</div>
|
|
309
309
|
</div>
|
|
@@ -355,11 +355,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
355
355
|
</table>
|
|
356
356
|
</div><div class="memdoc">
|
|
357
357
|
|
|
358
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
359
|
-
<div class="fragment"><div class="line"><a name="
|
|
360
|
-
<div class="line"><a name="
|
|
361
|
-
<div class="line"><a name="
|
|
362
|
-
<div class="line"><a name="
|
|
358
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00190">190</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
359
|
+
<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> {</div>
|
|
360
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst : <a class="code" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">allInsts</a>)</div>
|
|
361
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">delete</span> inst;</div>
|
|
362
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div>
|
|
363
363
|
</div><!-- fragment -->
|
|
364
364
|
</div>
|
|
365
365
|
</div>
|
|
@@ -628,18 +628,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
628
628
|
</div><div class="memdoc">
|
|
629
629
|
<p>Return a position index from current bb to it successor bb </p>
|
|
630
630
|
|
|
631
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
632
|
-
<div class="fragment"><div class="line"><a name="
|
|
633
|
-
<div class="line"><a name="
|
|
634
|
-
<div class="line"><a name="
|
|
635
|
-
<div class="line"><a name="
|
|
636
|
-
<div class="line"><a name="
|
|
637
|
-
<div class="line"><a name="
|
|
638
|
-
<div class="line"><a name="
|
|
639
|
-
<div class="line"><a name="
|
|
640
|
-
<div class="line"><a name="
|
|
641
|
-
<div class="line"><a name="
|
|
642
|
-
<div class="line"><a name="
|
|
631
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00235">235</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
632
|
+
<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div>
|
|
633
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos = 0;</div>
|
|
634
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* PredBB : succbb-><a class="code" href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231">getPredecessors</a>())</div>
|
|
635
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div>
|
|
636
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span>(PredBB == <span class="keyword">this</span>)</div>
|
|
637
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> pos;</div>
|
|
638
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  ++pos;</div>
|
|
639
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div>
|
|
640
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Didn't find predecessor edge?"</span>);</div>
|
|
641
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> pos;</div>
|
|
642
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
|
|
643
643
|
</div><!-- fragment -->
|
|
644
644
|
</div>
|
|
645
645
|
</div>
|
|
@@ -659,18 +659,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
659
659
|
</table>
|
|
660
660
|
</div><div class="memdoc">
|
|
661
661
|
|
|
662
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
663
|
-
<div class="fragment"><div class="line"><a name="
|
|
664
|
-
<div class="line"><a name="
|
|
665
|
-
<div class="line"><a name="
|
|
666
|
-
<div class="line"><a name="
|
|
667
|
-
<div class="line"><a name="
|
|
668
|
-
<div class="line"><a name="
|
|
669
|
-
<div class="line"><a name="
|
|
670
|
-
<div class="line"><a name="
|
|
671
|
-
<div class="line"><a name="
|
|
672
|
-
<div class="line"><a name="
|
|
673
|
-
<div class="line"><a name="
|
|
662
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00247">247</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
663
|
+
<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> {</div>
|
|
664
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos = 0;</div>
|
|
665
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* PredBB : succbb-><a class="code" href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231">getPredecessors</a>())</div>
|
|
666
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div>
|
|
667
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">if</span>(PredBB == <span class="keyword">this</span>)</div>
|
|
668
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> pos;</div>
|
|
669
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  ++pos;</div>
|
|
670
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div>
|
|
671
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Didn't find predecessor edge?"</span>);</div>
|
|
672
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> pos;</div>
|
|
673
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
|
|
674
674
|
</div><!-- fragment -->
|
|
675
675
|
</div>
|
|
676
676
|
</div>
|
|
@@ -691,18 +691,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
691
691
|
</div><div class="memdoc">
|
|
692
692
|
<p>Get position of a successor basic block </p>
|
|
693
693
|
|
|
694
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
695
|
-
<div class="fragment"><div class="line"><a name="
|
|
696
|
-
<div class="line"><a name="
|
|
697
|
-
<div class="line"><a name="
|
|
698
|
-
<div class="line"><a name="
|
|
699
|
-
<div class="line"><a name="
|
|
700
|
-
<div class="line"><a name="
|
|
701
|
-
<div class="line"><a name="
|
|
702
|
-
<div class="line"><a name="
|
|
703
|
-
<div class="line"><a name="
|
|
704
|
-
<div class="line"><a name="
|
|
705
|
-
<div class="line"><a name="
|
|
694
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00199">199</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
695
|
+
<div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> {</div>
|
|
696
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0;</div>
|
|
697
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* SuccBB: <a class="code" href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd">succBBs</a>)</div>
|
|
698
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  {</div>
|
|
699
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">if</span> (SuccBB == Succ)</div>
|
|
700
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> i;</div>
|
|
701
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  i++;</div>
|
|
702
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div>
|
|
703
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Didn't find successor edge?"</span>);</div>
|
|
704
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> 0;</div>
|
|
705
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
|
|
706
706
|
</div><!-- fragment -->
|
|
707
707
|
</div>
|
|
708
708
|
</div>
|
|
@@ -722,18 +722,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
722
722
|
</table>
|
|
723
723
|
</div><div class="memdoc">
|
|
724
724
|
|
|
725
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
726
|
-
<div class="fragment"><div class="line"><a name="
|
|
727
|
-
<div class="line"><a name="
|
|
728
|
-
<div class="line"><a name="
|
|
729
|
-
<div class="line"><a name="
|
|
730
|
-
<div class="line"><a name="
|
|
731
|
-
<div class="line"><a name="
|
|
732
|
-
<div class="line"><a name="
|
|
733
|
-
<div class="line"><a name="
|
|
734
|
-
<div class="line"><a name="
|
|
735
|
-
<div class="line"><a name="
|
|
736
|
-
<div class="line"><a name="
|
|
725
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00212">212</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
726
|
+
<div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> {</div>
|
|
727
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0;</div>
|
|
728
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* SuccBB: <a class="code" href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd">succBBs</a>)</div>
|
|
729
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  {</div>
|
|
730
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> (SuccBB == Succ)</div>
|
|
731
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> i;</div>
|
|
732
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  i++;</div>
|
|
733
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div>
|
|
734
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Didn't find successor edge?"</span>);</div>
|
|
735
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> 0;</div>
|
|
736
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
|
|
737
737
|
</div><!-- fragment -->
|
|
738
738
|
</div>
|
|
739
739
|
</div>
|
|
@@ -933,12 +933,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
933
933
|
</div><div class="memdoc">
|
|
934
934
|
<p>Returns the terminator instruction if the block is well formed or null if the block is not well formed. </p>
|
|
935
935
|
|
|
936
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
937
|
-
<div class="fragment"><div class="line"><a name="
|
|
938
|
-
<div class="line"><a name="
|
|
939
|
-
<div class="line"><a name="
|
|
940
|
-
<div class="line"><a name="
|
|
941
|
-
<div class="line"><a name="
|
|
936
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00225">225</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
937
|
+
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
|
|
938
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">allInsts</a>.empty() || !<a class="code" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">allInsts</a>.back()->isTerminator())</div>
|
|
939
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
940
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">allInsts</a>.back();</div>
|
|
941
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
|
|
942
942
|
</div><!-- fragment -->
|
|
943
943
|
</div>
|
|
944
944
|
</div>
|
|
@@ -451,12 +451,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
451
451
|
</table>
|
|
452
452
|
</div><div class="memdoc">
|
|
453
453
|
|
|
454
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
455
|
-
<div class="fragment"><div class="line"><a name="
|
|
456
|
-
<div class="line"><a name="
|
|
457
|
-
<div class="line"><a name="
|
|
458
|
-
<div class="line"><a name="
|
|
459
|
-
<div class="line"><a name="
|
|
454
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00151">151</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
455
|
+
<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  : <a class="code" href="classSVF_1_1SVFValue.html#af38497e11745949a8a1eeead143efd58">SVFValue</a>(ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFValue::SVFFunc</a>), <a class="code" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a>(declare), <a class="code" href="classSVF_1_1SVFFunction.html#a037b2583aa8d15ceeb630eaad41a36a3">intrinsic</a>(<a class="code" href="classSVF_1_1SVFFunction.html#a037b2583aa8d15ceeb630eaad41a36a3">intrinsic</a>),</div>
|
|
456
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1">addrTaken</a>(adt), <a class="code" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">isUncalled</a>(<span class="keyword">false</span>), <a class="code" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">isNotRet</a>(<span class="keyword">false</span>), <a class="code" href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad">varArg</a>(varg),</div>
|
|
457
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc">funcType</a>(ft), <a class="code" href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1">loopAndDom</a>(ld), <a class="code" href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007">realDefFun</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1SVFFunction.html#a47169163b5591547e5258dd697c9163a">annotations</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(annos))</div>
|
|
458
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div>
|
|
459
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div>
|
|
460
460
|
</div><!-- fragment -->
|
|
461
461
|
</div>
|
|
462
462
|
</div>
|
|
@@ -509,14 +509,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
509
509
|
</table>
|
|
510
510
|
</div><div class="memdoc">
|
|
511
511
|
|
|
512
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
513
|
-
<div class="fragment"><div class="line"><a name="
|
|
514
|
-
<div class="line"><a name="
|
|
515
|
-
<div class="line"><a name="
|
|
516
|
-
<div class="line"><a name="
|
|
517
|
-
<div class="line"><a name="
|
|
518
|
-
<div class="line"><a name="
|
|
519
|
-
<div class="line"><a name="
|
|
512
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00160">160</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
513
|
+
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div>
|
|
514
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb : <a class="code" href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f">allBBs</a>)</div>
|
|
515
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">delete</span> bb;</div>
|
|
516
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* arg : <a class="code" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">allArgs</a>)</div>
|
|
517
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">delete</span> arg;</div>
|
|
518
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1">loopAndDom</a>;</div>
|
|
519
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
|
|
520
520
|
</div><!-- fragment -->
|
|
521
521
|
</div>
|
|
522
522
|
</div>
|
|
@@ -601,10 +601,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
601
601
|
</table>
|
|
602
602
|
</div><div class="memdoc">
|
|
603
603
|
|
|
604
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
605
|
-
<div class="fragment"><div class="line"><a name="
|
|
606
|
-
<div class="line"><a name="
|
|
607
|
-
<div class="line"><a name="
|
|
604
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00169">169</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
605
|
+
<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div>
|
|
606
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">allArgs</a>.size();</div>
|
|
607
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
|
|
608
608
|
</div><!-- fragment -->
|
|
609
609
|
</div>
|
|
610
610
|
</div>
|
|
@@ -846,11 +846,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
846
846
|
</table>
|
|
847
847
|
</div><div class="memdoc">
|
|
848
848
|
|
|
849
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
850
|
-
<div class="fragment"><div class="line"><a name="
|
|
851
|
-
<div class="line"><a name="
|
|
852
|
-
<div class="line"><a name="
|
|
853
|
-
<div class="line"><a name="
|
|
849
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00174">174</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
850
|
+
<div class="fragment"><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> {</div>
|
|
851
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  assert (idx < <a class="code" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">allArgs</a>.size() && <span class="stringliteral">"getArg() out of range!"</span>);</div>
|
|
852
|
+
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">allArgs</a>[idx];</div>
|
|
853
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
|
|
854
854
|
</div><!-- fragment -->
|
|
855
855
|
</div>
|
|
856
856
|
</div>
|
|
@@ -1522,10 +1522,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1522
1522
|
</table>
|
|
1523
1523
|
</div><div class="memdoc">
|
|
1524
1524
|
|
|
1525
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
1526
|
-
<div class="fragment"><div class="line"><a name="
|
|
1527
|
-
<div class="line"><a name="
|
|
1528
|
-
<div class="line"><a name="
|
|
1525
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00180">180</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
1526
|
+
<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div>
|
|
1527
|
+
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad">varArg</a>;</div>
|
|
1528
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
|
|
1529
1529
|
</div><!-- fragment -->
|
|
1530
1530
|
</div>
|
|
1531
1531
|
</div>
|
|
@@ -2127,7 +2127,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2127
2127
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_ad1c1ca2a7d4a681f24712345222e9ddc"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc">SVF::SVFFunction::funcType</a></div><div class="ttdeci">const SVFFunctionType * funcType</div><div class="ttdoc">return true if this function supports variable arguments</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00317">SVFValue.h:317</a></div></div>
|
|
2128
2128
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_af66c5a824f9fc2813e2d97e17f9a2e96"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#af66c5a824f9fc2813e2d97e17f9a2e96">SVF::SVFLoopAndDomInfo::postDominate</a></div><div class="ttdeci">bool postDominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00084">SVFValue.cpp:84</a></div></div>
|
|
2129
2129
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_aa61307a21647def105677d36bfbaf32f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f">SVF::SVFFunction::allBBs</a></div><div class="ttdeci">std::vector< const SVFBasicBlock * > allBBs</div><div class="ttdoc">the definition of a function across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00320">SVFValue.h:320</a></div></div>
|
|
2130
|
-
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_a39257282d3875b5d28c21f6c8b1caf43"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">SVF::SVFLoopAndDomInfo::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#
|
|
2130
|
+
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_a39257282d3875b5d28c21f6c8b1caf43"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">SVF::SVFLoopAndDomInfo::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00140">SVFValue.cpp:140</a></div></div>
|
|
2131
2131
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVF::SVFValue::SVFFunc</a></div><div class="ttdeci">@ SVFFunc</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00189">SVFValue.h:189</a></div></div>
|
|
2132
2132
|
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
|
|
2133
2133
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_a8ca4fa87f4c26b71c6e03c8f32db1071"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const SVFBasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00415">SVFValue.h:415</a></div></div>
|
|
@@ -4866,7 +4866,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
4866
4866
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00248">SVFG.h:248</a></div></div>
|
|
4867
4867
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a6c3daf2777cc5f76ce07241f803720f3"><div class="ttname"><a href="classSVF_1_1VFG.html#a6c3daf2777cc5f76ce07241f803720f3">SVF::VFG::globalVFGNodes</a></div><div class="ttdeci">GlobalVFGNodeSet globalVFGNodes</div><div class="ttdoc">set of global store VFG nodes</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00102">VFG.h:102</a></div></div>
|
|
4868
4868
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a38122734cbe71551a420dfb7fee2012e"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">SVF::GenericGraph::nodeNum</a></div><div class="ttdeci">u32_t nodeNum</div><div class="ttdoc">total num of edge</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00456">GenericGraph.h:456</a></div></div>
|
|
4869
|
-
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_ae578002917b4ccbf28f172dba30d1d58"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae578002917b4ccbf28f172dba30d1d58">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#
|
|
4869
|
+
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_ae578002917b4ccbf28f172dba30d1d58"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae578002917b4ccbf28f172dba30d1d58">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00180">SVFValue.cpp:180</a></div></div>
|
|
4870
4870
|
<div class="ttc" id="anamespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
|
|
4871
4871
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a74aa824a68f99756ac3e65231c7bc2e9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a74aa824a68f99756ac3e65231c7bc2e9">SVF::SVFG::addActualOUTSVFGNode</a></div><div class="ttdeci">void addActualOUTSVFGNode(const CallICFGNode *callsite, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory callsite chi SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00427">SVFG.h:427</a></div></div>
|
|
4872
4872
|
<div class="ttc" id="aclassSVF_1_1CallMU_html"><div class="ttname"><a href="classSVF_1_1CallMU.html">SVF::CallMU</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00221">MSSAMuChi.h:221</a></div></div>
|
|
@@ -293,10 +293,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
293
293
|
<p>predecessor Instructions </p>
|
|
294
294
|
<p>Constructor without name, set name with <a class="el" href="classSVF_1_1SVFValue.html#a8325774df9d65d78ef6a66fef59b9a97">setName()</a> </p>
|
|
295
295
|
|
|
296
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
297
|
-
<div class="fragment"><div class="line"><a name="
|
|
298
|
-
<div class="line"><a name="
|
|
299
|
-
<div class="line"><a name="
|
|
296
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00260">260</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
297
|
+
<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  : <a class="code" href="classSVF_1_1SVFValue.html#af38497e11745949a8a1eeead143efd58">SVFValue</a>(ty, k), <a class="code" href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0">bb</a>(<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>), <a class="code" href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3">terminator</a>(tm), <a class="code" href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca">ret</a>(isRet)</div>
|
|
298
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div>
|
|
299
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div>
|
|
300
300
|
</div><!-- fragment -->
|
|
301
301
|
</div>
|
|
302
302
|
</div>
|
|
@@ -421,19 +421,21 @@ Friends</h2></td></tr>
|
|
|
421
421
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">// continue going up til we arrive at the same node.</span></div>
|
|
422
422
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">while</span> (A != B)</div>
|
|
423
423
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  {</div>
|
|
424
|
-
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="
|
|
425
|
-
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="
|
|
426
|
-
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 
|
|
427
|
-
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div>
|
|
428
|
-
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <
|
|
424
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// no common PDominator</span></div>
|
|
425
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span>(A == <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>) <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>;</div>
|
|
426
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keyword">const</span> <span class="keyword">auto</span> lvA = <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac285502846c993f149b6bcc3e04f767e">getBBPDomLevel</a>().find(A);</div>
|
|
427
|
+
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">const</span> <span class="keyword">auto</span> lvB = <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac285502846c993f149b6bcc3e04f767e">getBBPDomLevel</a>().find(B);</div>
|
|
428
|
+
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  assert(lvA != <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac285502846c993f149b6bcc3e04f767e">getBBPDomLevel</a>().end() && lvB != <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac285502846c993f149b6bcc3e04f767e">getBBPDomLevel</a>().end());</div>
|
|
429
429
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div>
|
|
430
|
-
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="
|
|
431
|
-
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 
|
|
432
|
-
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 
|
|
433
|
-
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 
|
|
434
|
-
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 
|
|
435
|
-
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 
|
|
436
|
-
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> 
|
|
430
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">if</span> (lvA->second < lvB->second) std::swap(A, B);</div>
|
|
431
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  </div>
|
|
432
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">const</span> <span class="keyword">auto</span> lvAIdom = <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae8a308d5ee34c0eb4a6c1278565e5907">getBB2PIdom</a>().find(A);</div>
|
|
433
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  assert(lvAIdom != <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae8a308d5ee34c0eb4a6c1278565e5907">getBB2PIdom</a>().end());</div>
|
|
434
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  A = lvAIdom->second;</div>
|
|
435
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
|
437
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">return</span> A;</div>
|
|
438
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }</div>
|
|
437
439
|
</div><!-- fragment -->
|
|
438
440
|
</div>
|
|
439
441
|
</div>
|
|
@@ -918,16 +920,16 @@ Friends</h2></td></tr>
|
|
|
918
920
|
</table>
|
|
919
921
|
</div><div class="memdoc">
|
|
920
922
|
|
|
921
|
-
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#
|
|
922
|
-
<div class="fragment"><div class="line"><a name="
|
|
923
|
-
<div class="line"><a name="
|
|
924
|
-
<div class="line"><a name="
|
|
925
|
-
<div class="line"><a name="
|
|
926
|
-
<div class="line"><a name="
|
|
927
|
-
<div class="line"><a name="
|
|
928
|
-
<div class="line"><a name="
|
|
929
|
-
<div class="line"><a name="
|
|
930
|
-
<div class="line"><a name="
|
|
923
|
+
<p class="definition">Definition at line <a class="el" href="SVFValue_8cpp_source.html#l00140">140</a> of file <a class="el" href="SVFValue_8cpp_source.html">SVFValue.cpp</a>.</p>
|
|
924
|
+
<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> {</div>
|
|
925
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c">hasLoopInfo</a>(bb))</div>
|
|
926
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  {</div>
|
|
927
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f">LoopBBs</a>& blocks = <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">getLoopInfo</a>(bb);</div>
|
|
928
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  assert(!blocks.empty() && <span class="stringliteral">"no available loop info?"</span>);</div>
|
|
929
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> blocks.front() == bb;</div>
|
|
930
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
|
931
|
+
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
932
|
+
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div>
|
|
931
933
|
</div><!-- fragment -->
|
|
932
934
|
</div>
|
|
933
935
|
</div>
|
|
@@ -1345,6 +1347,7 @@ Friends</h2></td></tr>
|
|
|
1345
1347
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_a0fb893485fc3df088d921762514faf66"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">SVF::SVFLoopAndDomInfo::getLoopInfo</a></div><div class="ttdeci">const LoopBBs & getLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00027">SVFValue.cpp:27</a></div></div>
|
|
1346
1348
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_aac4d533d1c7abfefbd54507357e240f4"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#aac4d533d1c7abfefbd54507357e240f4">SVF::SVFLoopAndDomInfo::isUnreachable</a></div><div class="ttdeci">bool isUnreachable(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00149">SVFValue.h:149</a></div></div>
|
|
1347
1349
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_af3eeabc8b81b2aff27ae3577195a1eff"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff">SVF::SVFLoopAndDomInfo::reachableBBs</a></div><div class="ttdeci">BBList reachableBBs</div><div class="ttdoc">reachable BasicBlocks from the function entry.</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00060">SVFValue.h:60</a></div></div>
|
|
1350
|
+
<div class="ttc" id="acJSON_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>
|
|
1348
1351
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_ad07f95e790b5c3a50c864155aa20a083"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083">SVF::SVFLoopAndDomInfo::getPostDomTreeMap</a></div><div class="ttdeci">const Map< const SVFBasicBlock *, BBSet > & getPostDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00108">SVFValue.h:108</a></div></div>
|
|
1349
1352
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_ad478ac88bc07cf4d6d0ad3517b2c4ab3"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3">SVF::SVFLoopAndDomInfo::BBSet</a></div><div class="ttdeci">Set< const SVFBasicBlock * > BBSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00055">SVFValue.h:55</a></div></div>
|
|
1350
1353
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_ae191915ae746e30c8370ebf8fe733723"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">SVF::SVFLoopAndDomInfo::dfBBsMap</a></div><div class="ttdeci">Map< const SVFBasicBlock *, BBSet > dfBBsMap</div><div class="ttdoc">map a BasicBlock to its Dominate Frontier BasicBlocks</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00063">SVFValue.h:63</a></div></div>
|
|
@@ -2858,7 +2858,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
2858
2858
|
<div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_af2fe5ef8f31ae675a7a32b45aa34a597"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#af2fe5ef8f31ae675a7a32b45aa34a597">SVF::SaberCondAllocator::dominate</a></div><div class="ttdeci">bool dominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00156">SaberCondAllocator.h:156</a></div></div>
|
|
2859
2859
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string & getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00243">SVFValue.h:243</a></div></div>
|
|
2860
2860
|
<div class="ttc" id="anamespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00063">SVFType.h:63</a></div></div>
|
|
2861
|
-
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ab8a735b5d183f5190c4c45b313f1b174"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab8a735b5d183f5190c4c45b313f1b174">SVF::SVFBasicBlock::getBBSuccessorPos</a></div><div class="ttdeci">u32_t getBBSuccessorPos(const SVFBasicBlock *succbb)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#
|
|
2861
|
+
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ab8a735b5d183f5190c4c45b313f1b174"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab8a735b5d183f5190c4c45b313f1b174">SVF::SVFBasicBlock::getBBSuccessorPos</a></div><div class="ttdeci">u32_t getBBSuccessorPos(const SVFBasicBlock *succbb)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00199">SVFValue.cpp:199</a></div></div>
|
|
2862
2862
|
<div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9b52da69d79746765d0c12a5ce1b08f4"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9b52da69d79746765d0c12a5ce1b08f4">SVF::SaberCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00102">SaberCondAllocator.h:102</a></div></div>
|
|
2863
2863
|
<div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
|
|
2864
2864
|
<div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ab1e0f5cb65f7a50da2700fd1f959ea78"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ab1e0f5cb65f7a50da2700fd1f959ea78">SVF::SaberCondAllocator::evaluateBranchCond</a></div><div class="ttdeci">Condition evaluateBranchCond(const SVFBasicBlock *bb, const SVFBasicBlock *succ)</div><div class="ttdoc">Evaluate branch conditions.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00293">SaberCondAllocator.cpp:293</a></div></div>
|
|
@@ -2904,7 +2904,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
2904
2904
|
<div class="ttc" id="aclassSVF_1_1Z3Expr_html_af541505af93ccebf57543793658cf495"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">SVF::Z3Expr::getFalseCond</a></div><div class="ttdeci">static Z3Expr getFalseCond()</div><div class="ttdoc">Return the unique false condition.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00288">Z3Expr.h:288</a></div></div>
|
|
2905
2905
|
<div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9c55829ba737d6100a0a39c32929a56a"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9c55829ba737d6100a0a39c32929a56a">SVF::SaberCondAllocator::collectBBCallingProgExit</a></div><div class="ttdeci">void collectBBCallingProgExit(const SVFBasicBlock &bb)</div><div class="ttdoc">Collect basic block contains program exit function call.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00425">SaberCondAllocator.cpp:425</a></div></div>
|
|
2906
2906
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_aaec097379a345ab0e80b6a9c50508f48"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVF::SVFFunction::const_iterator</a></div><div class="ttdeci">std::vector< const SVFBasicBlock * >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00305">SVFValue.h:305</a></div></div>
|
|
2907
|
-
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a10707086ce21999f415c479706abbd38"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a10707086ce21999f415c479706abbd38">SVF::SVFBasicBlock::getTerminator</a></div><div class="ttdeci">const SVFInstruction * getTerminator() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#
|
|
2907
|
+
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a10707086ce21999f415c479706abbd38"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a10707086ce21999f415c479706abbd38">SVF::SVFBasicBlock::getTerminator</a></div><div class="ttdeci">const SVFInstruction * getTerminator() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00225">SVFValue.cpp:225</a></div></div>
|
|
2908
2908
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
2909
2909
|
<div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aa9027574586fd4fbb12039f595ecec71"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aa9027574586fd4fbb12039f595ecec71">SVF::SaberCondAllocator::isEquivalentBranchCond</a></div><div class="ttdeci">bool isEquivalentBranchCond(const Condition &lhs, const Condition &rhs) const</div><div class="ttdoc">Whether lhs and rhs are equivalent branch conditions.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00610">SaberCondAllocator.cpp:610</a></div></div>
|
|
2910
2910
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a630ff9c47f58f9b8df7c8a2b3711477c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVF::SVFUtil::getMemoryUsageKB</a></div><div class="ttdeci">bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)</div><div class="ttdoc">Get memory usage from system file. Return TRUE if succeed.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00177">SVFUtil.cpp:177</a></div></div>
|
|
@@ -4900,7 +4900,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
4900
4900
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a6c3daf2777cc5f76ce07241f803720f3"><div class="ttname"><a href="classSVF_1_1VFG.html#a6c3daf2777cc5f76ce07241f803720f3">SVF::VFG::globalVFGNodes</a></div><div class="ttdeci">GlobalVFGNodeSet globalVFGNodes</div><div class="ttdoc">set of global store VFG nodes</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00102">VFG.h:102</a></div></div>
|
|
4901
4901
|
<div class="ttc" id="aclassSVF_1_1VFG_html_af8c8d0eb778a2a94a33c0b97ee3704c1"><div class="ttname"><a href="classSVF_1_1VFG.html#af8c8d0eb778a2a94a33c0b97ee3704c1">SVF::VFG::PAGNodeToBranchVFGNodeMap</a></div><div class="ttdeci">PAGNodeToBranchVFGNodeMapTy PAGNodeToBranchVFGNodeMap</div><div class="ttdoc">map a PAGNode to its BranchVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00097">VFG.h:97</a></div></div>
|
|
4902
4902
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_abd1bb12776dc9a17863a52ce2cd31958"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abd1bb12776dc9a17863a52ce2cd31958">SVF::SVFIR::getFunRets</a></div><div class="ttdeci">FunToRetMap & getFunRets()</div><div class="ttdoc">Get function return list.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00302">SVFIR.h:302</a></div></div>
|
|
4903
|
-
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_ae578002917b4ccbf28f172dba30d1d58"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae578002917b4ccbf28f172dba30d1d58">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#
|
|
4903
|
+
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_ae578002917b4ccbf28f172dba30d1d58"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae578002917b4ccbf28f172dba30d1d58">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00180">SVFValue.cpp:180</a></div></div>
|
|
4904
4904
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">SVF::SVFStmt::Select</a></div><div class="ttdeci">@ Select</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00071">SVFStatements.h:71</a></div></div>
|
|
4905
4905
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a462fe6eefc55a436f90f91adeb34726f"><div class="ttname"><a href="classSVF_1_1VFG.html#a462fe6eefc55a436f90f91adeb34726f">SVF::VFG::PAGEdgeToStmtVFGNodeMap</a></div><div class="ttdeci">PAGEdgeToStmtVFGNodeMapTy PAGEdgeToStmtVFGNodeMap</div><div class="ttdoc">map a PAGEdge to its StmtVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00099">VFG.h:99</a></div></div>
|
|
4906
4906
|
<div class="ttc" id="aclassSVF_1_1VFGEdge_html_a8777555f00696706de250159b920d14b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a8777555f00696706de250159b920d14b">SVF::VFGEdge::isDirectVFGEdge</a></div><div class="ttdeci">bool isDirectVFGEdge() const</div><div class="ttdoc">Get methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00076">VFGEdge.h:76</a></div></div>
|