svf-tools 1.0.344 → 1.0.348
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/Andersen_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +41 -41
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +47 -46
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +73 -71
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +43 -39
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +90 -90
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +46 -45
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +275 -224
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
- package/SVF-doxygen/html/html/functions_eval_r.html +3 -0
- package/SVF-doxygen/html/html/functions_func_g.html +5 -5
- package/SVF-doxygen/html/html/functions_func_i.html +13 -10
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +10 -7
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +10 -10
- package/SVF-doxygen/html/html/functions_p.html +10 -10
- package/SVF-doxygen/html/html/functions_r.html +7 -2
- package/SVF-doxygen/html/html/functions_s.html +5 -5
- package/SVF-doxygen/html/html/functions_t.html +6 -4
- package/SVF-doxygen/html/html/functions_w.html +9 -5
- package/SVF-doxygen/html/html/search/all_10.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +1 -0
- package/SVF-doxygen/html/html/search/all_13.js +6 -6
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +1 -0
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_e.js +2 -1
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_8.js +1 -0
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/ICFGNode.h +2 -2
- package/include/SVF-FE/SVFIRBuilder.h +3 -0
- package/include/Util/NodeIDAllocator.h +3 -0
- package/lib/SVF-FE/SVFIRBuilder.cpp +66 -30
- package/lib/Util/NodeIDAllocator.cpp +12 -0
- package/lib/Util/Options.cpp +2 -1
- package/package.json +1 -1
|
@@ -86,6 +86,7 @@ Classes</h2></td></tr>
|
|
|
86
86
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
87
87
|
Public Types</h2></td></tr>
|
|
88
88
|
<tr class="memitem:a8cf553cd07768aad3f3b91bf3d7c6228"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">Strategy</a> { <a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,
|
|
89
|
+
<a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228ae21bc1064d05499c2dc6051d153df9e6">REVERSE_DENSE</a>,
|
|
89
90
|
<a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,
|
|
90
91
|
<a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">DEBUG</a>
|
|
91
92
|
}<tr class="memdesc:a8cf553cd07768aad3f3b91bf3d7c6228"><td class="mdescLeft"> </td><td class="mdescRight">Allocation strategy to use. <a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">More...</a><br /></td></tr>
|
|
@@ -181,6 +182,8 @@ Static Private Attributes</h2></td></tr>
|
|
|
181
182
|
<table class="fieldtable">
|
|
182
183
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0"></a>DENSE </td><td class="fielddoc"><p>Allocate objects contiguously, separate from values, and vice versa. If [****...*****] is the space of unsigned integers, we allocate as, [ssssooooooo...vvvvvvv] (o = object, v = value, s = special). </p>
|
|
183
184
|
</td></tr>
|
|
185
|
+
<tr><td class="fieldname"><a id="a8cf553cd07768aad3f3b91bf3d7c6228ae21bc1064d05499c2dc6051d153df9e6"></a>REVERSE_DENSE </td><td class="fielddoc"><p>Like dense, but with order flipped: [ssssvvvvvvv...ooooooo] </p>
|
|
186
|
+
</td></tr>
|
|
184
187
|
<tr><td class="fieldname"><a id="a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f"></a>SEQ </td><td class="fielddoc"><p>Allocate objects objects and values sequentially, intermixed. </p>
|
|
185
188
|
</td></tr>
|
|
186
189
|
<tr><td class="fieldname"><a id="a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"></a>DEBUG </td><td class="fielddoc"><p>Allocate values and objects as they come in with a single counter. GEP objects are allocated as an offset from their base (see implementation of allocateGepObjectId). The purpose of this allocation strategy is human readability. </p>
|
|
@@ -188,9 +191,10 @@ Static Private Attributes</h2></td></tr>
|
|
|
188
191
|
</table>
|
|
189
192
|
|
|
190
193
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00024">24</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
191
|
-
<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="
|
|
194
|
+
<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228ae21bc1064d05499c2dc6051d153df9e6">REVERSE_DENSE</a>,</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">DEBUG</a>,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  };</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228ae21bc1064d05499c2dc6051d153df9e6"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228ae21bc1064d05499c2dc6051d153df9e6">SVF::NodeIDAllocator::REVERSE_DENSE</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00032">NodeIDAllocator.h:32</a></div></div>
|
|
195
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SVF::NodeIDAllocator::SEQ</a></div><div class="ttdoc">Allocate objects objects and values sequentially, intermixed. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00034">NodeIDAllocator.h:34</a></div></div>
|
|
192
196
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">SVF::NodeIDAllocator::DENSE</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00029">NodeIDAllocator.h:29</a></div></div>
|
|
193
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">SVF::NodeIDAllocator::DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
197
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">SVF::NodeIDAllocator::DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00039">NodeIDAllocator.h:39</a></div></div>
|
|
194
198
|
</div><!-- fragment -->
|
|
195
199
|
</div>
|
|
196
200
|
</div>
|
|
@@ -222,12 +226,12 @@ Static Private Attributes</h2></td></tr>
|
|
|
222
226
|
<p>Builds a node ID allocator with the strategy specified on the command line. </p>
|
|
223
227
|
|
|
224
228
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00045">45</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
225
|
-
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  : <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a>(<a class="code" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">Options::NodeAllocStrat</a>)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  { }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
229
|
+
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  : <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a>(<a class="code" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">Options::NodeAllocStrat</a>)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  { }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00087">NodeIDAllocator.h:87</a></div></div>
|
|
226
230
|
<div class="ttc" id="classSVF_1_1Options_html_a2537be131132830c63d408133619a065"><div class="ttname"><a href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">SVF::Options::NodeAllocStrat</a></div><div class="ttdeci">static const llvm::cl::opt< SVF::NodeIDAllocator::Strategy > NodeAllocStrat</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00034">Options.h:34</a></div></div>
|
|
227
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
228
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
229
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
230
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
231
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00093">NodeIDAllocator.h:93</a></div></div>
|
|
232
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00089">NodeIDAllocator.h:89</a></div></div>
|
|
233
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00097">NodeIDAllocator.h:97</a></div></div>
|
|
234
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00091">NodeIDAllocator.h:91</a></div></div>
|
|
231
235
|
</div><!-- fragment -->
|
|
232
236
|
</div>
|
|
233
237
|
</div>
|
|
@@ -265,13 +269,13 @@ Static Private Attributes</h2></td></tr>
|
|
|
265
269
|
</div><div class="memdoc">
|
|
266
270
|
<p>Allocate a GEP object ID as determined by the strategy. allocateObjectId is still fine for GEP objects, but for some strategies (DEBUG, namely), GEP objects can be allocated differently (more readable, for DEBUG). Regardless, numObjects is shared; there is no special numGepObjects. </p>
|
|
267
271
|
|
|
268
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#
|
|
269
|
-
<div class="fragment"><div class="line"><a name="
|
|
272
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00086">86</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
273
|
+
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</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="comment">// Nothing different to the other case.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::REVERSE_DENSE)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">id</span> = UINT_MAX - <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::SEQ)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DEBUG)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">// For a gep id, base id is set at lower bits, and offset is set at higher bits</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">// e.g., 1100050 denotes base=50 and offset=10</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">// The offset is 10, not 11, because we add 1 to the offset to ensure that the</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="comment">// high bits are never 0. For example, we do not want the gep id to be 50 when</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// the base is 50 and the offset is 0.</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepMultiplier = pow(10, ceil(log10(</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> > maxFieldLimit ?</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> : maxFieldLimit</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  )));</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">id</span> = (offset + 1) * gepMultiplier + base;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> > <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> && <span class="stringliteral">"NodeIDAllocator::allocateGepObjectId: GEP allocation clashing with other nodes"</span>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"NodeIDAllocator::allocateGepObjectId: unimplemented node allocation strategy"</span>);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 && <span class="stringliteral">"NodeIDAllocator::allocateGepObjectId: ID not allocated"</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</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#l00018">MTAResultValidator.h:18</a></div></div>
|
|
270
274
|
<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>
|
|
271
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
272
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
273
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
274
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
275
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00087">NodeIDAllocator.h:87</a></div></div>
|
|
276
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00093">NodeIDAllocator.h:93</a></div></div>
|
|
277
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00097">NodeIDAllocator.h:97</a></div></div>
|
|
278
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00091">NodeIDAllocator.h:91</a></div></div>
|
|
275
279
|
</div><!-- fragment -->
|
|
276
280
|
</div>
|
|
277
281
|
</div>
|
|
@@ -294,11 +298,11 @@ Static Private Attributes</h2></td></tr>
|
|
|
294
298
|
<p>Allocate an object ID as determined by the strategy. </p>
|
|
295
299
|
|
|
296
300
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00049">49</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
297
|
-
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="comment">// We allocate objects from 0(-ish, considering the special nodes) to # of objects.</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::
|
|
301
|
+
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="comment">// We allocate objects from 0(-ish, considering the special nodes) to # of objects.</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::REVERSE_DENSE)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">id</span> = UINT_MAX - <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::SEQ)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DEBUG)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// Non-GEPs just grab the next available ID.</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="comment">// We may have "holes" because GEPs increment the total</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// but allocate far away. This is not a problem because</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="comment">// we don't care about the relative distances between nodes.</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"NodeIDAllocator::allocateObjectId: unimplemented node allocation strategy."</span>);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><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>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 && <span class="stringliteral">"NodeIDAllocator::allocateObjectId: ID not allocated"</span>);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</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#l00018">MTAResultValidator.h:18</a></div></div>
|
|
298
302
|
<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>
|
|
299
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
300
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
301
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
303
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00087">NodeIDAllocator.h:87</a></div></div>
|
|
304
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00093">NodeIDAllocator.h:93</a></div></div>
|
|
305
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00097">NodeIDAllocator.h:97</a></div></div>
|
|
302
306
|
</div><!-- fragment -->
|
|
303
307
|
</div>
|
|
304
308
|
</div>
|
|
@@ -320,12 +324,12 @@ Static Private Attributes</h2></td></tr>
|
|
|
320
324
|
|
|
321
325
|
<p>Allocate a value ID as determined by the strategy. </p>
|
|
322
326
|
|
|
323
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#
|
|
324
|
-
<div class="fragment"><div class="line"><a name="
|
|
327
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00129">129</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
328
|
+
<div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="comment">// We allocate values from UINT_MAX to UINT_MAX - # of values.</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// TODO: UINT_MAX does not allow for an easily changeable type</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="comment">// of NodeID (though it is already in use elsewhere).</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">id</span> = UINT_MAX - <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::REVERSE_DENSE)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::SEQ)</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DEBUG)</div><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>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"NodeIDAllocator::allocateValueId: unimplemented node allocation strategy"</span>);</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> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 && <span class="stringliteral">"NodeIDAllocator::allocateValueId: ID not allocated"</span>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</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#l00018">MTAResultValidator.h:18</a></div></div>
|
|
325
329
|
<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>
|
|
326
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
327
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
328
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
330
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00093">NodeIDAllocator.h:93</a></div></div>
|
|
331
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00089">NodeIDAllocator.h:89</a></div></div>
|
|
332
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00097">NodeIDAllocator.h:97</a></div></div>
|
|
329
333
|
</div><!-- fragment -->
|
|
330
334
|
</div>
|
|
331
335
|
</div>
|
|
@@ -347,9 +351,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
347
351
|
|
|
348
352
|
<p>Notify the allocator that all symbols have had IDs allocated. </p>
|
|
349
353
|
|
|
350
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#
|
|
351
|
-
<div class="fragment"><div class="line"><a name="
|
|
352
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
354
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00164">164</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
355
|
+
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00093">NodeIDAllocator.h:93</a></div></div>
|
|
356
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00091">NodeIDAllocator.h:91</a></div></div>
|
|
353
357
|
</div><!-- fragment -->
|
|
354
358
|
</div>
|
|
355
359
|
</div>
|
|
@@ -380,7 +384,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
380
384
|
<p>Return (singleton) allocator. </p>
|
|
381
385
|
|
|
382
386
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00025">25</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
383
|
-
<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">NodeIDAllocator</a>();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
387
|
+
<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">NodeIDAllocator</a>();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00100">NodeIDAllocator.h:100</a></div></div>
|
|
384
388
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_ac8d6abc4ee27ae464f3978e4f4bdc3a6"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">SVF::NodeIDAllocator::NodeIDAllocator</a></div><div class="ttdeci">NodeIDAllocator(void)</div><div class="ttdoc">Builds a node ID allocator with the strategy specified on the command line. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00045">NodeIDAllocator.cpp:45</a></div></div>
|
|
385
389
|
</div><!-- fragment -->
|
|
386
390
|
</div>
|
|
@@ -411,8 +415,8 @@ Static Private Attributes</h2></td></tr>
|
|
|
411
415
|
|
|
412
416
|
<p>Returns the total number of memory objects. </p>
|
|
413
417
|
|
|
414
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
415
|
-
<div class="fragment"><div class="line"><a name="
|
|
418
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00077">77</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
419
|
+
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> { <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>; }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00087">NodeIDAllocator.h:87</a></div></div>
|
|
416
420
|
</div><!-- fragment -->
|
|
417
421
|
</div>
|
|
418
422
|
</div>
|
|
@@ -443,7 +447,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
443
447
|
<p>Deletes the (singleton) allocator. </p>
|
|
444
448
|
|
|
445
449
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00035">35</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
446
|
-
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
450
|
+
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00100">NodeIDAllocator.h:100</a></div></div>
|
|
447
451
|
</div><!-- fragment -->
|
|
448
452
|
</div>
|
|
449
453
|
</div>
|
|
@@ -470,7 +474,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
470
474
|
|
|
471
475
|
<p>Single allocator. </p>
|
|
472
476
|
|
|
473
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
477
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00100">100</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
474
478
|
|
|
475
479
|
</div>
|
|
476
480
|
</div>
|
|
@@ -495,7 +499,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
495
499
|
</div><div class="memdoc">
|
|
496
500
|
<p>These nodes, and any nodes before them are assumed allocated as objects and values. For simplicity's sake, numObjects and numVals thus start at 4 (and the other counters are set appropriately). </p>
|
|
497
501
|
|
|
498
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
502
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00047">47</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
499
503
|
|
|
500
504
|
</div>
|
|
501
505
|
</div>
|
|
@@ -519,7 +523,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
519
523
|
</table>
|
|
520
524
|
</div><div class="memdoc">
|
|
521
525
|
|
|
522
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
526
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00049">49</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
523
527
|
|
|
524
528
|
</div>
|
|
525
529
|
</div>
|
|
@@ -543,7 +547,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
543
547
|
</table>
|
|
544
548
|
</div><div class="memdoc">
|
|
545
549
|
|
|
546
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
550
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00048">48</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
547
551
|
|
|
548
552
|
</div>
|
|
549
553
|
</div>
|
|
@@ -567,7 +571,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
567
571
|
</table>
|
|
568
572
|
</div><div class="memdoc">
|
|
569
573
|
|
|
570
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
574
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00050">50</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
571
575
|
|
|
572
576
|
</div>
|
|
573
577
|
</div>
|
|
@@ -593,7 +597,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
593
597
|
|
|
594
598
|
<p>Total number of objects and values allocated. </p>
|
|
595
599
|
|
|
596
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
600
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00093">93</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
597
601
|
|
|
598
602
|
</div>
|
|
599
603
|
</div>
|
|
@@ -619,7 +623,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
619
623
|
<p>These are moreso counters than amounts.</p>
|
|
620
624
|
<p>Number of memory objects allocated, including specials. </p>
|
|
621
625
|
|
|
622
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
626
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00087">87</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
623
627
|
|
|
624
628
|
</div>
|
|
625
629
|
</div>
|
|
@@ -645,7 +649,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
645
649
|
|
|
646
650
|
<p>Number of explicit symbols allocated (e.g., llvm::Values), including specials. </p>
|
|
647
651
|
|
|
648
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
652
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00091">91</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
649
653
|
|
|
650
654
|
</div>
|
|
651
655
|
</div>
|
|
@@ -671,7 +675,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
671
675
|
|
|
672
676
|
<p>Number of values allocated, including specials. </p>
|
|
673
677
|
|
|
674
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
678
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00089">89</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
675
679
|
|
|
676
680
|
</div>
|
|
677
681
|
</div>
|
|
@@ -697,7 +701,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
697
701
|
|
|
698
702
|
<p>Strategy to allocate with. </p>
|
|
699
703
|
|
|
700
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
704
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00097">97</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
701
705
|
|
|
702
706
|
</div>
|
|
703
707
|
</div>
|