svf-tools 1.0.352 → 1.0.356

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 (188) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +7 -7
  3. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
  5. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  9. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  10. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  11. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +12 -12
  13. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +28 -29
  14. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +26 -26
  15. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +10 -9
  17. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  19. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +19 -8
  20. package/SVF-doxygen/html/html/LocationSet_8h_source.html +6 -6
  21. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +14 -14
  25. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  26. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -21
  27. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  28. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +7 -8
  29. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +8 -8
  30. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +6 -5
  31. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +25 -24
  32. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +20 -19
  33. package/SVF-doxygen/html/html/SVFIR_8h_source.html +15 -14
  34. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +89 -85
  35. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +4 -4
  36. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +22 -22
  40. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +51 -50
  42. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +67 -62
  43. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  45. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/VFGNode_8h_source.html +9 -8
  47. package/SVF-doxygen/html/html/VFG_8cpp_source.html +14 -14
  48. package/SVF-doxygen/html/html/VFG_8h_source.html +10 -10
  49. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  51. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -6
  53. package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
  55. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
  56. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +15 -15
  57. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +26 -24
  58. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +140 -86
  59. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +8 -8
  61. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +15 -15
  62. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +16 -16
  63. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +7 -7
  64. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +5 -5
  65. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  68. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -4
  70. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +76 -78
  71. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  72. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +12 -12
  73. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  75. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +68 -67
  76. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +38 -7
  77. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +3 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +22 -21
  80. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +86 -32
  81. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  82. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder-members.html +2 -4
  83. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +10 -14
  84. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +87 -87
  85. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +25 -25
  86. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +98 -98
  87. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  89. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +14 -14
  90. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +15 -15
  91. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +43 -48
  92. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +15 -15
  93. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder-members.html +2 -4
  94. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +32 -78
  95. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +30 -30
  97. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +79 -73
  99. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +2 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +8 -12
  101. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +4 -4
  102. package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +13 -6
  103. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +263 -37
  104. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +24 -24
  105. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +65 -64
  106. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +90 -63
  107. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +9 -9
  108. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +9 -9
  109. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  110. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  111. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
  112. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +20 -20
  113. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +16 -16
  114. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  115. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  116. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +13 -14
  117. package/SVF-doxygen/html/html/functions_a.html +13 -12
  118. package/SVF-doxygen/html/html/functions_b.html +5 -11
  119. package/SVF-doxygen/html/html/functions_f.html +20 -15
  120. package/SVF-doxygen/html/html/functions_func.html +14 -13
  121. package/SVF-doxygen/html/html/functions_func_b.html +0 -6
  122. package/SVF-doxygen/html/html/functions_func_g.html +28 -15
  123. package/SVF-doxygen/html/html/functions_func_o.html +2 -1
  124. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  125. package/SVF-doxygen/html/html/functions_g.html +26 -13
  126. package/SVF-doxygen/html/html/functions_l.html +8 -8
  127. package/SVF-doxygen/html/html/functions_o.html +12 -13
  128. package/SVF-doxygen/html/html/functions_p.html +16 -16
  129. package/SVF-doxygen/html/html/functions_r.html +1 -1
  130. package/SVF-doxygen/html/html/functions_s.html +18 -12
  131. package/SVF-doxygen/html/html/functions_t.html +3 -1
  132. package/SVF-doxygen/html/html/functions_type_s.html +3 -0
  133. package/SVF-doxygen/html/html/functions_v.html +6 -6
  134. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  135. package/SVF-doxygen/html/html/functions_vars_s.html +4 -1
  136. package/SVF-doxygen/html/html/functions_w.html +9 -5
  137. package/SVF-doxygen/html/html/search/all_1.js +3 -3
  138. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  139. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  140. package/SVF-doxygen/html/html/search/all_13.js +12 -10
  141. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  142. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  143. package/SVF-doxygen/html/html/search/all_16.js +3 -3
  144. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  145. package/SVF-doxygen/html/html/search/all_2.js +1 -3
  146. package/SVF-doxygen/html/html/search/all_6.js +1 -0
  147. package/SVF-doxygen/html/html/search/all_7.js +6 -2
  148. package/SVF-doxygen/html/html/search/all_c.js +4 -4
  149. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  150. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  151. package/SVF-doxygen/html/html/search/functions_0.js +3 -3
  152. package/SVF-doxygen/html/html/search/functions_1.js +1 -3
  153. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  154. package/SVF-doxygen/html/html/search/functions_6.js +6 -2
  155. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  156. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  157. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -0
  158. package/SVF-doxygen/html/html/search/variables_13.js +2 -1
  159. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  160. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  161. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  162. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  163. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
  164. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  165. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +3 -3
  166. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  167. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  168. package/include/DDA/DDAVFSolver.h +1 -1
  169. package/include/Graphs/VFGNode.h +1 -1
  170. package/include/MSSA/SVFGBuilder.h +0 -2
  171. package/include/MemoryModel/LocationSet.h +4 -0
  172. package/include/MemoryModel/SVFIR.h +1 -1
  173. package/include/MemoryModel/SVFStatements.h +25 -5
  174. package/include/MemoryModel/SymbolTableInfo.h +27 -6
  175. package/include/SVF-FE/SVFIRBuilder.h +1 -1
  176. package/lib/Graphs/ICFG.cpp +4 -0
  177. package/lib/MSSA/SVFGBuilder.cpp +4 -11
  178. package/lib/MemoryModel/LocationSet.cpp +69 -7
  179. package/lib/MemoryModel/PointerAnalysis.cpp +0 -6
  180. package/lib/MemoryModel/SVFIR.cpp +1 -1
  181. package/lib/MemoryModel/SymbolTableInfo.cpp +23 -16
  182. package/lib/SABER/SrcSnkDDA.cpp +2 -2
  183. package/lib/SVF-FE/SVFIRBuilder.cpp +9 -4
  184. package/lib/Util/Options.cpp +1 -1
  185. package/lib/WPA/FlowSensitive.cpp +3 -5
  186. package/lib/WPA/WPAPass.cpp +1 -9
  187. package/package.json +1 -1
  188. package/tools/Example/svf-ex.cpp +1 -1
@@ -273,7 +273,7 @@ Additional Inherited Members</h2></td></tr>
273
273
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
274
274
  <div class="textblock"><p>Thread Fork </p>
275
275
 
276
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00900">900</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
276
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00920">920</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
277
277
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
278
278
  <a id="a8d474c87f2f641336064270536fae8ae"></a>
279
279
  <h2 class="memtitle"><span class="permalink"><a href="#a8d474c87f2f641336064270536fae8ae">&#9670;&nbsp;</a></span>TDForkPE() <span class="overload">[1/3]</span></h2>
@@ -372,8 +372,8 @@ Additional Inherited Members</h2></td></tr>
372
372
 
373
373
  <p>constructor </p>
374
374
 
375
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00925">925</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
376
- <div class="fragment"><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; :</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <a class="code" href="classSVF_1_1CallPE.html#a5e6271f5697a32b57efeccfedc61e331">CallPE</a>(s,d,i,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>)</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; {</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallPE_html_a5e6271f5697a32b57efeccfedc61e331"><div class="ttname"><a href="classSVF_1_1CallPE.html#a5e6271f5697a32b57efeccfedc61e331">SVF::CallPE::CallPE</a></div><div class="ttdeci">CallPE()</div><div class="ttdoc">place holder </div></div>
375
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00945">945</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
376
+ <div class="fragment"><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; :</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <a class="code" href="classSVF_1_1CallPE.html#a5e6271f5697a32b57efeccfedc61e331">CallPE</a>(s,d,i,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; {</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallPE_html_a5e6271f5697a32b57efeccfedc61e331"><div class="ttname"><a href="classSVF_1_1CallPE.html#a5e6271f5697a32b57efeccfedc61e331">SVF::CallPE::CallPE</a></div><div class="ttdeci">CallPE()</div><div class="ttdoc">place holder </div></div>
377
377
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
378
378
  </div><!-- fragment -->
379
379
  </div>
@@ -405,8 +405,8 @@ Additional Inherited Members</h2></td></tr>
405
405
 
406
406
  <p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
407
407
 
408
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00910">910</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
409
- <div class="fragment"><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; {</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div></div><!-- fragment -->
408
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00930">930</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
409
+ <div class="fragment"><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; {</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div></div><!-- fragment -->
410
410
  </div>
411
411
  </div>
412
412
  <a id="a68f16df5a9b44dd2492c33fb0a1b5f0c"></a>
@@ -433,8 +433,8 @@ Additional Inherited Members</h2></td></tr>
433
433
  </table>
434
434
  </div><div class="memdoc">
435
435
 
436
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00914">914</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
437
- <div class="fragment"><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; {</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
436
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00934">934</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
437
+ <div class="fragment"><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; {</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
438
438
  </div><!-- fragment -->
439
439
  </div>
440
440
  </div>
@@ -462,8 +462,8 @@ Additional Inherited Members</h2></td></tr>
462
462
  </table>
463
463
  </div><div class="memdoc">
464
464
 
465
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00918">918</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
466
- <div class="fragment"><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; {</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
465
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00938">938</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
466
+ <div class="fragment"><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
467
467
  </div><!-- fragment -->
468
468
  </div>
469
469
  </div>
@@ -273,7 +273,7 @@ Additional Inherited Members</h2></td></tr>
273
273
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
274
274
  <div class="textblock"><p>Thread Join </p>
275
275
 
276
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00938">938</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
276
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00958">958</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
277
277
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
278
278
  <a id="a3a7edc9b921598336ff2bbb6412e2160"></a>
279
279
  <h2 class="memtitle"><span class="permalink"><a href="#a3a7edc9b921598336ff2bbb6412e2160">&#9670;&nbsp;</a></span>TDJoinPE() <span class="overload">[1/3]</span></h2>
@@ -372,8 +372,8 @@ Additional Inherited Members</h2></td></tr>
372
372
 
373
373
  <p>Constructor. </p>
374
374
 
375
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00963">963</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
376
- <div class="fragment"><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; :</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <a class="code" href="classSVF_1_1RetPE.html#ab4da5e54fec989eab5640acc8c4fe215">RetPE</a>(s,d,i,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>)</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; {</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; }</div><div class="ttc" id="classSVF_1_1RetPE_html_ab4da5e54fec989eab5640acc8c4fe215"><div class="ttname"><a href="classSVF_1_1RetPE.html#ab4da5e54fec989eab5640acc8c4fe215">SVF::RetPE::RetPE</a></div><div class="ttdeci">RetPE()</div><div class="ttdoc">place holder </div></div>
375
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00983">983</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
376
+ <div class="fragment"><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; :</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <a class="code" href="classSVF_1_1RetPE.html#ab4da5e54fec989eab5640acc8c4fe215">RetPE</a>(s,d,i,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>)</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; {</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; }</div><div class="ttc" id="classSVF_1_1RetPE_html_ab4da5e54fec989eab5640acc8c4fe215"><div class="ttname"><a href="classSVF_1_1RetPE.html#ab4da5e54fec989eab5640acc8c4fe215">SVF::RetPE::RetPE</a></div><div class="ttdeci">RetPE()</div><div class="ttdoc">place holder </div></div>
377
377
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVF::SVFStmt::ThreadJoin</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
378
378
  </div><!-- fragment -->
379
379
  </div>
@@ -405,8 +405,8 @@ Additional Inherited Members</h2></td></tr>
405
405
 
406
406
  <p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
407
407
 
408
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00948">948</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
409
- <div class="fragment"><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; {</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; }</div></div><!-- fragment -->
408
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00968">968</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
409
+ <div class="fragment"><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; {</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div></div><!-- fragment -->
410
410
  </div>
411
411
  </div>
412
412
  <a id="a18e24262f5be7835bc830ea410acc19d"></a>
@@ -433,8 +433,8 @@ Additional Inherited Members</h2></td></tr>
433
433
  </table>
434
434
  </div><div class="memdoc">
435
435
 
436
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00952">952</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
437
- <div class="fragment"><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVF::SVFStmt::ThreadJoin</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
436
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00972">972</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
437
+ <div class="fragment"><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; {</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVF::SVFStmt::ThreadJoin</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
438
438
  </div><!-- fragment -->
439
439
  </div>
440
440
  </div>
@@ -462,8 +462,8 @@ Additional Inherited Members</h2></td></tr>
462
462
  </table>
463
463
  </div><div class="memdoc">
464
464
 
465
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00956">956</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
466
- <div class="fragment"><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; {</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVF::SVFStmt::ThreadJoin</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
465
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00976">976</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
466
+ <div class="fragment"><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>;</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVF::SVFStmt::ThreadJoin</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
467
467
  </div><!-- fragment -->
468
468
  </div>
469
469
  </div>
@@ -1855,10 +1855,10 @@ Additional Inherited Members</h2></td></tr>
1855
1855
 
1856
1856
  <p class="definition">Definition at line <a class="el" href="ThreadCallGraph_8cpp_source.html#l00053">53</a> of file <a class="el" href="ThreadCallGraph_8cpp_source.html">ThreadCallGraph.cpp</a>.</p>
1857
1857
  <div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; PointerAnalysis::CallEdgeMap::const_iterator iter = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>().begin();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; PointerAnalysis::CallEdgeMap::const_iterator eiter = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>().end();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">for</span> (; iter != eiter; iter++)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = iter-&gt;first;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> &amp;functions = iter-&gt;second;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">for</span> (PTACallGraph::FunctionSet::const_iterator func_iter =</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; functions.begin(); func_iter != functions.end(); func_iter++)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *func_iter;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; this-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a46416c668e2f0099394e79f685ede758">addIndirectCallGraphEdge</a>(cs, cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>(), callee);</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; }</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="comment">// Fork sites</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">for</span> (CallSiteSet::const_iterator it = <a class="code" href="classSVF_1_1ThreadCallGraph.html#a37f2e076713a9aeb0e4313fb05dfb92e">forksitesBegin</a>(), eit = <a class="code" href="classSVF_1_1ThreadCallGraph.html#a1ebbd26c17cff1c1a1bee9caa9a8f825">forksitesEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* forkedval = <a class="code" href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">tdAPI</a>-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a7ddc0c71aeae315af21972a4905b3456">getForkedFun</a>((*it)-&gt;getCallSite());</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span>(SVFUtil::dyn_cast&lt;Function&gt;(forkedval)==<span class="keyword">nullptr</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="classSVF_1_1SVFIR.html">SVFIR</a>* pag = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> targets = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(forkedval)).toNodeBS();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">for</span> (NodeBS::iterator ii = targets.begin(), ie = targets.end(); ii != ie; ii++)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a>* objPN = SVFUtil::dyn_cast&lt;ObjVar&gt;(pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*ii)))</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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* obj = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(objPN);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span>(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">isFunction</a>())</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* callee = SVFUtil::cast&lt;Function&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>());</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfCallee = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(callee);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; this-&gt;<a class="code" href="classSVF_1_1ThreadCallGraph.html#a579dd874301280f7c9750c2a22f065c7">addIndirectForkEdge</a>(*it, svfCallee);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</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; }</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; }</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="comment">// parallel_for sites</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">for</span> (CallSiteSet::const_iterator it = <a class="code" href="classSVF_1_1ThreadCallGraph.html#a29c74634b17007e5bef6fb48e1f3839f">parForSitesBegin</a>(), eit = <a class="code" href="classSVF_1_1ThreadCallGraph.html#a506343bcd23ba71d2db915ff7c58e728">parForSitesEnd</a>(); it != eit; ++it)</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="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* forkedval = <a class="code" href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">tdAPI</a>-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#afeedd6e518af76fa9e7142af8899b2f5">getTaskFuncAtHareParForSite</a>((*it)-&gt;getCallSite());</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span>(SVFUtil::dyn_cast&lt;Function&gt;(forkedval)==<span class="keyword">nullptr</span>)</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; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> targets = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(forkedval)).toNodeBS();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">for</span> (NodeBS::iterator ii = targets.begin(), ie = targets.end(); ii != ie; ii++)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a>* objPN = SVFUtil::dyn_cast&lt;ObjVar&gt;(pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*ii)))</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="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* obj = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(objPN);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span>(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">isFunction</a>())</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="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* callee = SVFUtil::cast&lt;Function&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>());</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfCallee = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(callee);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; this-&gt;<a class="code" href="classSVF_1_1ThreadCallGraph.html#a579dd874301280f7c9750c2a22f065c7">addIndirectForkEdge</a>(*it, svfCallee);</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; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</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;}</div><div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a506343bcd23ba71d2db915ff7c58e728"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a506343bcd23ba71d2db915ff7c58e728">SVF::ThreadCallGraph::parForSitesEnd</a></div><div class="ttdeci">CallSiteSet::const_iterator parForSitesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00299">ThreadCallGraph.h:299</a></div></div>
1858
- <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00418">SymbolTableInfo.h:418</a></div></div>
1858
+ <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00422">SymbolTableInfo.h:422</a></div></div>
1859
1859
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
1860
1860
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a46416c668e2f0099394e79f685ede758"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a46416c668e2f0099394e79f685ede758">SVF::PTACallGraph::addIndirectCallGraphEdge</a></div><div class="ttdeci">void addIndirectCallGraphEdge(const CallICFGNode *cs, const SVFFunction *callerFun, const SVFFunction *calleeFun)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00185">PTACallGraph.cpp:185</a></div></div>
1861
- <div class="ttc" id="classSVF_1_1MemObj_html_ae1d14e2bf0be36cdadebf119822f607b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">SVF::MemObj::isFunction</a></div><div class="ttdeci">bool isFunction() const</div><div class="ttdoc">object attributes methods </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00660">SymbolTableInfo.cpp:660</a></div></div>
1861
+ <div class="ttc" id="classSVF_1_1MemObj_html_ae1d14e2bf0be36cdadebf119822f607b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">SVF::MemObj::isFunction</a></div><div class="ttdeci">bool isFunction() const</div><div class="ttdoc">object attributes methods </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00667">SymbolTableInfo.cpp:667</a></div></div>
1862
1862
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a1ebbd26c17cff1c1a1bee9caa9a8f825"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a1ebbd26c17cff1c1a1bee9caa9a8f825">SVF::ThreadCallGraph::forksitesEnd</a></div><div class="ttdeci">CallSiteSet::const_iterator forksitesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00275">ThreadCallGraph.h:275</a></div></div>
1863
1863
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
1864
1864
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
@@ -1876,7 +1876,7 @@ Additional Inherited Members</h2></td></tr>
1876
1876
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00069">LLVMModule.h:69</a></div></div>
1877
1877
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
1878
1878
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
1879
- <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00442">SymbolTableInfo.h:442</a></div></div>
1879
+ <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00446">SymbolTableInfo.h:446</a></div></div>
1880
1880
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00387">GenericGraph.h:387</a></div></div>
1881
1881
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a29c74634b17007e5bef6fb48e1f3839f"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a29c74634b17007e5bef6fb48e1f3839f">SVF::ThreadCallGraph::parForSitesBegin</a></div><div class="ttdeci">CallSiteSet::const_iterator parForSitesBegin() const</div><div class="ttdoc">hare_parallel_for sites iterators </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00295">ThreadCallGraph.h:295</a></div></div>
1882
1882
  <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
@@ -818,7 +818,7 @@ Additional Inherited Members</h2></td></tr>
818
818
  <p class="definition">Definition at line <a class="el" href="TypeAnalysis_8cpp_source.html#l00078">78</a> of file <a class="el" href="TypeAnalysis_8cpp_source.html">TypeAnalysis.cpp</a>.</p>
819
819
  <div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">for</span>(CallSiteToFunPtrMap::const_iterator iter = callsites.begin(), eiter = callsites.end(); iter!=eiter; ++iter)</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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = iter-&gt;first;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cbn-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">isVirtualCallSite</a>(cs))</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classSVF_1_1TypeAnalysis.html#aa7fb5d1cd8e42058120758a990ed471d">virtualCallSites</a>.insert(cs);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *vtbl = <a class="code" href="namespaceSVF_1_1cppUtil.html#a3b00cc9770022f124958513bf1e52a05">getVCallVtblPtr</a>(cs);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">hasValueNode</a>(vtbl));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">VFunSet</a> vfns;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">getVFnsFromCHA</a>(cbn, vfns);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">connectVCallToVFns</a>(cbn, vfns, newEdges);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</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;}</div><div class="ttc" id="namespaceSVF_1_1cppUtil_html_aca6465c72effcaddeb34f55da4555754"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">SVF::cppUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8cpp_source.html#l00257">CPPUtil.cpp:257</a></div></div>
820
820
  <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>
821
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade41f3562704d56c7490dcfc941b3437"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">SVF::PointerAnalysis::getVFnsFromCHA</a></div><div class="ttdeci">void getVFnsFromCHA(const CallICFGNode *cs, VFunSet &amp;vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00474">PointerAnalysis.cpp:474</a></div></div>
821
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade41f3562704d56c7490dcfc941b3437"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">SVF::PointerAnalysis::getVFnsFromCHA</a></div><div class="ttdeci">void getVFnsFromCHA(const CallICFGNode *cs, VFunSet &amp;vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00468">PointerAnalysis.cpp:468</a></div></div>
822
822
  <div class="ttc" id="classSVF_1_1TypeAnalysis_html_aa7fb5d1cd8e42058120758a990ed471d"><div class="ttname"><a href="classSVF_1_1TypeAnalysis.html#aa7fb5d1cd8e42058120758a990ed471d">SVF::TypeAnalysis::virtualCallSites</a></div><div class="ttdeci">Set&lt; CallSite &gt; virtualCallSites</div><div class="ttdef"><b>Definition:</b> <a href="TypeAnalysis_8h_source.html#l00081">TypeAnalysis.h:81</a></div></div>
823
823
  <div class="ttc" id="namespaceSVF_html_ad2b487757f1e1a1d81073120fc1d49c7"><div class="ttname"><a href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">SVF::VFunSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; VFunSet</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00047">CHG.h:47</a></div></div>
824
824
  <div class="ttc" id="classSVF_1_1IRGraph_html_aceb17dfbe137658625e16291127267d1"><div class="ttname"><a href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">SVF::IRGraph::hasValueNode</a></div><div class="ttdeci">bool hasValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00124">IRGraph.h:124</a></div></div>
@@ -828,7 +828,7 @@ Additional Inherited Members</h2></td></tr>
828
828
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00219">SVFUtil.h:219</a></div></div>
829
829
  <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00303">BasicTypes.h:303</a></div></div>
830
830
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
831
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6a5dec067fa2a1babc83f36daa8afcc3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">SVF::PointerAnalysis::connectVCallToVFns</a></div><div class="ttdeci">void connectVCallToVFns(const CallICFGNode *cs, const VFunSet &amp;vfns, CallEdgeMap &amp;newEdges)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00509">PointerAnalysis.cpp:509</a></div></div>
831
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6a5dec067fa2a1babc83f36daa8afcc3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">SVF::PointerAnalysis::connectVCallToVFns</a></div><div class="ttdeci">void connectVCallToVFns(const CallICFGNode *cs, const VFunSet &amp;vfns, CallEdgeMap &amp;newEdges)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00503">PointerAnalysis.cpp:503</a></div></div>
832
832
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
833
833
  </div><!-- fragment -->
834
834
  </div>
@@ -426,7 +426,7 @@ Private Attributes</h2></td></tr>
426
426
  <div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a6ce6b40b8291c6378dda07d943d66e53"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a6ce6b40b8291c6378dda07d943d66e53">SVF::NodeIDAllocator::allocateObjectId</a></div><div class="ttdeci">NodeID allocateObjectId(void)</div><div class="ttdoc">Allocate an object ID as determined by the strategy. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00049">NodeIDAllocator.cpp:49</a></div></div>
427
427
  <div class="ttc" id="classSVF_1_1SVFIR_html_a83bc8ecf4c5d10af10af3c8c44b9882d"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a83bc8ecf4c5d10af10af3c8c44b9882d">SVF::SVFIR::addObjNode</a></div><div class="ttdeci">NodeID addObjNode(const Value *val, NodeID i)</div><div class="ttdoc">Add a memory obj node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00536">SVFIR.h:536</a></div></div>
428
428
  <div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a2bd3ca30fc9669d9a0327544bdb4557b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a2bd3ca30fc9669d9a0327544bdb4557b">SVF::NodeIDAllocator::get</a></div><div class="ttdeci">static NodeIDAllocator * get(void)</div><div class="ttdoc">Return (singleton) allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00025">NodeIDAllocator.cpp:25</a></div></div>
429
- <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00442">SymbolTableInfo.h:442</a></div></div>
429
+ <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00446">SymbolTableInfo.h:446</a></div></div>
430
430
  </div><!-- fragment -->
431
431
  </div>
432
432
  </div>
@@ -473,7 +473,7 @@ Private Attributes</h2></td></tr>
473
473
  <div class="ttc" id="classSVF_1_1SVFIR_html_a83bc8ecf4c5d10af10af3c8c44b9882d"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a83bc8ecf4c5d10af10af3c8c44b9882d">SVF::SVFIR::addObjNode</a></div><div class="ttdeci">NodeID addObjNode(const Value *val, NodeID i)</div><div class="ttdoc">Add a memory obj node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00536">SVFIR.h:536</a></div></div>
474
474
  <div class="ttc" id="classSVF_1_1CloneGepObjVar_html"><div class="ttname"><a href="classSVF_1_1CloneGepObjVar.html">SVF::CloneGepObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00800">SVFVariables.h:800</a></div></div>
475
475
  <div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a2bd3ca30fc9669d9a0327544bdb4557b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a2bd3ca30fc9669d9a0327544bdb4557b">SVF::NodeIDAllocator::get</a></div><div class="ttdeci">static NodeIDAllocator * get(void)</div><div class="ttdoc">Return (singleton) allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00025">NodeIDAllocator.cpp:25</a></div></div>
476
- <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00442">SymbolTableInfo.h:442</a></div></div>
476
+ <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00446">SymbolTableInfo.h:446</a></div></div>
477
477
  </div><!-- fragment -->
478
478
  </div>
479
479
  </div>
@@ -521,7 +521,7 @@ Private Attributes</h2></td></tr>
521
521
 
522
522
  <p class="definition">Definition at line <a class="el" href="TypeBasedHeapCloning_8cpp_source.html#l00118">118</a> of file <a class="el" href="TypeBasedHeapCloning_8cpp_source.html">TypeBasedHeapCloning.cpp</a>.</p>
523
523
  <div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aa9977ed15f500848b23d4df7a44cd204">objToGeps</a>[base].set(gep);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *baseNode = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a629ad3cef8929865b7319fb9e389f7bf">ppag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(base);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(baseNode &amp;&amp; <span class="stringliteral">&quot;TBHC: given bad base node?&quot;</span>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *baseObj = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a>&gt;(baseNode);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(baseObj &amp;&amp; <span class="stringliteral">&quot;TBHC: non-object given for base?&quot;</span>);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// We can use the base or the gep mem. obj.; should be identical.</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *baseMemObj = baseObj-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aa9977ed15f500848b23d4df7a44cd204">objToGeps</a>[base].set(gep);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a882afb13844ed039d18d325e92819f77">memObjToGeps</a>[baseMemObj][offset].set(gep);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div><div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a629ad3cef8929865b7319fb9e389f7bf"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a629ad3cef8929865b7319fb9e389f7bf">SVF::TypeBasedHeapCloning::ppag</a></div><div class="ttdeci">SVFIR * ppag</div><div class="ttdoc">SVFIR the PTA uses. Just a shortcut for getPAG(). </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00149">TypeBasedHeapCloning.h:149</a></div></div>
524
- <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00418">SymbolTableInfo.h:418</a></div></div>
524
+ <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00422">SymbolTableInfo.h:422</a></div></div>
525
525
  <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>
526
526
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_aa9977ed15f500848b23d4df7a44cd204"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#aa9977ed15f500848b23d4df7a44cd204">SVF::TypeBasedHeapCloning::objToGeps</a></div><div class="ttdeci">Map&lt; NodeID, NodeBS &gt; objToGeps</div><div class="ttdoc">Maps objects to the GEP nodes beneath them. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00164">TypeBasedHeapCloning.h:164</a></div></div>
527
527
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
@@ -838,7 +838,7 @@ Private Attributes</h2></td></tr>
838
838
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a006243a1416f4950de254d0d62ba40b0"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a006243a1416f4950de254d0d62ba40b0">SVF::TypeBasedHeapCloning::setAllocationSite</a></div><div class="ttdeci">void setAllocationSite(NodeID o, NodeID site)</div><div class="ttdoc">Sets the allocation site (in objToAllocation) of o. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00064">TypeBasedHeapCloning.cpp:64</a></div></div>
839
839
  <div class="ttc" id="classSVF_1_1DCHGraph_html_acaff636e6a9cf59363d6ee00435c04ff"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#acaff636e6a9cf59363d6ee00435c04ff">SVF::DCHGraph::getFieldType</a></div><div class="ttdeci">const DIType * getFieldType(const DIType *base, unsigned idx)</div><div class="ttdoc">Returns the type of field number idx (flattened) in base. </div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8h_source.html#l00291">DCHG.h:291</a></div></div>
840
840
  <div class="ttc" id="classSVF_1_1DCHGraph_html_a079feacdcc3783f4a9108a3b2d2aed2c"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a079feacdcc3783f4a9108a3b2d2aed2c">SVF::DCHGraph::getCanonicalType</a></div><div class="ttdeci">const DIType * getCanonicalType(const DIType *t)</div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8cpp_source.html#l00713">DCHG.cpp:713</a></div></div>
841
- <div class="ttc" id="classSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00649">SymbolTableInfo.cpp:649</a></div></div>
841
+ <div class="ttc" id="classSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00656">SymbolTableInfo.cpp:656</a></div></div>
842
842
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_abce2ba326af69312c5971246cc4c10dc"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#abce2ba326af69312c5971246cc4c10dc">SVF::TypeBasedHeapCloning::isClone</a></div><div class="ttdeci">bool isClone(NodeID o) const</div><div class="ttdoc">Returns true if o is a clone. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00048">TypeBasedHeapCloning.cpp:48</a></div></div>
843
843
  <div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00072">LocationSet.h:72</a></div></div>
844
844
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
@@ -261,7 +261,7 @@ Additional Inherited Members</h2></td></tr>
261
261
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
262
262
  <div class="textblock"><p>Unary statement </p>
263
263
 
264
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00782">782</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
264
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00786">786</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
265
265
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
266
266
  <a id="a033d3ba05ce96e04b63f2cf455518582"></a>
267
267
  <h2 class="memtitle"><span class="permalink"><a href="#a033d3ba05ce96e04b63f2cf455518582">&#9670;&nbsp;</a></span>UnaryOPStmt() <span class="overload">[1/3]</span></h2>
@@ -360,9 +360,9 @@ Additional Inherited Members</h2></td></tr>
360
360
 
361
361
  <p>constructor </p>
362
362
 
363
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00812">812</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
364
- <div class="fragment"><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; : <a class="code" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVFStmt::UnaryOp</a>), <a class="code" href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">opcode</a>(oc)</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVF::SVFStmt::UnaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
365
- <div class="ttc" id="classSVF_1_1UnaryOPStmt_html_a099df135a83d28a2e6f344e008fe1cc6"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">SVF::UnaryOPStmt::opcode</a></div><div class="ttdeci">u32_t opcode</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00793">SVFStatements.h:793</a></div></div>
363
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00816">816</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
364
+ <div class="fragment"><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; : <a class="code" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVFStmt::UnaryOp</a>), <a class="code" href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">opcode</a>(oc)</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVF::SVFStmt::UnaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
365
+ <div class="ttc" id="classSVF_1_1UnaryOPStmt_html_a099df135a83d28a2e6f344e008fe1cc6"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">SVF::UnaryOPStmt::opcode</a></div><div class="ttdeci">u32_t opcode</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00797">SVFStatements.h:797</a></div></div>
366
366
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a47102f72115d41bff899b1b2ffec75b1"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVF::SVFStmt::SVFStmt</a></div><div class="ttdeci">SVFStmt(SVFVar *s, SVFVar *d, GEdgeFlag k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00046">SVFStatements.cpp:46</a></div></div>
367
367
  </div><!-- fragment -->
368
368
  </div>
@@ -394,8 +394,8 @@ Additional Inherited Members</h2></td></tr>
394
394
 
395
395
  <p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
396
396
 
397
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00797">797</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
398
- <div class="fragment"><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; {</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div></div><!-- fragment -->
397
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00801">801</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
398
+ <div class="fragment"><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div></div><!-- fragment -->
399
399
  </div>
400
400
  </div>
401
401
  <a id="a2a4b7e3a4c5be8a253b542f144f830b7"></a>
@@ -422,8 +422,8 @@ Additional Inherited Members</h2></td></tr>
422
422
  </table>
423
423
  </div><div class="memdoc">
424
424
 
425
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00801">801</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
426
- <div class="fragment"><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVFStmt::UnaryOp</a>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVF::SVFStmt::UnaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
425
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00805">805</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
426
+ <div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVFStmt::UnaryOp</a>;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVF::SVFStmt::UnaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
427
427
  </div><!-- fragment -->
428
428
  </div>
429
429
  </div>
@@ -451,8 +451,8 @@ Additional Inherited Members</h2></td></tr>
451
451
  </table>
452
452
  </div><div class="memdoc">
453
453
 
454
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00805">805</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
455
- <div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVFStmt::UnaryOp</a>;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVF::SVFStmt::UnaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
454
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00809">809</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
455
+ <div class="fragment"><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; {</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVFStmt::UnaryOp</a>;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">SVF::SVFStmt::UnaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
456
456
  </div><!-- fragment -->
457
457
  </div>
458
458
  </div>
@@ -533,8 +533,8 @@ Additional Inherited Members</h2></td></tr>
533
533
  </table>
534
534
  </div><div class="memdoc">
535
535
 
536
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00816">816</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
537
- <div class="fragment"><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">opcode</a>;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; }</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_a099df135a83d28a2e6f344e008fe1cc6"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">SVF::UnaryOPStmt::opcode</a></div><div class="ttdeci">u32_t opcode</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00793">SVFStatements.h:793</a></div></div>
536
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00820">820</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
537
+ <div class="fragment"><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">opcode</a>;</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; }</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_a099df135a83d28a2e6f344e008fe1cc6"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#a099df135a83d28a2e6f344e008fe1cc6">SVF::UnaryOPStmt::opcode</a></div><div class="ttdeci">u32_t opcode</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00797">SVFStatements.h:797</a></div></div>
538
538
  </div><!-- fragment -->
539
539
  </div>
540
540
  </div>
@@ -561,8 +561,8 @@ Additional Inherited Members</h2></td></tr>
561
561
  </table>
562
562
  </div><div class="memdoc">
563
563
 
564
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00820">820</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
565
- <div class="fragment"><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVFStmt::getSrcNode</a>();</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div><div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
564
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00824">824</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
565
+ <div class="fragment"><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; {</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVFStmt::getSrcNode</a>();</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div><div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
566
566
  </div><!-- fragment -->
567
567
  </div>
568
568
  </div>
@@ -582,7 +582,7 @@ Additional Inherited Members</h2></td></tr>
582
582
  </div><div class="memdoc">
583
583
 
584
584
  <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00244">244</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
585
- <div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1UnaryOPStmt.html#abde2b32d5bbd37df0e194b1a4e78483b">getOpVar</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_abde2b32d5bbd37df0e194b1a4e78483b"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#abde2b32d5bbd37df0e194b1a4e78483b">SVF::UnaryOPStmt::getOpVar</a></div><div class="ttdeci">const SVFVar * getOpVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00820">SVFStatements.h:820</a></div></div>
585
+ <div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1UnaryOPStmt.html#abde2b32d5bbd37df0e194b1a4e78483b">getOpVar</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_abde2b32d5bbd37df0e194b1a4e78483b"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#abde2b32d5bbd37df0e194b1a4e78483b">SVF::UnaryOPStmt::getOpVar</a></div><div class="ttdeci">const SVFVar * getOpVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00824">SVFStatements.h:824</a></div></div>
586
586
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
587
587
  </div><!-- fragment -->
588
588
  </div>
@@ -610,8 +610,8 @@ Additional Inherited Members</h2></td></tr>
610
610
  </table>
611
611
  </div><div class="memdoc">
612
612
 
613
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00823">823</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
614
- <div class="fragment"><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVFStmt::getDstNode</a>();</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div><div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
613
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00827">827</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
614
+ <div class="fragment"><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVFStmt::getDstNode</a>();</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; }</div><div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
615
615
  </div><!-- fragment -->
616
616
  </div>
617
617
  </div>
@@ -631,7 +631,7 @@ Additional Inherited Members</h2></td></tr>
631
631
  </div><div class="memdoc">
632
632
 
633
633
  <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00247">247</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
634
- <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1UnaryOPStmt.html#a919db9b8c9287c3802f563840b56c4f1">getRes</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;}</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_a919db9b8c9287c3802f563840b56c4f1"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#a919db9b8c9287c3802f563840b56c4f1">SVF::UnaryOPStmt::getRes</a></div><div class="ttdeci">const SVFVar * getRes() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00823">SVFStatements.h:823</a></div></div>
634
+ <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1UnaryOPStmt.html#a919db9b8c9287c3802f563840b56c4f1">getRes</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;}</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_a919db9b8c9287c3802f563840b56c4f1"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#a919db9b8c9287c3802f563840b56c4f1">SVF::UnaryOPStmt::getRes</a></div><div class="ttdeci">const SVFVar * getRes() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00827">SVFStatements.h:827</a></div></div>
635
635
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
636
636
  </div><!-- fragment -->
637
637
  </div>
@@ -744,7 +744,7 @@ Additional Inherited Members</h2></td></tr>
744
744
  <p>Reimplemented from <a class="el" href="classSVF_1_1SVFStmt.html#ad0b4dbe87e009518f22360c48b0d0c22">SVF::SVFStmt</a>.</p>
745
745
 
746
746
  <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00126">126</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
747
- <div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; std::string str;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;UnaryOPStmt: [Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1UnaryOPStmt.html#ae2ffeaec2d2e4de69826495006c35856">getResID</a>() &lt;&lt; <span class="stringliteral">&quot; &lt;-- &quot;</span> &lt;&lt; <span class="stringliteral">&quot; opcode&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1UnaryOPStmt.html#af29723d5e777b10d53d48263a786f5b6">getOpcode</a>() &lt;&lt; <span class="stringliteral">&quot; Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1UnaryOPStmt.html#a8029b46bccda153ca2e677686c2655e2">getOpVarID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</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="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_af29723d5e777b10d53d48263a786f5b6"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#af29723d5e777b10d53d48263a786f5b6">SVF::UnaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00816">SVFStatements.h:816</a></div></div>
747
+ <div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; std::string str;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;UnaryOPStmt: [Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1UnaryOPStmt.html#ae2ffeaec2d2e4de69826495006c35856">getResID</a>() &lt;&lt; <span class="stringliteral">&quot; &lt;-- &quot;</span> &lt;&lt; <span class="stringliteral">&quot; opcode&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1UnaryOPStmt.html#af29723d5e777b10d53d48263a786f5b6">getOpcode</a>() &lt;&lt; <span class="stringliteral">&quot; Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1UnaryOPStmt.html#a8029b46bccda153ca2e677686c2655e2">getOpVarID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</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="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="ttc" id="classSVF_1_1UnaryOPStmt_html_af29723d5e777b10d53d48263a786f5b6"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#af29723d5e777b10d53d48263a786f5b6">SVF::UnaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00820">SVFStatements.h:820</a></div></div>
748
748
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a65ee8b43a3a4999eb112a197d1a9f882"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00115">SVFStatements.h:115</a></div></div>
749
749
  <div class="ttc" id="classSVF_1_1UnaryOPStmt_html_ae2ffeaec2d2e4de69826495006c35856"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#ae2ffeaec2d2e4de69826495006c35856">SVF::UnaryOPStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00247">SVFStatements.cpp:247</a></div></div>
750
750
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
@@ -775,7 +775,7 @@ Additional Inherited Members</h2></td></tr>
775
775
  </table>
776
776
  </div><div class="memdoc">
777
777
 
778
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00793">793</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
778
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00797">797</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
779
779
 
780
780
  </div>
781
781
  </div>