svf-tools 1.0.533 → 1.0.536

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 (198) hide show
  1. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -3
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -6
  5. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +10 -10
  7. package/SVF-doxygen/html/html/DCHG_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +43 -36
  11. package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -0
  12. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +80 -69
  13. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  18. package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
  19. package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
  20. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +80 -0
  26. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +62 -22
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -10
  28. package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +0 -1
  29. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +60 -62
  30. package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -1
  32. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +7 -7
  33. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  38. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +6 -6
  39. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/html/WPASolver_8h_source.html +17 -18
  41. package/SVF-doxygen/html/html/annotated.html +2 -1
  42. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  43. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +12 -13
  45. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +175 -176
  46. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -7
  47. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -10
  48. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -4
  49. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +9 -9
  51. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +160 -208
  52. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
  53. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +43 -43
  54. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +19 -17
  56. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +230 -141
  57. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation-members.html +88 -0
  58. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation.html +344 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +240 -241
  60. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -3
  61. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +230 -231
  62. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +5 -7
  63. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  64. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +2 -2
  65. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +63 -64
  73. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +306 -348
  74. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +187 -188
  76. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
  77. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +179 -180
  80. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -3
  81. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +281 -282
  82. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -8
  83. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +31 -32
  85. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +1 -3
  86. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver-members.html +42 -43
  87. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +6 -8
  88. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver-members.html +38 -39
  90. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +8 -10
  91. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +29 -30
  92. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +51 -86
  93. package/SVF-doxygen/html/html/classes.html +90 -90
  94. package/SVF-doxygen/html/html/functions_a.html +8 -5
  95. package/SVF-doxygen/html/html/functions_c.html +19 -20
  96. package/SVF-doxygen/html/html/functions_e.html +4 -7
  97. package/SVF-doxygen/html/html/functions_eval_e.html +2 -5
  98. package/SVF-doxygen/html/html/functions_func_c.html +12 -13
  99. package/SVF-doxygen/html/html/functions_func_g.html +23 -11
  100. package/SVF-doxygen/html/html/functions_func_m.html +0 -1
  101. package/SVF-doxygen/html/html/functions_func_o.html +7 -4
  102. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  103. package/SVF-doxygen/html/html/functions_func_s.html +11 -5
  104. package/SVF-doxygen/html/html/functions_g.html +21 -9
  105. package/SVF-doxygen/html/html/functions_i.html +3 -3
  106. package/SVF-doxygen/html/html/functions_l.html +3 -3
  107. package/SVF-doxygen/html/html/functions_m.html +0 -1
  108. package/SVF-doxygen/html/html/functions_n.html +4 -4
  109. package/SVF-doxygen/html/html/functions_o.html +21 -19
  110. package/SVF-doxygen/html/html/functions_p.html +7 -9
  111. package/SVF-doxygen/html/html/functions_r.html +4 -2
  112. package/SVF-doxygen/html/html/functions_s.html +22 -18
  113. package/SVF-doxygen/html/html/functions_v.html +3 -3
  114. package/SVF-doxygen/html/html/functions_vars_a.html +3 -0
  115. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  116. package/SVF-doxygen/html/html/functions_w.html +11 -11
  117. package/SVF-doxygen/html/html/hierarchy.html +99 -98
  118. package/SVF-doxygen/html/html/namespaceSVF.html +741 -21
  119. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +3 -3
  120. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -1
  121. package/SVF-doxygen/html/html/namespacemembers.html +33 -0
  122. package/SVF-doxygen/html/html/namespacemembers_b.html +5 -2
  123. package/SVF-doxygen/html/html/namespacemembers_c.html +6 -0
  124. package/SVF-doxygen/html/html/namespacemembers_d.html +19 -1
  125. package/SVF-doxygen/html/html/namespacemembers_g.html +15 -3
  126. package/SVF-doxygen/html/html/namespacemembers_i.html +16 -4
  127. package/SVF-doxygen/html/html/namespacemembers_m.html +21 -0
  128. package/SVF-doxygen/html/html/namespacemembers_n.html +3 -0
  129. package/SVF-doxygen/html/html/namespacemembers_p.html +3 -0
  130. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -0
  131. package/SVF-doxygen/html/html/namespacemembers_type.html +33 -0
  132. package/SVF-doxygen/html/html/namespacemembers_type_b.html +3 -0
  133. package/SVF-doxygen/html/html/namespacemembers_type_c.html +6 -0
  134. package/SVF-doxygen/html/html/namespacemembers_type_d.html +18 -0
  135. package/SVF-doxygen/html/html/namespacemembers_type_g.html +12 -0
  136. package/SVF-doxygen/html/html/namespacemembers_type_i.html +12 -0
  137. package/SVF-doxygen/html/html/namespacemembers_type_m.html +21 -0
  138. package/SVF-doxygen/html/html/namespacemembers_type_n.html +3 -0
  139. package/SVF-doxygen/html/html/namespacemembers_type_p.html +3 -0
  140. package/SVF-doxygen/html/html/namespacemembers_type_s.html +3 -0
  141. package/SVF-doxygen/html/html/namespacemembers_type_v.html +3 -0
  142. package/SVF-doxygen/html/html/namespacemembers_type_w.html +3 -0
  143. package/SVF-doxygen/html/html/namespacemembers_v.html +3 -0
  144. package/SVF-doxygen/html/html/namespacemembers_w.html +3 -0
  145. package/SVF-doxygen/html/html/search/all_1.js +12 -0
  146. package/SVF-doxygen/html/html/search/all_10.js +8 -7
  147. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  148. package/SVF-doxygen/html/html/search/all_12.js +12 -9
  149. package/SVF-doxygen/html/html/search/all_13.js +3 -3
  150. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  151. package/SVF-doxygen/html/html/search/all_15.js +4 -3
  152. package/SVF-doxygen/html/html/search/all_16.js +2 -1
  153. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  154. package/SVF-doxygen/html/html/search/all_3.js +4 -2
  155. package/SVF-doxygen/html/html/search/all_4.js +6 -0
  156. package/SVF-doxygen/html/html/search/all_5.js +1 -2
  157. package/SVF-doxygen/html/html/search/all_7.js +9 -1
  158. package/SVF-doxygen/html/html/search/all_9.js +5 -1
  159. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  160. package/SVF-doxygen/html/html/search/all_d.js +8 -1
  161. package/SVF-doxygen/html/html/search/all_e.js +2 -1
  162. package/SVF-doxygen/html/html/search/all_f.js +3 -2
  163. package/SVF-doxygen/html/html/search/classes_c.js +1 -0
  164. package/SVF-doxygen/html/html/search/enumvalues_4.js +1 -2
  165. package/SVF-doxygen/html/html/search/functions_11.js +2 -0
  166. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  167. package/SVF-doxygen/html/html/search/functions_6.js +5 -1
  168. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  169. package/SVF-doxygen/html/html/search/functions_e.js +1 -0
  170. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  171. package/SVF-doxygen/html/html/search/typedefs_0.js +11 -0
  172. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -0
  173. package/SVF-doxygen/html/html/search/typedefs_10.js +1 -0
  174. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -0
  175. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -0
  176. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -0
  177. package/SVF-doxygen/html/html/search/typedefs_3.js +6 -0
  178. package/SVF-doxygen/html/html/search/typedefs_6.js +4 -0
  179. package/SVF-doxygen/html/html/search/typedefs_7.js +4 -0
  180. package/SVF-doxygen/html/html/search/typedefs_b.js +7 -0
  181. package/SVF-doxygen/html/html/search/typedefs_c.js +1 -0
  182. package/SVF-doxygen/html/html/search/typedefs_e.js +1 -0
  183. package/SVF-doxygen/html/html/search/variables_1.js +1 -0
  184. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  185. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  186. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  187. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  188. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  189. package/include/SVF-FE/BasicTypes.h +43 -0
  190. package/include/SVF-FE/SVFIRBuilder.h +0 -2
  191. package/include/Util/ExtAPI.h +49 -5
  192. package/include/Util/ExtAPI.json +1312 -320
  193. package/include/WPA/Andersen.h +1 -4
  194. package/include/WPA/WPASolver.h +1 -3
  195. package/lib/SVF-FE/SVFIRBuilder.cpp +219 -238
  196. package/lib/Util/ExtAPI.cpp +109 -0
  197. package/lib/WPA/AndersenWaveDiff.cpp +0 -14
  198. package/package.json +1 -1
@@ -299,7 +299,7 @@ Functions</h2></td></tr>
299
299
 
300
300
  <p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00406">406</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
301
301
  <div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;{</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = 0;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">const_pred_iterator</a> it = pred_begin(BB), et = pred_end(BB); it != et; ++it)</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; num++;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> num;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
302
- <div class="ttc" id="namespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00118">BasicTypes.h:118</a></div></div>
302
+ <div class="ttc" id="namespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00161">BasicTypes.h:161</a></div></div>
303
303
  </div><!-- fragment -->
304
304
  </div>
305
305
  </div>
@@ -334,7 +334,7 @@ Functions</h2></td></tr>
334
334
 
335
335
  <p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00383">383</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
336
336
  <div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;{</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos = 0;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">const_pred_iterator</a> it = pred_begin(succbb), et = pred_end(succbb); it != et; ++it, ++pos)</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span>(*it==bb)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> pos;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;Didn&#39;t find predecessor edge?&quot;</span>);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">return</span> pos;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
337
- <div class="ttc" id="namespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00118">BasicTypes.h:118</a></div></div>
337
+ <div class="ttc" id="namespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00161">BasicTypes.h:161</a></div></div>
338
338
  </div><!-- fragment -->
339
339
  </div>
340
340
  </div>
@@ -565,7 +565,7 @@ Functions</h2></td></tr>
565
565
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab7f58caf27c30a1d414e06f60ca84d80"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const Instruction *inst)</div><div class="ttdoc">Return true if it is an intrinsic instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00181">SVFUtil.h:181</a></div></div>
566
566
  <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
567
567
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
568
- <div class="ttc" id="namespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00118">BasicTypes.h:118</a></div></div>
568
+ <div class="ttc" id="namespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00161">BasicTypes.h:161</a></div></div>
569
569
  </div><!-- fragment -->
570
570
  </div>
571
571
  </div>
@@ -1635,7 +1635,7 @@ template&lt;class X , class Y &gt; </div>
1635
1635
  <p>Get the meta data (line number and file name) info of a LLVM value </p>
1636
1636
 
1637
1637
  <p class="definition">Definition at line <a class="el" href="SVFUtil_8cpp_source.html#l00267">267</a> of file <a class="el" href="SVFUtil_8cpp_source.html">SVFUtil.cpp</a>.</p>
1638
- <div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">if</span>(val==<span class="keyword">nullptr</span>) <span class="keywordflow">return</span> <span class="stringliteral">&quot;{ empty val }&quot;</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;{ &quot;</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst = SVFUtil::dyn_cast&lt;Instruction&gt;(val))</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;AllocaInst&gt;(inst))</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">for</span> (llvm::DbgInfoIntrinsic *DII : FindDbgAddrUses(const_cast&lt;Instruction*&gt;(inst)))</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">if</span> (llvm::DbgDeclareInst *DDI = SVFUtil::dyn_cast&lt;llvm::DbgDeclareInst&gt;(DII))</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; llvm::DIVariable *DIVar = SVFUtil::cast&lt;llvm::DIVariable&gt;(DDI-&gt;getVariable());</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ln: &quot;</span> &lt;&lt; DIVar-&gt;getLine() &lt;&lt; <span class="stringliteral">&quot; fl: &quot;</span> &lt;&lt; DIVar-&gt;getFilename();</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">MDNode</a> *N = inst-&gt;getMetadata(<span class="stringliteral">&quot;dbg&quot;</span>)) <span class="comment">// Here I is an LLVM instruction</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; llvm::DILocation* Loc = SVFUtil::cast&lt;llvm::DILocation&gt;(N); <span class="comment">// DILocation is in DebugInfo.h</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">unsigned</span> Line = Loc-&gt;getLine();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordtype">unsigned</span> Column = Loc-&gt;getColumn();</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> File = Loc-&gt;getFilename().str();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">//StringRef Dir = Loc.getDirectory();</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">if</span>(File.empty() || Line == 0)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keyword">auto</span> inlineLoc = Loc-&gt;getInlinedAt();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span>(inlineLoc)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; Line = inlineLoc-&gt;getLine();</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; Column = inlineLoc-&gt;getColumn();</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; File = inlineLoc-&gt;getFilename().str();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ln: &quot;</span> &lt;&lt; Line &lt;&lt; <span class="stringliteral">&quot; cl: &quot;</span> &lt;&lt; Column &lt;&lt; <span class="stringliteral">&quot; fl: &quot;</span> &lt;&lt; File;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* argument = SVFUtil::dyn_cast&lt;Argument&gt;(val))</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (argument-&gt;getArgNo()%10 == 1)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;st&quot;</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argument-&gt;getArgNo()%10 == 2)</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;nd&quot;</span>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argument-&gt;getArgNo()%10 == 3)</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;rd&quot;</span>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;th&quot;</span>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; arg &quot;</span> &lt;&lt; argument-&gt;getParent()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot; &quot;</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a>(argument-&gt;getParent());</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a>* gvar = SVFUtil::dyn_cast&lt;GlobalVariable&gt;(val))</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;Glob &quot;</span>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">NamedMDNode</a>* CU_Nodes = gvar-&gt;getParent()-&gt;getNamedMetadata(<span class="stringliteral">&quot;llvm.dbg.cu&quot;</span>);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">if</span>(CU_Nodes)</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = CU_Nodes-&gt;getNumOperands(); i != e; ++i)</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; llvm::DICompileUnit *CUNode = SVFUtil::cast&lt;llvm::DICompileUnit&gt;(CU_Nodes-&gt;getOperand(i));</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">for</span> (llvm::DIGlobalVariableExpression *GV : CUNode-&gt;getGlobalVariables())</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; llvm::DIGlobalVariable * DGV = GV-&gt;getVariable();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span>(DGV-&gt;getName() == gvar-&gt;getName())</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ln: &quot;</span> &lt;&lt; DGV-&gt;getLine() &lt;&lt; <span class="stringliteral">&quot; fl: &quot;</span> &lt;&lt; DGV-&gt;getFilename();</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* func = SVFUtil::dyn_cast&lt;Function&gt;(val))</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a>(func);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb = SVFUtil::dyn_cast&lt;BasicBlock&gt;(val))</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;basic block: &quot;</span> &lt;&lt; bb-&gt;getName() &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bb-&gt;getFirstNonPHI());</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVFUtil::isConstantData</a>(val))</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;constant data&quot;</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;Can only get source location for instruction, argument, global var, function or constant data.&quot;</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }&quot;</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(rawstr.str()==<span class="stringliteral">&quot;{ }&quot;</span>)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
1638
+ <div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">if</span>(val==<span class="keyword">nullptr</span>) <span class="keywordflow">return</span> <span class="stringliteral">&quot;{ empty val }&quot;</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;{ &quot;</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst = SVFUtil::dyn_cast&lt;Instruction&gt;(val))</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;AllocaInst&gt;(inst))</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a98310cccad527f8151328f2c87b29563">llvm::DbgInfoIntrinsic</a> *DII : FindDbgAddrUses(const_cast&lt;Instruction*&gt;(inst)))</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#a52a9bff350f21692eae3b519030c314d">llvm::DbgDeclareInst</a> *DDI = SVFUtil::dyn_cast&lt;llvm::DbgDeclareInst&gt;(DII))</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; llvm::DIVariable *DIVar = SVFUtil::cast&lt;llvm::DIVariable&gt;(DDI-&gt;getVariable());</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ln: &quot;</span> &lt;&lt; DIVar-&gt;getLine() &lt;&lt; <span class="stringliteral">&quot; fl: &quot;</span> &lt;&lt; DIVar-&gt;getFilename();</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">MDNode</a> *N = inst-&gt;getMetadata(<span class="stringliteral">&quot;dbg&quot;</span>)) <span class="comment">// Here I is an LLVM instruction</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; llvm::DILocation* Loc = SVFUtil::cast&lt;llvm::DILocation&gt;(N); <span class="comment">// DILocation is in DebugInfo.h</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">unsigned</span> Line = Loc-&gt;getLine();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordtype">unsigned</span> Column = Loc-&gt;getColumn();</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> File = Loc-&gt;getFilename().str();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">//StringRef Dir = Loc.getDirectory();</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">if</span>(File.empty() || Line == 0)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keyword">auto</span> inlineLoc = Loc-&gt;getInlinedAt();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span>(inlineLoc)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; Line = inlineLoc-&gt;getLine();</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; Column = inlineLoc-&gt;getColumn();</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; File = inlineLoc-&gt;getFilename().str();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ln: &quot;</span> &lt;&lt; Line &lt;&lt; <span class="stringliteral">&quot; cl: &quot;</span> &lt;&lt; Column &lt;&lt; <span class="stringliteral">&quot; fl: &quot;</span> &lt;&lt; File;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* argument = SVFUtil::dyn_cast&lt;Argument&gt;(val))</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (argument-&gt;getArgNo()%10 == 1)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;st&quot;</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argument-&gt;getArgNo()%10 == 2)</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;nd&quot;</span>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argument-&gt;getArgNo()%10 == 3)</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;rd&quot;</span>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; rawstr &lt;&lt; argument-&gt;getArgNo() &lt;&lt; <span class="stringliteral">&quot;th&quot;</span>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; arg &quot;</span> &lt;&lt; argument-&gt;getParent()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot; &quot;</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a>(argument-&gt;getParent());</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a>* gvar = SVFUtil::dyn_cast&lt;GlobalVariable&gt;(val))</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;Glob &quot;</span>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">NamedMDNode</a>* CU_Nodes = gvar-&gt;getParent()-&gt;getNamedMetadata(<span class="stringliteral">&quot;llvm.dbg.cu&quot;</span>);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">if</span>(CU_Nodes)</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = CU_Nodes-&gt;getNumOperands(); i != e; ++i)</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; llvm::DICompileUnit *CUNode = SVFUtil::cast&lt;llvm::DICompileUnit&gt;(CU_Nodes-&gt;getOperand(i));</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">for</span> (llvm::DIGlobalVariableExpression *GV : CUNode-&gt;getGlobalVariables())</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; llvm::DIGlobalVariable * DGV = GV-&gt;getVariable();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span>(DGV-&gt;getName() == gvar-&gt;getName())</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ln: &quot;</span> &lt;&lt; DGV-&gt;getLine() &lt;&lt; <span class="stringliteral">&quot; fl: &quot;</span> &lt;&lt; DGV-&gt;getFilename();</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* func = SVFUtil::dyn_cast&lt;Function&gt;(val))</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a>(func);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb = SVFUtil::dyn_cast&lt;BasicBlock&gt;(val))</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;basic block: &quot;</span> &lt;&lt; bb-&gt;getName() &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bb-&gt;getFirstNonPHI());</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVFUtil::isConstantData</a>(val))</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;constant data&quot;</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;Can only get source location for instruction, argument, global var, function or constant data.&quot;</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }&quot;</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(rawstr.str()==<span class="stringliteral">&quot;{ }&quot;</span>)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
1639
1639
  <div class="ttc" id="namespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
1640
1640
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
1641
1641
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a86c1c8bdfc1075c07c631525555194d2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">SVF::SVFUtil::getSourceLocOfFunction</a></div><div class="ttdeci">std::string getSourceLocOfFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00248">SVFUtil.cpp:248</a></div></div>
@@ -1645,7 +1645,9 @@ template&lt;class X , class Y &gt; </div>
1645
1645
  <div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00093">BasicTypes.h:93</a></div></div>
1646
1646
  <div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
1647
1647
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a9e85d445e8b7b205134acd3874bba388"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVF::SVFUtil::isConstantData</a></div><div class="ttdeci">bool isConstantData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00451">SVFUtil.h:451</a></div></div>
1648
+ <div class="ttc" id="namespaceSVF_html_a98310cccad527f8151328f2c87b29563"><div class="ttname"><a href="namespaceSVF.html#a98310cccad527f8151328f2c87b29563">SVF::DbgInfoIntrinsic</a></div><div class="ttdeci">llvm::DbgInfoIntrinsic DbgInfoIntrinsic</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
1648
1649
  <div class="ttc" id="namespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00099">BasicTypes.h:99</a></div></div>
1650
+ <div class="ttc" id="namespaceSVF_html_a52a9bff350f21692eae3b519030c314d"><div class="ttname"><a href="namespaceSVF.html#a52a9bff350f21692eae3b519030c314d">SVF::DbgDeclareInst</a></div><div class="ttdeci">llvm::DbgDeclareInst DbgDeclareInst</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00102">BasicTypes.h:102</a></div></div>
1649
1651
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
1650
1652
  </div><!-- fragment -->
1651
1653
  </div>
@@ -79,6 +79,21 @@ $(function() {
79
79
  <li>AllocaInst
80
80
  : <a class="el" href="namespaceSVF.html#a3bacb4f95c73e6d794901d01c6b65a83">SVF</a>
81
81
  </li>
82
+ <li>AnyMemCpyInst
83
+ : <a class="el" href="namespaceSVF.html#adbb4d9eeed7e5a08892cfdf71caba1d8">SVF</a>
84
+ </li>
85
+ <li>AnyMemIntrinsic
86
+ : <a class="el" href="namespaceSVF.html#a11c647398b2a931990d43b28462d421e">SVF</a>
87
+ </li>
88
+ <li>AnyMemMoveInst
89
+ : <a class="el" href="namespaceSVF.html#aec83b8f2ca21f98734188f8db3aa99aa">SVF</a>
90
+ </li>
91
+ <li>AnyMemSetInst
92
+ : <a class="el" href="namespaceSVF.html#af805291f579df47e55ef17f4bc966894">SVF</a>
93
+ </li>
94
+ <li>AnyMemTransferInst
95
+ : <a class="el" href="namespaceSVF.html#a232f8b3ca0d5f43d2d8729c254685768">SVF</a>
96
+ </li>
82
97
  <li>ArgInDeadFunction()
83
98
  : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a5cbde00eef789f682df972ae71b44449">SVF::LLVMUtil</a>
84
99
  </li>
@@ -91,9 +106,27 @@ $(function() {
91
106
  <li>ArrayType
92
107
  : <a class="el" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF</a>
93
108
  </li>
109
+ <li>AssumeInst
110
+ : <a class="el" href="namespaceSVF.html#abd54de67b4f9f27583560e341cd68958">SVF</a>
111
+ </li>
94
112
  <li>AtomicCmpXchgInst
95
113
  : <a class="el" href="namespaceSVF.html#a582e3736a2bbb0540364c1693d831b49">SVF</a>
96
114
  </li>
115
+ <li>AtomicMemCpyInst
116
+ : <a class="el" href="namespaceSVF.html#acf966c15a74110cfa1e5fffe869187b0">SVF</a>
117
+ </li>
118
+ <li>AtomicMemIntrinsic
119
+ : <a class="el" href="namespaceSVF.html#a50f4510bce9a49b48530b3da9abb542b">SVF</a>
120
+ </li>
121
+ <li>AtomicMemMoveInst
122
+ : <a class="el" href="namespaceSVF.html#a88ecc1591c6e8e6671ddb5774b954aa6">SVF</a>
123
+ </li>
124
+ <li>AtomicMemSetInst
125
+ : <a class="el" href="namespaceSVF.html#a16b872ede7813d24169143f091ac34a3">SVF</a>
126
+ </li>
127
+ <li>AtomicMemTransferInst
128
+ : <a class="el" href="namespaceSVF.html#afb24dfe2255c30310049a9bd2a9c26b9">SVF</a>
129
+ </li>
97
130
  <li>AtomicRMWInst
98
131
  : <a class="el" href="namespaceSVF.html#a468154e0ab9e7be82afef1aa0a2fb9e0">SVF</a>
99
132
  </li>
@@ -67,6 +67,9 @@ $(function() {
67
67
  <li>BinaryOperator
68
68
  : <a class="el" href="namespaceSVF.html#aad5d26ab07a5d1314bdb8f54e0fcdb22">SVF</a>
69
69
  </li>
70
+ <li>BinaryOpIntrinsic
71
+ : <a class="el" href="namespaceSVF.html#aff2da2ed0d7c413dcb014141f0b750f1">SVF</a>
72
+ </li>
70
73
  <li>BitCastInst
71
74
  : <a class="el" href="namespaceSVF.html#afc50da46a6ea7c2cf61683bbec4d7c8d">SVF</a>
72
75
  </li>
@@ -77,10 +80,10 @@ $(function() {
77
80
  : <a class="el" href="namespaceSVF.html#ac9a05dd7ab16e998625037aa242cd30f">SVF</a>
78
81
  </li>
79
82
  <li>bridge_gep_begin()
80
- : <a class="el" href="namespacellvm.html#acfe99e9d441434240c79f6d76b73fe0a">llvm</a>
83
+ : <a class="el" href="namespacellvm.html#abbab4f4ed7ffae3e7e715990a0b416fe">llvm</a>
81
84
  </li>
82
85
  <li>bridge_gep_end()
83
- : <a class="el" href="namespacellvm.html#a7cfc92a12082d69711c97bb3d1b99c48">llvm</a>
86
+ : <a class="el" href="namespacellvm.html#af784337dc495897cf05f28fd95f07477">llvm</a>
84
87
  </li>
85
88
  <li>bridge_gep_iterator
86
89
  : <a class="el" href="namespacellvm.html#af77a7ec045719d1f075cf6c591902522">llvm</a>
@@ -136,6 +136,12 @@ $(function() {
136
136
  <li>ConstantStruct
137
137
  : <a class="el" href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF</a>
138
138
  </li>
139
+ <li>ConstrainedFPCmpIntrinsic
140
+ : <a class="el" href="namespaceSVF.html#a01c39e0b75e02ca0823291cc0aab751f">SVF</a>
141
+ </li>
142
+ <li>ConstrainedFPIntrinsic
143
+ : <a class="el" href="namespaceSVF.html#a373d9c3194e0b4d92ec12d792854eb87">SVF</a>
144
+ </li>
139
145
  <li>CopySVFGNode
140
146
  : <a class="el" href="namespaceSVF.html#ab98f7c9e6311e649cdfd5d2f3f8e59be">SVF</a>
141
147
  </li>
@@ -64,6 +64,24 @@ $(function() {
64
64
  <li>DataLayout
65
65
  : <a class="el" href="namespaceSVF.html#a03db82b8a7914367024723dba4d6ca3c">SVF</a>
66
66
  </li>
67
+ <li>DbgAddrIntrinsic
68
+ : <a class="el" href="namespaceSVF.html#a97b6f3c33f30ba9b01e3ec5d91c5e6b5">SVF</a>
69
+ </li>
70
+ <li>DbgDeclareInst
71
+ : <a class="el" href="namespaceSVF.html#a52a9bff350f21692eae3b519030c314d">SVF</a>
72
+ </li>
73
+ <li>DbgInfoIntrinsic
74
+ : <a class="el" href="namespaceSVF.html#a98310cccad527f8151328f2c87b29563">SVF</a>
75
+ </li>
76
+ <li>DbgLabelInst
77
+ : <a class="el" href="namespaceSVF.html#a32392667c0d47b88b4e1563da27be587">SVF</a>
78
+ </li>
79
+ <li>DbgValueInst
80
+ : <a class="el" href="namespaceSVF.html#aa6ea2efcc92d5a96b71f37d41abb0482">SVF</a>
81
+ </li>
82
+ <li>DbgVariableIntrinsic
83
+ : <a class="el" href="namespaceSVF.html#a5698b95e3f2bfb6220cca202145c79ce">SVF</a>
84
+ </li>
67
85
  <li>DebugInfoFinder
68
86
  : <a class="el" href="namespaceSVF.html#a5ae98f122c64b0114df2e5861b341321">SVF</a>
69
87
  </li>
@@ -128,7 +146,7 @@ $(function() {
128
146
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#abd0a9ee845a455f9354d24a8b84a0bb3">SVF::SVFUtil</a>
129
147
  </li>
130
148
  <li>dumpSet()
131
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#aeb570e9267fd7b189bd1bc877896d7ab">SVF::SVFUtil</a>
149
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a04aa23b4982662d98c56af3e8ba16cb1">SVF::SVFUtil</a>
132
150
  </li>
133
151
  <li>dumpSparseSet()
134
152
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#ab30a35713852a0a525c52ae5dd463442">SVF::SVFUtil</a>
@@ -61,6 +61,18 @@ $(function() {
61
61
  <div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>
62
62
 
63
63
  <h3><a id="index_g"></a>- g -</h3><ul>
64
+ <li>GCProjectionInst
65
+ : <a class="el" href="namespaceSVF.html#aa567358f0c0c3a6363b41ba6d37dc90c">SVF</a>
66
+ </li>
67
+ <li>GCRelocateInst
68
+ : <a class="el" href="namespaceSVF.html#ac4d0b7e1b0332ac5335cc98669a3de0a">SVF</a>
69
+ </li>
70
+ <li>GCResultInst
71
+ : <a class="el" href="namespaceSVF.html#ae0b0c09f22fa87d94d7671a941851726">SVF</a>
72
+ </li>
73
+ <li>GCStatepointInst
74
+ : <a class="el" href="namespaceSVF.html#ac2f24d976e62d802aa1769924ff38bf2">SVF</a>
75
+ </li>
64
76
  <li>GenericCallGraphEdgeTy
65
77
  : <a class="el" href="namespaceSVF.html#acd909bf6784bb6e2178aa0f5d27da0ca">SVF</a>
66
78
  </li>
@@ -221,7 +233,7 @@ $(function() {
221
233
  : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">SVF::LLVMUtil</a>
222
234
  </li>
223
235
  <li>getRefTypeOfHeapAllocOrStatic()
224
- : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a3e94ca73410d21c1a852123e44961ff9">SVF::LLVMUtil</a>
236
+ : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#aa81614cdb6a2a912638d5dc980480af7">SVF::LLVMUtil</a>
225
237
  </li>
226
238
  <li>getSourceLoc()
227
239
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil</a>
@@ -230,10 +242,10 @@ $(function() {
230
242
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">SVF::SVFUtil</a>
231
243
  </li>
232
244
  <li>getTaskDataAtHareParForSite()
233
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#ad3471260b66bdd7e6b790ad2a94fe7ce">SVF::SVFUtil</a>
245
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a5f3dd36ee492b60039928a86519518a5">SVF::SVFUtil</a>
234
246
  </li>
235
247
  <li>getTaskFuncAtHareParForSite()
236
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#ab048cbce6e4f5a3d6ff90da3565220ff">SVF::SVFUtil</a>
248
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a111fa1ecf72adbd2e0ff27e922f0d34a">SVF::SVFUtil</a>
237
249
  </li>
238
250
  <li>getThunkTarget()
239
251
  : <a class="el" href="namespaceSVF_1_1cppUtil.html#ac9c6d4315e7a1a826add7ed9cf924553">SVF::cppUtil</a>
@@ -76,6 +76,15 @@ $(function() {
76
76
  <li>inst_iterator
77
77
  : <a class="el" href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF</a>
78
78
  </li>
79
+ <li>InstrProfIncrementInst
80
+ : <a class="el" href="namespaceSVF.html#aebc2e2c17087bc2f00fd707f56c40795">SVF</a>
81
+ </li>
82
+ <li>InstrProfIncrementInstStep
83
+ : <a class="el" href="namespaceSVF.html#acf50d678027c80ae12071cddf4bc1683">SVF</a>
84
+ </li>
85
+ <li>InstrProfValueProfileInst
86
+ : <a class="el" href="namespaceSVF.html#a5510b21608b9780bafe8da04032c52db">SVF</a>
87
+ </li>
79
88
  <li>Instruction
80
89
  : <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF</a>
81
90
  </li>
@@ -88,6 +97,9 @@ $(function() {
88
97
  <li>IntraPHISVFGNode
89
98
  : <a class="el" href="namespaceSVF.html#ad772e1586e369943f37c22641e93e941">SVF</a>
90
99
  </li>
100
+ <li>IntrinsicInst
101
+ : <a class="el" href="namespaceSVF.html#aeafba56771d23572128b21d784ff28a6">SVF</a>
102
+ </li>
91
103
  <li>IntToPtrInst
92
104
  : <a class="el" href="namespaceSVF.html#a07578c424e9d3c07a54e65404a0a6abb">SVF</a>
93
105
  </li>
@@ -206,7 +218,7 @@ $(function() {
206
218
  : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#aca11801ed6ef6ff8d2a1e85bc0fc5794">SVF::LLVMUtil</a>
207
219
  </li>
208
220
  <li>isProgEntryFunction()
209
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#ab87fef7b10465d3e635643fcb93b95a7">SVF::SVFUtil</a>
221
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">SVF::SVFUtil</a>
210
222
  </li>
211
223
  <li>isProgExitCall()
212
224
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">SVF::SVFUtil</a>
@@ -221,7 +233,7 @@ $(function() {
221
233
  : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a07c785d931cef3c61e3dab4c615770be">SVF::LLVMUtil</a>
222
234
  </li>
223
235
  <li>isReallocExtCall()
224
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">SVF::SVFUtil</a>
236
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a42748153e4845f3eee0ca58a1e151f97">SVF::SVFUtil</a>
225
237
  </li>
226
238
  <li>isReallocExtFun()
227
239
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">SVF::SVFUtil</a>
@@ -242,10 +254,10 @@ $(function() {
242
254
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">SVF::SVFUtil</a>
243
255
  </li>
244
256
  <li>isThreadExitCall()
245
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">SVF::SVFUtil</a>
257
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#aae025d6727ef34fbeaa7ad48a4dabdcd">SVF::SVFUtil</a>
246
258
  </li>
247
259
  <li>isThreadForkCall()
248
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">SVF::SVFUtil</a>
260
+ : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a834afc0042c24ed5a1dd00cadc1f00c3">SVF::SVFUtil</a>
249
261
  </li>
250
262
  <li>isThreadJoinCall()
251
263
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">SVF::SVFUtil</a>
@@ -73,15 +73,36 @@ $(function() {
73
73
  <li>MDString
74
74
  : <a class="el" href="namespaceSVF.html#a28eec26ec8edaa5e96aecfeb01f6c0d4">SVF</a>
75
75
  </li>
76
+ <li>MemCpyInlineInst
77
+ : <a class="el" href="namespaceSVF.html#ac43dd719ccad81d77e6773b4d957e52a">SVF</a>
78
+ </li>
79
+ <li>MemCpyInst
80
+ : <a class="el" href="namespaceSVF.html#a7b1ab6ca15d368bd378d4123c9f75451">SVF</a>
81
+ </li>
82
+ <li>MemIntrinsic
83
+ : <a class="el" href="namespaceSVF.html#a062e5cbf987400704aff9209ac4507d1">SVF</a>
84
+ </li>
85
+ <li>MemMoveInst
86
+ : <a class="el" href="namespaceSVF.html#a3c102dae4e7eb1cd6604ed9944b43e97">SVF</a>
87
+ </li>
76
88
  <li>MemoryLocation
77
89
  : <a class="el" href="namespaceSVF.html#a339bbddac9d9dffd5ef602200d34c403">SVF</a>
78
90
  </li>
91
+ <li>MemSetInst
92
+ : <a class="el" href="namespaceSVF.html#a3aeeba6da229f0a73fd306c9f0063ae7">SVF</a>
93
+ </li>
94
+ <li>MemTransferInst
95
+ : <a class="el" href="namespaceSVF.html#a792b184a7ef4ea203fdf644f5608f838">SVF</a>
96
+ </li>
79
97
  <li>mergePtsOccMaps()
80
98
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a36c91f952a69875c33d4bd0b05a27ff2">SVF::SVFUtil</a>
81
99
  </li>
82
100
  <li>MetadataAsValue
83
101
  : <a class="el" href="namespaceSVF.html#a773900ea3c75022657aac1abf59fa51b">SVF</a>
84
102
  </li>
103
+ <li>MinMaxIntrinsic
104
+ : <a class="el" href="namespaceSVF.html#a8d8a3708b1bed772fe4ad50f7ba544bf">SVF</a>
105
+ </li>
85
106
  <li>Mod
86
107
  : <a class="el" href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844aea8604a04fd5c658e0ca8b9177316ba0">SVF</a>
87
108
  </li>
@@ -67,6 +67,9 @@ $(function() {
67
67
  <li>NoAlias
68
68
  : <a class="el" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF</a>
69
69
  </li>
70
+ <li>NoAliasScopeDeclInst
71
+ : <a class="el" href="namespaceSVF.html#a2f7d8bb0a9f60fe855dd82e7b1a6a090">SVF</a>
72
+ </li>
70
73
  <li>NodeBS
71
74
  : <a class="el" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF</a>
72
75
  </li>
@@ -97,6 +97,9 @@ $(function() {
97
97
  <li>processArguments()
98
98
  : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil</a>
99
99
  </li>
100
+ <li>PseudoProbeInst
101
+ : <a class="el" href="namespaceSVF.html#aa1e6a12c2189520f5f92bd466f51dcde">SVF</a>
102
+ </li>
100
103
  <li>ptsToNodeBS()
101
104
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a86ebab122895189be57637b84adc7642">SVF::SVFUtil</a>
102
105
  </li>
@@ -67,6 +67,9 @@ $(function() {
67
67
  <li>s64_t
68
68
  : <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF</a>
69
69
  </li>
70
+ <li>SaturatingInst
71
+ : <a class="el" href="namespaceSVF.html#ad1dff7fa24ef579c1392a3cd4712b1ee">SVF</a>
72
+ </li>
70
73
  <li>ScalarEvolution
71
74
  : <a class="el" href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF</a>
72
75
  </li>
@@ -76,15 +76,48 @@ $(function() {
76
76
  <li>AllocaInst
77
77
  : <a class="el" href="namespaceSVF.html#a3bacb4f95c73e6d794901d01c6b65a83">SVF</a>
78
78
  </li>
79
+ <li>AnyMemCpyInst
80
+ : <a class="el" href="namespaceSVF.html#adbb4d9eeed7e5a08892cfdf71caba1d8">SVF</a>
81
+ </li>
82
+ <li>AnyMemIntrinsic
83
+ : <a class="el" href="namespaceSVF.html#a11c647398b2a931990d43b28462d421e">SVF</a>
84
+ </li>
85
+ <li>AnyMemMoveInst
86
+ : <a class="el" href="namespaceSVF.html#aec83b8f2ca21f98734188f8db3aa99aa">SVF</a>
87
+ </li>
88
+ <li>AnyMemSetInst
89
+ : <a class="el" href="namespaceSVF.html#af805291f579df47e55ef17f4bc966894">SVF</a>
90
+ </li>
91
+ <li>AnyMemTransferInst
92
+ : <a class="el" href="namespaceSVF.html#a232f8b3ca0d5f43d2d8729c254685768">SVF</a>
93
+ </li>
79
94
  <li>Argument
80
95
  : <a class="el" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF</a>
81
96
  </li>
82
97
  <li>ArrayType
83
98
  : <a class="el" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF</a>
84
99
  </li>
100
+ <li>AssumeInst
101
+ : <a class="el" href="namespaceSVF.html#abd54de67b4f9f27583560e341cd68958">SVF</a>
102
+ </li>
85
103
  <li>AtomicCmpXchgInst
86
104
  : <a class="el" href="namespaceSVF.html#a582e3736a2bbb0540364c1693d831b49">SVF</a>
87
105
  </li>
106
+ <li>AtomicMemCpyInst
107
+ : <a class="el" href="namespaceSVF.html#acf966c15a74110cfa1e5fffe869187b0">SVF</a>
108
+ </li>
109
+ <li>AtomicMemIntrinsic
110
+ : <a class="el" href="namespaceSVF.html#a50f4510bce9a49b48530b3da9abb542b">SVF</a>
111
+ </li>
112
+ <li>AtomicMemMoveInst
113
+ : <a class="el" href="namespaceSVF.html#a88ecc1591c6e8e6671ddb5774b954aa6">SVF</a>
114
+ </li>
115
+ <li>AtomicMemSetInst
116
+ : <a class="el" href="namespaceSVF.html#a16b872ede7813d24169143f091ac34a3">SVF</a>
117
+ </li>
118
+ <li>AtomicMemTransferInst
119
+ : <a class="el" href="namespaceSVF.html#afb24dfe2255c30310049a9bd2a9c26b9">SVF</a>
120
+ </li>
88
121
  <li>AtomicRMWInst
89
122
  : <a class="el" href="namespaceSVF.html#a468154e0ab9e7be82afef1aa0a2fb9e0">SVF</a>
90
123
  </li>
@@ -67,6 +67,9 @@ $(function() {
67
67
  <li>BinaryOperator
68
68
  : <a class="el" href="namespaceSVF.html#aad5d26ab07a5d1314bdb8f54e0fcdb22">SVF</a>
69
69
  </li>
70
+ <li>BinaryOpIntrinsic
71
+ : <a class="el" href="namespaceSVF.html#aff2da2ed0d7c413dcb014141f0b750f1">SVF</a>
72
+ </li>
70
73
  <li>BitCastInst
71
74
  : <a class="el" href="namespaceSVF.html#afc50da46a6ea7c2cf61683bbec4d7c8d">SVF</a>
72
75
  </li>
@@ -127,6 +127,12 @@ $(function() {
127
127
  <li>ConstantStruct
128
128
  : <a class="el" href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF</a>
129
129
  </li>
130
+ <li>ConstrainedFPCmpIntrinsic
131
+ : <a class="el" href="namespaceSVF.html#a01c39e0b75e02ca0823291cc0aab751f">SVF</a>
132
+ </li>
133
+ <li>ConstrainedFPIntrinsic
134
+ : <a class="el" href="namespaceSVF.html#a373d9c3194e0b4d92ec12d792854eb87">SVF</a>
135
+ </li>
130
136
  <li>CopySVFGNode
131
137
  : <a class="el" href="namespaceSVF.html#ab98f7c9e6311e649cdfd5d2f3f8e59be">SVF</a>
132
138
  </li>
@@ -64,6 +64,24 @@ $(function() {
64
64
  <li>DataLayout
65
65
  : <a class="el" href="namespaceSVF.html#a03db82b8a7914367024723dba4d6ca3c">SVF</a>
66
66
  </li>
67
+ <li>DbgAddrIntrinsic
68
+ : <a class="el" href="namespaceSVF.html#a97b6f3c33f30ba9b01e3ec5d91c5e6b5">SVF</a>
69
+ </li>
70
+ <li>DbgDeclareInst
71
+ : <a class="el" href="namespaceSVF.html#a52a9bff350f21692eae3b519030c314d">SVF</a>
72
+ </li>
73
+ <li>DbgInfoIntrinsic
74
+ : <a class="el" href="namespaceSVF.html#a98310cccad527f8151328f2c87b29563">SVF</a>
75
+ </li>
76
+ <li>DbgLabelInst
77
+ : <a class="el" href="namespaceSVF.html#a32392667c0d47b88b4e1563da27be587">SVF</a>
78
+ </li>
79
+ <li>DbgValueInst
80
+ : <a class="el" href="namespaceSVF.html#aa6ea2efcc92d5a96b71f37d41abb0482">SVF</a>
81
+ </li>
82
+ <li>DbgVariableIntrinsic
83
+ : <a class="el" href="namespaceSVF.html#a5698b95e3f2bfb6220cca202145c79ce">SVF</a>
84
+ </li>
67
85
  <li>DebugInfoFinder
68
86
  : <a class="el" href="namespaceSVF.html#a5ae98f122c64b0114df2e5861b341321">SVF</a>
69
87
  </li>
@@ -61,6 +61,18 @@ $(function() {
61
61
  &#160;
62
62
 
63
63
  <h3><a id="index_g"></a>- g -</h3><ul>
64
+ <li>GCProjectionInst
65
+ : <a class="el" href="namespaceSVF.html#aa567358f0c0c3a6363b41ba6d37dc90c">SVF</a>
66
+ </li>
67
+ <li>GCRelocateInst
68
+ : <a class="el" href="namespaceSVF.html#ac4d0b7e1b0332ac5335cc98669a3de0a">SVF</a>
69
+ </li>
70
+ <li>GCResultInst
71
+ : <a class="el" href="namespaceSVF.html#ae0b0c09f22fa87d94d7671a941851726">SVF</a>
72
+ </li>
73
+ <li>GCStatepointInst
74
+ : <a class="el" href="namespaceSVF.html#ac2f24d976e62d802aa1769924ff38bf2">SVF</a>
75
+ </li>
64
76
  <li>GenericCallGraphEdgeTy
65
77
  : <a class="el" href="namespaceSVF.html#acd909bf6784bb6e2178aa0f5d27da0ca">SVF</a>
66
78
  </li>