svf-tools 1.0.345 → 1.0.349

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.
Files changed (53) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +5 -5
  3. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +41 -41
  4. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +47 -46
  5. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -1
  7. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +73 -71
  8. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +4 -4
  12. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +5 -5
  13. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +5 -4
  14. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +43 -39
  15. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +90 -90
  16. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
  17. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +46 -45
  18. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +275 -224
  19. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  20. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  21. package/SVF-doxygen/html/html/functions_eval_r.html +3 -0
  22. package/SVF-doxygen/html/html/functions_func_i.html +13 -10
  23. package/SVF-doxygen/html/html/functions_i.html +10 -7
  24. package/SVF-doxygen/html/html/functions_l.html +3 -3
  25. package/SVF-doxygen/html/html/functions_m.html +1 -1
  26. package/SVF-doxygen/html/html/functions_o.html +10 -10
  27. package/SVF-doxygen/html/html/functions_p.html +10 -10
  28. package/SVF-doxygen/html/html/functions_r.html +7 -2
  29. package/SVF-doxygen/html/html/functions_s.html +3 -3
  30. package/SVF-doxygen/html/html/functions_t.html +6 -4
  31. package/SVF-doxygen/html/html/functions_w.html +9 -5
  32. package/SVF-doxygen/html/html/search/all_10.js +9 -9
  33. package/SVF-doxygen/html/html/search/all_12.js +1 -0
  34. package/SVF-doxygen/html/html/search/all_13.js +5 -5
  35. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  36. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  37. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  38. package/SVF-doxygen/html/html/search/all_9.js +1 -0
  39. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  40. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  41. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  42. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  43. package/SVF-doxygen/html/html/search/enumvalues_e.js +2 -1
  44. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  45. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  46. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  47. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  48. package/include/SVF-FE/SVFIRBuilder.h +3 -0
  49. package/include/Util/NodeIDAllocator.h +3 -0
  50. package/lib/SVF-FE/SVFIRBuilder.cpp +66 -30
  51. package/lib/Util/NodeIDAllocator.cpp +12 -0
  52. package/lib/Util/Options.cpp +2 -1
  53. 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 &#160;</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">&#160;</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&#160;</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&#160;</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&#160;</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&#160;</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>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">DEBUG</a>,</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; };</div><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#l00031">NodeIDAllocator.h:31</a></div></div>
194
+ <div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <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>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">DEBUG</a>,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; };</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#l00036">NodeIDAllocator.h:36</a></div></div>
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>&#160; : <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>&#160; { }</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#l00084">NodeIDAllocator.h:84</a></div></div>
229
+ <div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; : <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>&#160; { }</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&lt; SVF::NodeIDAllocator::Strategy &gt; 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#l00090">NodeIDAllocator.h:90</a></div></div>
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#l00086">NodeIDAllocator.h:86</a></div></div>
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#l00094">NodeIDAllocator.h:94</a></div></div>
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#l00088">NodeIDAllocator.h:88</a></div></div>
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#l00082">82</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
269
- <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// Nothing different to the other case.</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <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="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <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="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <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="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// e.g., 1100050 denotes base=50 and offset=10</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <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="l00100"></a><span class="lineno"> 100</span>&#160; <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="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// the base is 50 and the offset is 0.</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepMultiplier = pow(10, ceil(log10(</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> &gt; maxFieldLimit ?</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> : maxFieldLimit</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; )));</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">id</span> = (offset + 1) * gepMultiplier + base;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> &gt; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateGepObjectId: GEP allocation clashing with other nodes&quot;</span>);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateGepObjectId: unimplemented node allocation strategy&quot;</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateGepObjectId: ID not allocated&quot;</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</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>
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>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <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>&#160; <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>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// Nothing different to the other case.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <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>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <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>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <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>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <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>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <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>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <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>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> &gt; maxFieldLimit ?</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <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>&#160; )));</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">id</span> = (offset + 1) * gepMultiplier + base;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> &gt; <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateGepObjectId: GEP allocation clashing with other nodes&quot;</span>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateGepObjectId: unimplemented node allocation strategy&quot;</span>);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateGepObjectId: ID not allocated&quot;</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</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#l00084">NodeIDAllocator.h:84</a></div></div>
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#l00090">NodeIDAllocator.h:90</a></div></div>
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#l00094">NodeIDAllocator.h:94</a></div></div>
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#l00088">NodeIDAllocator.h:88</a></div></div>
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>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <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>&#160; <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>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <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>&#160; <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>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <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="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <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="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Non-GEPs just grab the next available ID.</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// We may have &quot;holes&quot; because GEPs increment the total</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// but allocate far away. This is not a problem because</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// we don&#39;t care about the relative distances between nodes.</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateObjectId: unimplemented node allocation strategy.&quot;</span>);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateObjectId: ID not allocated&quot;</span>);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</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>
301
+ <div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <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>&#160; <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>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <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>&#160; <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>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <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>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <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>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <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>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <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>&#160; }</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <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>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <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>&#160; <span class="comment">// We may have &quot;holes&quot; because GEPs increment the total</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <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>&#160; <span class="comment">// we don&#39;t care about the relative distances between nodes.</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <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>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateObjectId: unimplemented node allocation strategy.&quot;</span>);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateObjectId: ID not allocated&quot;</span>);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</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#l00084">NodeIDAllocator.h:84</a></div></div>
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#l00090">NodeIDAllocator.h:90</a></div></div>
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#l00094">NodeIDAllocator.h:94</a></div></div>
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#l00121">121</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
324
- <div class="fragment"><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">// We allocate values from UINT_MAX to UINT_MAX - # of values.</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// TODO: UINT_MAX does not allow for an easily changeable type</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="comment">// of NodeID (though it is already in use elsewhere).</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">id</span> = UINT_MAX - <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <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="l00132"></a><span class="lineno"> 132</span>&#160; {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <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="l00137"></a><span class="lineno"> 137</span>&#160; {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateValueId: unimplemented node allocation strategy&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateValueId: ID not allocated&quot;</span>);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</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>
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>&#160; {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <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>&#160; <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>&#160; {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <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>&#160; {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <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>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <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>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <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>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <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>&#160; {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <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>&#160; }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateValueId: unimplemented node allocation strategy&quot;</span>);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 &amp;&amp; <span class="stringliteral">&quot;NodeIDAllocator::allocateValueId: ID not allocated&quot;</span>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</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#l00090">NodeIDAllocator.h:90</a></div></div>
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#l00086">NodeIDAllocator.h:86</a></div></div>
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#l00094">NodeIDAllocator.h:94</a></div></div>
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#l00152">152</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
351
- <div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <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="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</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#l00090">NodeIDAllocator.h:90</a></div></div>
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#l00088">NodeIDAllocator.h:88</a></div></div>
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>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <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>&#160; <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>&#160; }</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>&#160; {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <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>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <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>&#160; }</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <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>&#160; }</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#l00097">NodeIDAllocator.h:97</a></div></div>
387
+ <div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <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>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <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>&#160; }</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <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>&#160; }</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#l00074">74</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
415
- <div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;{ <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#l00084">NodeIDAllocator.h:84</a></div></div>
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>&#160;{ <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>&#160; {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <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>&#160; {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <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>&#160; <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>&#160; }</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</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#l00097">NodeIDAllocator.h:97</a></div></div>
450
+ <div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <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>&#160; {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <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>&#160; <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>&#160; }</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</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#l00097">97</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00044">44</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00046">46</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00045">45</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00047">47</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00090">90</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00084">84</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00088">88</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00086">86</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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#l00094">94</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
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>