svf-tools 1.0.495 → 1.0.498
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/CoreBitVector_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +2 -1
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFUtil_8h.html +3 -0
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +4 -2
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +4 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +6 -3
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +4 -2
- package/SVF-doxygen/html/html/cuddInt_8c.html +98 -49
- package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
- package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
- package/SVF-doxygen/html/html/globals_r.html +3 -3
- package/SVF-doxygen/html/html/globals_s.html +6 -6
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +34 -0
- package/SVF-doxygen/html/html/namespacemembers_func.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_m.html +3 -0
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_14.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_c.js +1 -0
- package/build.sh +27 -26
- package/include/Util/SVFUtil.h +6 -0
- package/package.json +1 -1
|
@@ -290,7 +290,8 @@ Static Protected Attributes</h2></td></tr>
|
|
|
290
290
|
<p><a class="el" href="structMove.html">Move</a> Constructor. </p>
|
|
291
291
|
|
|
292
292
|
<p class="definition">Definition at line <a class="el" href="DPItem_8h_source.html#l00220">220</a> of file <a class="el" href="DPItem_8h_source.html">DPItem.h</a>.</p>
|
|
293
|
-
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> : <a class="code" href="classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535">context</a>(std::move(cond.context)), <a class="code" href="classSVF_1_1ContextCond.html#a453722fc2b9b4ae4be0dfc1f020390eb">concreteCxt</a>(cond.concreteCxt) {}</div><div class="ttc" id="
|
|
293
|
+
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> : <a class="code" href="classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535">context</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(cond.context)), <a class="code" href="classSVF_1_1ContextCond.html#a453722fc2b9b4ae4be0dfc1f020390eb">concreteCxt</a>(cond.concreteCxt) {}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
294
|
+
<div class="ttc" id="classSVF_1_1ContextCond_html_a453722fc2b9b4ae4be0dfc1f020390eb"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a453722fc2b9b4ae4be0dfc1f020390eb">SVF::ContextCond::concreteCxt</a></div><div class="ttdeci">bool concreteCxt</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00377">DPItem.h:377</a></div></div>
|
|
294
295
|
<div class="ttc" id="classSVF_1_1ContextCond_html_ac431eae00244cc7792b6e7e00634d535"><div class="ttname"><a href="classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535">SVF::ContextCond::context</a></div><div class="ttdeci">CallStrCxt context</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00374">DPItem.h:374</a></div></div>
|
|
295
296
|
</div><!-- fragment -->
|
|
296
297
|
</div>
|
|
@@ -686,7 +687,8 @@ Static Protected Attributes</h2></td></tr>
|
|
|
686
687
|
<p><a class="el" href="structMove.html">Move</a> operator=. </p>
|
|
687
688
|
|
|
688
689
|
<p class="definition">Definition at line <a class="el" href="DPItem_8h_source.html#l00222">222</a> of file <a class="el" href="DPItem_8h_source.html">DPItem.h</a>.</p>
|
|
689
|
-
<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span>(<span class="keyword">this</span>!=&cond)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535">context</a> = std::move(cond.context);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classSVF_1_1ContextCond.html#a453722fc2b9b4ae4be0dfc1f020390eb">concreteCxt</a> = cond.concreteCxt;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="ttc" id="
|
|
690
|
+
<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span>(<span class="keyword">this</span>!=&cond)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535">context</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(cond.context);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classSVF_1_1ContextCond.html#a453722fc2b9b4ae4be0dfc1f020390eb">concreteCxt</a> = cond.concreteCxt;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
691
|
+
<div class="ttc" id="classSVF_1_1ContextCond_html_a453722fc2b9b4ae4be0dfc1f020390eb"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a453722fc2b9b4ae4be0dfc1f020390eb">SVF::ContextCond::concreteCxt</a></div><div class="ttdeci">bool concreteCxt</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00377">DPItem.h:377</a></div></div>
|
|
690
692
|
<div class="ttc" id="classSVF_1_1ContextCond_html_ac431eae00244cc7792b6e7e00634d535"><div class="ttname"><a href="classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535">SVF::ContextCond::context</a></div><div class="ttdeci">CallStrCxt context</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00374">DPItem.h:374</a></div></div>
|
|
691
693
|
</div><!-- fragment -->
|
|
692
694
|
</div>
|
|
@@ -356,7 +356,8 @@ Private Attributes</h2></td></tr>
|
|
|
356
356
|
<p><a class="el" href="structMove.html">Move</a> constructor. </p>
|
|
357
357
|
|
|
358
358
|
<p class="definition">Definition at line <a class="el" href="CoreBitVector_8cpp_source.html#l00033">33</a> of file <a class="el" href="CoreBitVector_8cpp_source.html">CoreBitVector.cpp</a>.</p>
|
|
359
|
-
<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  : <a class="code" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">offset</a>(cbv.offset), <a class="code" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">words</a>(std::move(cbv.words)) { }</div><div class="ttc" id="
|
|
359
|
+
<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  : <a class="code" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">offset</a>(cbv.offset), <a class="code" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">words</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(cbv.words)) { }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
360
|
+
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a79dfa9f4c2efb6a0a2de18c6359c41bd"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">SVF::CoreBitVector::offset</a></div><div class="ttdeci">u32_t offset</div><div class="ttdoc">The first bit of the first word. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00198">CoreBitVector.h:198</a></div></div>
|
|
360
361
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a807283a917e845ef19c4962b1744e98b"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">SVF::CoreBitVector::words</a></div><div class="ttdeci">std::vector< Word > words</div><div class="ttdoc">Our actual bit vector. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00200">CoreBitVector.h:200</a></div></div>
|
|
361
362
|
</div><!-- fragment -->
|
|
362
363
|
</div>
|
|
@@ -979,7 +980,8 @@ Private Attributes</h2></td></tr>
|
|
|
979
980
|
<p><a class="el" href="structMove.html">Move</a> assignment. </p>
|
|
980
981
|
|
|
981
982
|
<p class="definition">Definition at line <a class="el" href="CoreBitVector_8cpp_source.html#l00043">43</a> of file <a class="el" href="CoreBitVector_8cpp_source.html">CoreBitVector.cpp</a>.</p>
|
|
982
|
-
<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  this-><a class="code" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">offset</a> = rhs.offset;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  this-><a class="code" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">words</a> = std::move(rhs.words);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> }</div><div class="ttc" id="
|
|
983
|
+
<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  this-><a class="code" href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">offset</a> = rhs.offset;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  this-><a class="code" href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">words</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.words);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
984
|
+
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a79dfa9f4c2efb6a0a2de18c6359c41bd"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a79dfa9f4c2efb6a0a2de18c6359c41bd">SVF::CoreBitVector::offset</a></div><div class="ttdeci">u32_t offset</div><div class="ttdoc">The first bit of the first word. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00198">CoreBitVector.h:198</a></div></div>
|
|
983
985
|
<div class="ttc" id="classSVF_1_1CoreBitVector_html_a807283a917e845ef19c4962b1744e98b"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b">SVF::CoreBitVector::words</a></div><div class="ttdeci">std::vector< Word > words</div><div class="ttdoc">Our actual bit vector. </div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00200">CoreBitVector.h:200</a></div></div>
|
|
984
986
|
</div><!-- fragment -->
|
|
985
987
|
</div>
|
|
@@ -310,7 +310,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
310
310
|
<p><a class="el" href="structMove.html">Move</a> constructor. </p>
|
|
311
311
|
|
|
312
312
|
<p class="definition">Definition at line <a class="el" href="DPItem_8h_source.html#l00497">497</a> of file <a class="el" href="DPItem_8h_source.html">DPItem.h</a>.</p>
|
|
313
|
-
<div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  : <a class="code" href="classSVF_1_1DPItem.html#ac5dbe11ebf512e6dccdfa1eceba04fe8">DPItem</a>(dps), <a class="code" href="classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b">context</a>(std::move(dps.context))</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  }</div><div class="ttc" id="
|
|
313
|
+
<div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  : <a class="code" href="classSVF_1_1DPItem.html#ac5dbe11ebf512e6dccdfa1eceba04fe8">DPItem</a>(dps), <a class="code" href="classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b">context</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(dps.context))</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
314
|
+
<div class="ttc" id="classSVF_1_1CxtDPItem_html_ab89e9f588054ad8a99d9af8e756c951b"><div class="ttname"><a href="classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b">SVF::CxtDPItem::context</a></div><div class="ttdeci">ContextCond context</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00481">DPItem.h:481</a></div></div>
|
|
314
315
|
<div class="ttc" id="classSVF_1_1DPItem_html_ac5dbe11ebf512e6dccdfa1eceba04fe8"><div class="ttname"><a href="classSVF_1_1DPItem.html#ac5dbe11ebf512e6dccdfa1eceba04fe8">SVF::DPItem::DPItem</a></div><div class="ttdeci">DPItem(NodeID c)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00053">DPItem.h:53</a></div></div>
|
|
315
316
|
</div><!-- fragment -->
|
|
316
317
|
</div>
|
|
@@ -496,7 +497,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
496
497
|
<p><a class="el" href="structMove.html">Move</a> operator=. </p>
|
|
497
498
|
|
|
498
499
|
<p class="definition">Definition at line <a class="el" href="DPItem_8h_source.html#l00501">501</a> of file <a class="el" href="DPItem_8h_source.html">DPItem.h</a>.</p>
|
|
499
|
-
<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> != &dps)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="classSVF_1_1DPItem.html#a3010d11982d57284627fc601ede9d811">DPItem::operator=</a>(dps);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b">context</a> = std::move(dps.context);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }</div><div class="ttc" id="classSVF_1_1DPItem_html_a3010d11982d57284627fc601ede9d811"><div class="ttname"><a href="classSVF_1_1DPItem.html#a3010d11982d57284627fc601ede9d811">SVF::DPItem::operator=</a></div><div class="ttdeci">DPItem & operator=(DPItem &&rhs) noexcept</div><div class="ttdoc">Move operator=. </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00066">DPItem.h:66</a></div></div>
|
|
500
|
+
<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">if</span> (<span class="keyword">this</span> != &dps)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="classSVF_1_1DPItem.html#a3010d11982d57284627fc601ede9d811">DPItem::operator=</a>(dps);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b">context</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(dps.context);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }</div><div class="ttc" id="classSVF_1_1DPItem_html_a3010d11982d57284627fc601ede9d811"><div class="ttname"><a href="classSVF_1_1DPItem.html#a3010d11982d57284627fc601ede9d811">SVF::DPItem::operator=</a></div><div class="ttdeci">DPItem & operator=(DPItem &&rhs) noexcept</div><div class="ttdoc">Move operator=. </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00066">DPItem.h:66</a></div></div>
|
|
501
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
500
502
|
<div class="ttc" id="classSVF_1_1CxtDPItem_html_ab89e9f588054ad8a99d9af8e756c951b"><div class="ttname"><a href="classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b">SVF::CxtDPItem::context</a></div><div class="ttdeci">ContextCond context</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00481">DPItem.h:481</a></div></div>
|
|
501
503
|
</div><!-- fragment -->
|
|
502
504
|
</div>
|
|
@@ -1157,8 +1157,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
1157
1157
|
</div><div class="memdoc">
|
|
1158
1158
|
|
|
1159
1159
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l00148">148</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
|
|
1160
|
-
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</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>  <span class="comment">// We read SVFIR from LLVM IR</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue().<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae19e38054c55d5822dfc83a12f12aa60">empty</a>())</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">if</span>(moduleNameVec.empty())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"no LLVM bc file is found!\n"</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>(0);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">//assert(!moduleNameVec.empty() && "no LLVM bc file is found!");</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">// We read SVFIR from a user-defined txt instead of parsing SVFIR from LLVM IR</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1SVFModule.html#ac630e9f18a239ac6b3b88d05e64140c5">SVFModule::setPagFromTXT</a>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue());</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="comment">//</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">// To avoid the following type bugs (t1 != t3) when parsing multiple modules,</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="comment">// We should use only one LLVMContext object for multiple modules in the same thread.</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">// No such problem if only one module is processed by SVF.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// LLVMContext ctxa,ctxb;</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// IntegerType * t1 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// IntegerType * t2 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="comment">// assert(t1 == t2);</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">// IntegerType * t3 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="comment">// IntegerType * t4 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="comment">// assert(t3 == t4);</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="comment">// assert(t1 != t3);</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="comment">//</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a> = std::make_unique<LLVMContext>();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& moduleName : moduleNameVec)</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="SVF-FE_2BasicTypes_8h.html#a312d4d865f87a9bff58ce66b087c13d0">SMDiagnostic</a> Err;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  std::unique_ptr<Module> mod = parseIRFile(moduleName, Err, *<a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (mod == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"load module: "</span> << moduleName << <span class="stringliteral">"failed!!\n\n"</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  Err.print(<span class="stringliteral">"SVFModuleLoader"</span>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">llvm::errs</a>());</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">modules</a>.emplace_back(*mod);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">owned_modules</a>.emplace_back(std::move(mod));</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div><div class="ttc" id="classSVF_1_1Options_html_aa5c4bc8e55a056adcd7a6f8946ad5f38"><div class="ttname"><a href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">SVF::Options::Graphtxt</a></div><div class="ttdeci">static const llvm::cl::opt< std::string > Graphtxt</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00211">Options.h:211</a></div></div>
|
|
1160
|
+
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</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>  <span class="comment">// We read SVFIR from LLVM IR</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue().<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae19e38054c55d5822dfc83a12f12aa60">empty</a>())</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">if</span>(moduleNameVec.empty())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"no LLVM bc file is found!\n"</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>(0);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">//assert(!moduleNameVec.empty() && "no LLVM bc file is found!");</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">// We read SVFIR from a user-defined txt instead of parsing SVFIR from LLVM IR</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1SVFModule.html#ac630e9f18a239ac6b3b88d05e64140c5">SVFModule::setPagFromTXT</a>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue());</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="comment">//</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">// To avoid the following type bugs (t1 != t3) when parsing multiple modules,</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="comment">// We should use only one LLVMContext object for multiple modules in the same thread.</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">// No such problem if only one module is processed by SVF.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// LLVMContext ctxa,ctxb;</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// IntegerType * t1 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// IntegerType * t2 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="comment">// assert(t1 == t2);</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">// IntegerType * t3 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="comment">// IntegerType * t4 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="comment">// assert(t3 == t4);</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="comment">// assert(t1 != t3);</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="comment">//</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a> = std::make_unique<LLVMContext>();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& moduleName : moduleNameVec)</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="SVF-FE_2BasicTypes_8h.html#a312d4d865f87a9bff58ce66b087c13d0">SMDiagnostic</a> Err;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  std::unique_ptr<Module> mod = parseIRFile(moduleName, Err, *<a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (mod == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"load module: "</span> << moduleName << <span class="stringliteral">"failed!!\n\n"</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  Err.print(<span class="stringliteral">"SVFModuleLoader"</span>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">llvm::errs</a>());</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">modules</a>.emplace_back(*mod);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">owned_modules</a>.emplace_back(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(mod));</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div><div class="ttc" id="classSVF_1_1Options_html_aa5c4bc8e55a056adcd7a6f8946ad5f38"><div class="ttname"><a href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">SVF::Options::Graphtxt</a></div><div class="ttdeci">static const llvm::cl::opt< std::string > Graphtxt</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00211">Options.h:211</a></div></div>
|
|
1161
1161
|
<div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
|
|
1162
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
1162
1163
|
<div class="ttc" id="SVF-FE_2BasicTypes_8h_html_a312d4d865f87a9bff58ce66b087c13d0"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html#a312d4d865f87a9bff58ce66b087c13d0">SMDiagnostic</a></div><div class="ttdeci">llvm::SMDiagnostic SMDiagnostic</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00039">BasicTypes.h:39</a></div></div>
|
|
1163
1164
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
|
|
1164
1165
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
@@ -398,12 +398,13 @@ Static Private Attributes</h2></td></tr>
|
|
|
398
398
|
<p><a class="el" href="structMove.html">Move</a> constructor. </p>
|
|
399
399
|
|
|
400
400
|
<p class="definition">Definition at line <a class="el" href="PointsTo_8cpp_source.html#l00044">44</a> of file <a class="el" href="PointsTo_8cpp_source.html">PointsTo.cpp</a>.</p>
|
|
401
|
-
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  : <a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a>(pt.type), <a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a>(pt.nodeMapping),</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a>(pt.reverseNodeMapping)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>) <a class="code" href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SparseBitVector</a>(std::move(pt.sbv));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">cbv</a>) CoreBitVector(std::move(pt.cbv));</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">bv</a>) BitVector(std::move(pt.bv));</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">else</span> <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsTo::PointsTo&&: unknown type"</span>);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SVF::PointsTo::SBV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00032">PointsTo.h:32</a></div></div>
|
|
401
|
+
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  : <a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a>(pt.type), <a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a>(pt.nodeMapping),</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a>(pt.reverseNodeMapping)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>) <a class="code" href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SparseBitVector</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(pt.sbv));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">cbv</a>) CoreBitVector(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(pt.cbv));</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">bv</a>) BitVector(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(pt.bv));</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">else</span> <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsTo::PointsTo&&: unknown type"</span>);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SVF::PointsTo::SBV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00032">PointsTo.h:32</a></div></div>
|
|
402
402
|
<div class="ttc" id="namespaceSVF_html_ab6cf2115b54ef7135b031efc2f112b54"><div class="ttname"><a href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SVF::SparseBitVector</a></div><div class="ttdeci">llvm::SparseBitVector SparseBitVector</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
|
|
403
403
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aecd6b98c0687de59aebb297ec38a7084"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">SVF::PointsTo::sbv</a></div><div class="ttdeci">SparseBitVector sbv</div><div class="ttdoc">Sparse bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00165">PointsTo.h:165</a></div></div>
|
|
404
404
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a1ae4abe690d21eb5aaf2154243b604c1"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">SVF::PointsTo::reverseNodeMapping</a></div><div class="ttdeci">MappingPtr reverseNodeMapping</div><div class="ttdoc">Internal nodes -> external nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00177">PointsTo.h:177</a></div></div>
|
|
405
405
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
406
406
|
<div class="ttc" id="classSVF_1_1PointsTo_html_acd7eab32125de90020c55c757d6adfda"><div class="ttname"><a href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">SVF::PointsTo::nodeMapping</a></div><div class="ttdeci">MappingPtr nodeMapping</div><div class="ttdoc">External nodes -> internal nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00175">PointsTo.h:175</a></div></div>
|
|
407
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
407
408
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a668be9270539fdfc5dbf3efb9cc17587"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">SVF::PointsTo::bv</a></div><div class="ttdeci">BitVector bv</div><div class="ttdoc">Bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00169">PointsTo.h:169</a></div></div>
|
|
408
409
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">SVF::PointsTo::BV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00034">PointsTo.h:34</a></div></div>
|
|
409
410
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a79333c4ae5c002d9632fa589956b3605"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">SVF::PointsTo::cbv</a></div><div class="ttdeci">CoreBitVector cbv</div><div class="ttdoc">Core bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00167">PointsTo.h:167</a></div></div>
|
|
@@ -489,8 +490,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
489
490
|
<p>Checks if this points-to set is using the current best mapping. If not, remaps. </p>
|
|
490
491
|
|
|
491
492
|
<p class="definition">Definition at line <a class="el" href="PointsTo_8cpp_source.html#l00374">374</a> of file <a class="el" href="PointsTo_8cpp_source.html">PointsTo.cpp</a>.</p>
|
|
492
|
-
<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a> != <a class="code" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">currentBestNodeMapping</a>)</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="comment">// newPt constructed with correct node mapping.</span></div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a> newPt;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o : *<span class="keyword">this</span>) newPt.set(o);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  *<span class="keyword">this</span> = std::move(newPt);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
493
|
+
<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a> != <a class="code" href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">currentBestNodeMapping</a>)</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="comment">// newPt constructed with correct node mapping.</span></div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">PointsTo</a> newPt;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o : *<span class="keyword">this</span>) newPt.set(o);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  *<span class="keyword">this</span> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(newPt);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
493
494
|
<div class="ttc" id="classSVF_1_1PointsTo_html_acd7eab32125de90020c55c757d6adfda"><div class="ttname"><a href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">SVF::PointsTo::nodeMapping</a></div><div class="ttdeci">MappingPtr nodeMapping</div><div class="ttdoc">External nodes -> internal nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00175">PointsTo.h:175</a></div></div>
|
|
495
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
494
496
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a05aa807f21f311eb50ff11dde98b8d22"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22">SVF::PointsTo::PointsTo</a></div><div class="ttdeci">PointsTo(void)</div><div class="ttdoc">Construct empty points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00024">PointsTo.cpp:24</a></div></div>
|
|
495
497
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a98781dd444ada40af7eef9aefe76123d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a98781dd444ada40af7eef9aefe76123d">SVF::PointsTo::currentBestNodeMapping</a></div><div class="ttdeci">static MappingPtr currentBestNodeMapping</div><div class="ttdoc">Best node mapping we know of the for the analyses at hand. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00156">PointsTo.h:156</a></div></div>
|
|
496
498
|
</div><!-- fragment -->
|
|
@@ -1118,12 +1120,13 @@ Static Private Attributes</h2></td></tr>
|
|
|
1118
1120
|
<p><a class="el" href="structMove.html">Move</a> assignment. </p>
|
|
1119
1121
|
|
|
1120
1122
|
<p class="definition">Definition at line <a class="el" href="PointsTo_8cpp_source.html#l00080">80</a> of file <a class="el" href="PointsTo_8cpp_source.html">PointsTo.cpp</a>.</p>
|
|
1121
|
-
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  this-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> = rhs.type;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  this-><a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a> = rhs.nodeMapping;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  this-><a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a> = rhs.reverseNodeMapping;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="comment">// See comment in copy assignment.</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>) <a class="code" href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SparseBitVector</a>(std::move(rhs.sbv));</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">cbv</a>) CoreBitVector(std::move(rhs.cbv));</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">bv</a>) BitVector(std::move(rhs.bv));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">else</span> <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsTo::PointsTo=&&: unknown type"</span>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div><div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SVF::PointsTo::SBV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00032">PointsTo.h:32</a></div></div>
|
|
1123
|
+
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  this-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> = rhs.type;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  this-><a class="code" href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">nodeMapping</a> = rhs.nodeMapping;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  this-><a class="code" href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">reverseNodeMapping</a> = rhs.reverseNodeMapping;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="comment">// See comment in copy assignment.</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">sbv</a>) <a class="code" href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SparseBitVector</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.sbv));</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">CBV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">cbv</a>) CoreBitVector(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.cbv));</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == <a class="code" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">BV</a>) <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">bv</a>) BitVector(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.bv));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">else</span> <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsTo::PointsTo=&&: unknown type"</span>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> }</div><div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eacccb6e19f3e8db5f5b5b8858b22da61a">SVF::PointsTo::SBV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00032">PointsTo.h:32</a></div></div>
|
|
1122
1124
|
<div class="ttc" id="namespaceSVF_html_ab6cf2115b54ef7135b031efc2f112b54"><div class="ttname"><a href="namespaceSVF.html#ab6cf2115b54ef7135b031efc2f112b54">SVF::SparseBitVector</a></div><div class="ttdeci">llvm::SparseBitVector SparseBitVector</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
|
|
1123
1125
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aecd6b98c0687de59aebb297ec38a7084"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aecd6b98c0687de59aebb297ec38a7084">SVF::PointsTo::sbv</a></div><div class="ttdeci">SparseBitVector sbv</div><div class="ttdoc">Sparse bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00165">PointsTo.h:165</a></div></div>
|
|
1124
1126
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a1ae4abe690d21eb5aaf2154243b604c1"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1ae4abe690d21eb5aaf2154243b604c1">SVF::PointsTo::reverseNodeMapping</a></div><div class="ttdeci">MappingPtr reverseNodeMapping</div><div class="ttdoc">Internal nodes -> external nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00177">PointsTo.h:177</a></div></div>
|
|
1125
1127
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1126
1128
|
<div class="ttc" id="classSVF_1_1PointsTo_html_acd7eab32125de90020c55c757d6adfda"><div class="ttname"><a href="classSVF_1_1PointsTo.html#acd7eab32125de90020c55c757d6adfda">SVF::PointsTo::nodeMapping</a></div><div class="ttdeci">MappingPtr nodeMapping</div><div class="ttdoc">External nodes -> internal nodes. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00175">PointsTo.h:175</a></div></div>
|
|
1129
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
1127
1130
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a668be9270539fdfc5dbf3efb9cc17587"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a668be9270539fdfc5dbf3efb9cc17587">SVF::PointsTo::bv</a></div><div class="ttdeci">BitVector bv</div><div class="ttdoc">Bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00169">PointsTo.h:169</a></div></div>
|
|
1128
1131
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923eafd6e0658d0eb4cdba368fa8e77d4d892">SVF::PointsTo::BV</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00034">PointsTo.h:34</a></div></div>
|
|
1129
1132
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a79333c4ae5c002d9632fa589956b3605"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">SVF::PointsTo::cbv</a></div><div class="ttdeci">CoreBitVector cbv</div><div class="ttdoc">Core bit vector backing. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00167">PointsTo.h:167</a></div></div>
|
|
@@ -297,11 +297,12 @@ Private Attributes</h2></td></tr>
|
|
|
297
297
|
</div><div class="memdoc">
|
|
298
298
|
|
|
299
299
|
<p class="definition">Definition at line <a class="el" href="PointsTo_8cpp_source.html#l00429">429</a> of file <a class="el" href="PointsTo_8cpp_source.html">PointsTo.cpp</a>.</p>
|
|
300
|
-
<div class="fragment"><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  : <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.pt)</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::SBV)</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">sbvIt</a>) SparseBitVector::iterator(std::move(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.sbvIt));</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::CBV)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">cbvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">CoreBitVector::iterator</a>(std::move(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.cbvIt));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::BV)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">bvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">BitVector::iterator</a>(std::move(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.bvIt));</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  }</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsToIterator::PointsToIterator&&: unknown type"</span>);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> }</div><div class="ttc" id="classSVF_1_1CoreBitVector_html_a624ebc80d138fbf2b015bf557d2891a6"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">SVF::CoreBitVector::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00038">CoreBitVector.h:38</a></div></div>
|
|
300
|
+
<div class="fragment"><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  : <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.pt)</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::SBV)</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">sbvIt</a>) SparseBitVector::iterator(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.sbvIt));</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::CBV)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">cbvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">CoreBitVector::iterator</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.cbvIt));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::BV)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">bvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">BitVector::iterator</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>.bvIt));</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  }</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsToIterator::PointsToIterator&&: unknown type"</span>);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> }</div><div class="ttc" id="classSVF_1_1CoreBitVector_html_a624ebc80d138fbf2b015bf557d2891a6"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">SVF::CoreBitVector::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00038">CoreBitVector.h:38</a></div></div>
|
|
301
301
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
302
302
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a8be3dd8b1e66eac8577bf16b7403c9c5"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">SVF::PointsTo::PointsToIterator::pt</a></div><div class="ttdeci">const PointsTo * pt</div><div class="ttdoc">PointsTo we are iterating over. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00221">PointsTo.h:221</a></div></div>
|
|
303
303
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ac13245e140ab7c488c776b8dd97facf4"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">SVF::PointsTo::PointsToIterator::sbvIt</a></div><div class="ttdeci">SparseBitVector::iterator sbvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00226">PointsTo.h:226</a></div></div>
|
|
304
304
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aa420a44769d1c25e083975e3cd04d699"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">SVF::PointsTo::PointsToIterator::bvIt</a></div><div class="ttdeci">BitVector::iterator bvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00228">PointsTo.h:228</a></div></div>
|
|
305
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
305
306
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aaa9c956187f2c04a7a242ce440d1416f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">SVF::PointsTo::type</a></div><div class="ttdeci">enum Type type</div><div class="ttdoc">Type of this points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00173">PointsTo.h:173</a></div></div>
|
|
306
307
|
<div class="ttc" id="util_8h_html_a23c00958edf66c39625a0d535dee57b7"><div class="ttname"><a href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a></div><div class="ttdeci">VOID_OR_INT abort()</div></div>
|
|
307
308
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a4db2c62eb3ad789ab7aaf7506cd340b2"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">SVF::PointsTo::PointsToIterator::cbvIt</a></div><div class="ttdeci">CoreBitVector::iterator cbvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00227">PointsTo.h:227</a></div></div>
|
|
@@ -546,11 +547,12 @@ Private Attributes</h2></td></tr>
|
|
|
546
547
|
</div><div class="memdoc">
|
|
547
548
|
|
|
548
549
|
<p class="definition">Definition at line <a class="el" href="PointsTo_8cpp_source.html#l00472">472</a> of file <a class="el" href="PointsTo_8cpp_source.html">PointsTo.cpp</a>.</p>
|
|
549
|
-
<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a> = rhs.pt;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::SBV)</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  {</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">sbvIt</a>) SparseBitVector::iterator(std::move(rhs.sbvIt));</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  }</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::CBV)</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">cbvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">CoreBitVector::iterator</a>(std::move(rhs.cbvIt));</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::BV)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">bvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">BitVector::iterator</a>(std::move(rhs.bvIt));</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  }</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">else</span> <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsToIterator::PointsToIterator&&: unknown type"</span>);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div><div class="ttc" id="classSVF_1_1CoreBitVector_html_a624ebc80d138fbf2b015bf557d2891a6"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">SVF::CoreBitVector::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00038">CoreBitVector.h:38</a></div></div>
|
|
550
|
+
<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a> = rhs.pt;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::SBV)</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  {</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">sbvIt</a>) SparseBitVector::iterator(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.sbvIt));</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  }</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::CBV)</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">cbvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">CoreBitVector::iterator</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.cbvIt));</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">pt</a>-><a class="code" href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">type</a> == PointsTo::Type::BV)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keyword">new</span> (&<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">bvIt</a>) <a class="code" href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">BitVector::iterator</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs.bvIt));</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  }</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">else</span> <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"PointsToIterator::PointsToIterator&&: unknown type"</span>);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div><div class="ttc" id="classSVF_1_1CoreBitVector_html_a624ebc80d138fbf2b015bf557d2891a6"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a624ebc80d138fbf2b015bf557d2891a6">SVF::CoreBitVector::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00038">CoreBitVector.h:38</a></div></div>
|
|
550
551
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
551
552
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a8be3dd8b1e66eac8577bf16b7403c9c5"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a8be3dd8b1e66eac8577bf16b7403c9c5">SVF::PointsTo::PointsToIterator::pt</a></div><div class="ttdeci">const PointsTo * pt</div><div class="ttdoc">PointsTo we are iterating over. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00221">PointsTo.h:221</a></div></div>
|
|
552
553
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_ac13245e140ab7c488c776b8dd97facf4"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#ac13245e140ab7c488c776b8dd97facf4">SVF::PointsTo::PointsToIterator::sbvIt</a></div><div class="ttdeci">SparseBitVector::iterator sbvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00226">PointsTo.h:226</a></div></div>
|
|
553
554
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_aa420a44769d1c25e083975e3cd04d699"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#aa420a44769d1c25e083975e3cd04d699">SVF::PointsTo::PointsToIterator::bvIt</a></div><div class="ttdeci">BitVector::iterator bvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00228">PointsTo.h:228</a></div></div>
|
|
555
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00729">SVFUtil.h:729</a></div></div>
|
|
554
556
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aaa9c956187f2c04a7a242ce440d1416f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aaa9c956187f2c04a7a242ce440d1416f">SVF::PointsTo::type</a></div><div class="ttdeci">enum Type type</div><div class="ttdoc">Type of this points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00173">PointsTo.h:173</a></div></div>
|
|
555
557
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html_a4db2c62eb3ad789ab7aaf7506cd340b2"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">SVF::PointsTo::PointsToIterator::cbvIt</a></div><div class="ttdeci">CoreBitVector::iterator cbvIt</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00227">PointsTo.h:227</a></div></div>
|
|
556
558
|
</div><!-- fragment -->
|