svf-tools 1.0.538 → 1.0.541

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 (168) hide show
  1. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +2 -1
  3. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +1 -1
  4. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -4
  5. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +15 -15
  6. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +4 -4
  7. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +39 -39
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +19 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +16 -15
  10. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +1 -1
  11. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -1
  12. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -1
  13. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  14. package/SVF-doxygen/html/html/DDAStat_8h.html +1 -1
  15. package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +4 -4
  18. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/ICFGStat_8h.html +1 -1
  20. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
  23. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/LockAnalysis_8cpp.html +1 -1
  25. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  27. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -1
  29. package/SVF-doxygen/html/html/MTAStat_8h.html +1 -1
  30. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp.html +1 -1
  32. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
  34. package/SVF-doxygen/html/html/Options_8h.html +1 -1
  35. package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
  36. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +314 -0
  37. package/SVF-doxygen/html/html/PTAStat_8cpp.html +1 -1
  38. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/PTAStat_8h.html +2 -2
  40. package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
  41. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +1 -1
  42. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/SVFGStat_8h.html +1 -1
  45. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  47. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -1
  48. package/SVF-doxygen/html/html/TypeAnalysis_8cpp.html +1 -1
  49. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  51. package/SVF-doxygen/html/html/WPAStat_8h.html +1 -1
  52. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  54. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +12 -11
  56. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +72 -4
  57. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  62. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +50 -49
  63. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +26 -26
  64. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +10 -7
  65. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +11 -11
  66. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +10 -10
  67. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -2
  71. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +48 -47
  72. package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
  73. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  74. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +3 -3
  76. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +1 -1
  77. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  78. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
  79. package/SVF-doxygen/html/html/dir_eef3a4ca6ca2cab0eb5fbea30ec32c1a.html +0 -2
  80. package/SVF-doxygen/html/html/files.html +15 -15
  81. package/SVF-doxygen/html/html/functions_b.html +3 -0
  82. package/SVF-doxygen/html/html/functions_c.html +22 -20
  83. package/SVF-doxygen/html/html/functions_f.html +7 -9
  84. package/SVF-doxygen/html/html/functions_func_b.html +3 -0
  85. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  86. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  87. package/SVF-doxygen/html/html/functions_l.html +6 -6
  88. package/SVF-doxygen/html/html/functions_o.html +15 -15
  89. package/SVF-doxygen/html/html/functions_p.html +15 -16
  90. package/SVF-doxygen/html/html/functions_r.html +7 -5
  91. package/SVF-doxygen/html/html/functions_s.html +13 -13
  92. package/SVF-doxygen/html/html/functions_t.html +8 -10
  93. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  94. package/SVF-doxygen/html/html/functions_w.html +11 -11
  95. package/SVF-doxygen/html/html/globals.html +1 -0
  96. package/SVF-doxygen/html/html/globals_a.html +3 -1
  97. package/SVF-doxygen/html/html/globals_c.html +6 -5
  98. package/SVF-doxygen/html/html/globals_e.html +1 -0
  99. package/SVF-doxygen/html/html/globals_f.html +7 -5
  100. package/SVF-doxygen/html/html/globals_g.html +7 -3
  101. package/SVF-doxygen/html/html/globals_m.html +6 -3
  102. package/SVF-doxygen/html/html/globals_v.html +2 -1
  103. package/SVF-doxygen/html/html/globals_vars.html +22 -7
  104. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  105. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  106. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  107. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  108. package/SVF-doxygen/html/html/search/all_1.js +2 -2
  109. package/SVF-doxygen/html/html/search/all_10.js +8 -6
  110. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  111. package/SVF-doxygen/html/html/search/all_12.js +10 -10
  112. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  113. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  114. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  115. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  116. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  117. package/SVF-doxygen/html/html/search/all_3.js +4 -4
  118. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  119. package/SVF-doxygen/html/html/search/all_6.js +5 -5
  120. package/SVF-doxygen/html/html/search/all_7.js +4 -4
  121. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  122. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  123. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  124. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  125. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  126. package/SVF-doxygen/html/html/search/files_c.js +1 -0
  127. package/SVF-doxygen/html/html/search/functions_1.js +1 -0
  128. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  129. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  130. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  131. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  132. package/SVF-doxygen/html/html/search/variables_10.js +2 -1
  133. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  134. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  135. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  136. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  137. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  138. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  139. package/SVF-doxygen/html/html/search/variables_7.js +4 -4
  140. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  141. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  142. package/include/CFL/CFGNormalizer.h +3 -3
  143. package/include/CFL/CFLAlias.h +5 -1
  144. package/include/CFL/CFLGraphBuilder.h +11 -1
  145. package/include/CFL/PEGGrammar.txt +28 -0
  146. package/include/DDA/DDAStat.h +1 -1
  147. package/include/Graphs/ICFGStat.h +1 -1
  148. package/include/Graphs/SVFGStat.h +1 -1
  149. package/include/MTA/MTAStat.h +1 -1
  150. package/include/SVF-FE/LLVMUtil.h +2 -2
  151. package/include/Util/ExtAPI.h +2 -2
  152. package/include/Util/Options.h +2 -1
  153. package/include/{MemoryModel → Util}/PTAStat.h +0 -0
  154. package/include/WPA/Andersen.h +3 -3
  155. package/include/WPA/WPAStat.h +1 -1
  156. package/lib/CFL/CFLAlias.cpp +12 -7
  157. package/lib/CFL/CFLGraphBuilder.cpp +135 -0
  158. package/lib/CFL/GrammarBuilder.cpp +12 -8
  159. package/lib/Graphs/SVFGReadWrite.cpp +3 -3
  160. package/lib/MTA/LockAnalysis.cpp +1 -1
  161. package/lib/MTA/MHP.cpp +1 -1
  162. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  163. package/lib/SVF-FE/CHGBuilder.cpp +1 -1
  164. package/lib/Util/NodeIDAllocator.cpp +1 -1
  165. package/lib/Util/Options.cpp +11 -4
  166. package/lib/Util/PTAStat.cpp +3 -3
  167. package/lib/WPA/TypeAnalysis.cpp +1 -1
  168. package/package.json +1 -1
@@ -209,7 +209,7 @@ Public Member Functions</h2></td></tr>
209
209
  <tr class="memitem:a25b38896aef06dad19532f7678291b37"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLAlias.html#a25b38896aef06dad19532f7678291b37">onTheFlyCallGraphSolve</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &amp;callsites, <a class="el" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> &amp;newEdges)</td></tr>
210
210
  <tr class="memdesc:a25b38896aef06dad19532f7678291b37"><td class="mdescLeft">&#160;</td><td class="mdescRight">On the fly call graph construction. <a href="#a25b38896aef06dad19532f7678291b37">More...</a><br /></td></tr>
211
211
  <tr class="separator:a25b38896aef06dad19532f7678291b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
212
- <tr class="memitem:abfab36c0d5edbdfb94e617bed61ba875"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLAlias.html#abfab36c0d5edbdfb94e617bed61ba875">connectCaller2CalleeParams</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
212
+ <tr class="memitem:abfab36c0d5edbdfb94e617bed61ba875"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLAlias.html#abfab36c0d5edbdfb94e617bed61ba875">connectCaller2CalleeParams</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="PEGGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
213
213
  <tr class="memdesc:abfab36c0d5edbdfb94e617bed61ba875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect formal and actual parameters for indirect callsites. <a href="#abfab36c0d5edbdfb94e617bed61ba875">More...</a><br /></td></tr>
214
214
  <tr class="separator:abfab36c0d5edbdfb94e617bed61ba875"><td class="memSeparator" colspan="2">&#160;</td></tr>
215
215
  <tr class="memitem:a40841c2b47cf690af5c13ba7662d0863"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLAlias.html#a40841c2b47cf690af5c13ba7662d0863">heapAllocatorViaIndCall</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs)</td></tr>
@@ -527,7 +527,7 @@ Additional Inherited Members</h2></td></tr>
527
527
  </table>
528
528
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
529
529
  <div class="textblock">
530
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00043">43</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
530
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00045">45</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
531
531
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
532
532
  <a id="af8424cab679dae62320c6dec6253036a"></a>
533
533
  <h2 class="memtitle"><span class="permalink"><a href="#af8424cab679dae62320c6dec6253036a">&#9670;&nbsp;</a></span>CallSite2DummyValPN</h2>
@@ -541,7 +541,7 @@ Additional Inherited Members</h2></td></tr>
541
541
  </table>
542
542
  </div><div class="memdoc">
543
543
 
544
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00047">47</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
544
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00049">49</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
545
545
 
546
546
  </div>
547
547
  </div>
@@ -570,13 +570,13 @@ Additional Inherited Members</h2></td></tr>
570
570
  </table>
571
571
  </div><div class="memdoc">
572
572
 
573
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00049">49</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
574
- <div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; : <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">BVDataPTAImpl</a>(ir, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">PointerAnalysis::CFLFICI_WPA</a>), <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>(ir), <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
573
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00051">51</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
574
+ <div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; : <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">BVDataPTAImpl</a>(ir, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">PointerAnalysis::CFLFICI_WPA</a>), <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>(ir), <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00146">CFLAlias.h:146</a></div></div>
575
575
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">SVF::PointerAnalysis::CFLFICI_WPA</a></div><div class="ttdoc">Flow-, context-, insensitive CFL-reachability-based analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00077">PointerAnalysis.h:77</a></div></div>
576
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a31ffa49b8e0995b6ee9b8a1f5ecab7be"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">SVF::CFLAlias::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
577
- <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
576
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a31ffa49b8e0995b6ee9b8a1f5ecab7be"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">SVF::CFLAlias::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00145">CFLAlias.h:145</a></div></div>
577
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
578
578
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab0e1242aadfe1e16a2bd1445658a5476"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl::BVDataPTAImpl</a></div><div class="ttdeci">BVDataPTAImpl(SVFIR *pag, PointerAnalysis::PTATY type, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00025">PointerAnalysisImpl.cpp:25</a></div></div>
579
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00141">CFLAlias.h:141</a></div></div>
579
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
580
580
  </div><!-- fragment -->
581
581
  </div>
582
582
  </div>
@@ -605,8 +605,8 @@ Additional Inherited Members</h2></td></tr>
605
605
 
606
606
  <p>Destructor. </p>
607
607
 
608
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00054">54</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
609
- <div class="fragment"><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; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
608
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00056">56</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
609
+ <div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00146">CFLAlias.h:146</a></div></div>
610
610
  </div><!-- fragment -->
611
611
  </div>
612
612
  </div>
@@ -648,14 +648,14 @@ Additional Inherited Members</h2></td></tr>
648
648
  <p>Need Original one for virtual table. </p>
649
649
  <p>Add copy edge on constraint graph </p>
650
650
 
651
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00107">107</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
652
- <div class="fragment"><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> CFLEdge *edge = <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">hasEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(src),<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(dst), 1);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span> )</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> copyKind = <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(<span class="stringliteral">&quot;Copy&quot;</span>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> copybarKind = <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(<span class="stringliteral">&quot;Copybar&quot;</span>);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(src),<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(dst), copyKind));</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(dst),<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(src), copybarKind));</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLGraph_html_aca4c22dd10f65bcde5dadb7688544b50"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">SVF::CFLGraph::hasEdge</a></div><div class="ttdeci">virtual const CFLEdge * hasEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00060">CFLGraph.cpp:60</a></div></div>
651
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00109">109</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
652
+ <div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">const</span> CFLEdge *edge = <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">hasEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(src),<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(dst), 1);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span> )</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> copyKind = <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(<span class="stringliteral">&quot;Copy&quot;</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> copybarKind = <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(<span class="stringliteral">&quot;Copybar&quot;</span>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(src),<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(dst), copyKind));</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(dst),<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(src), copybarKind));</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLGraph_html_aca4c22dd10f65bcde5dadb7688544b50"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">SVF::CFLGraph::hasEdge</a></div><div class="ttdeci">virtual const CFLEdge * hasEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00060">CFLGraph.cpp:60</a></div></div>
653
653
  <div class="ttc" id="classSVF_1_1CFLSolver_html_afc745dc72fd0572a145a78fe6a93ae5c"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">SVF::CFLSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(const CFLEdge *item)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00071">CFLSolver.h:71</a></div></div>
654
- <div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
654
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00146">CFLAlias.h:146</a></div></div>
655
655
  <div class="ttc" id="classSVF_1_1CFLGraph_html_a9eea8083dbeaf898948595b1d75cfee2"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">SVF::CFLGraph::addCFLEdge</a></div><div class="ttdeci">virtual const CFLEdge * addCFLEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00047">CFLGraph.cpp:47</a></div></div>
656
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a31ffa49b8e0995b6ee9b8a1f5ecab7be"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">SVF::CFLAlias::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
656
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a31ffa49b8e0995b6ee9b8a1f5ecab7be"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">SVF::CFLAlias::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00145">CFLAlias.h:145</a></div></div>
657
657
  <div class="ttc" id="classSVF_1_1GrammarBase_html_ad2d56d8cdc4539d4201d1995fb36e772"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">SVF::GrammarBase::str2Kind</a></div><div class="ttdeci">Kind str2Kind(std::string str) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00055">CFLGrammar.cpp:55</a></div></div>
658
- <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
658
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
659
659
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
660
660
  <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#l00391">GenericGraph.h:391</a></div></div>
661
661
  </div><!-- fragment -->
@@ -699,11 +699,11 @@ Additional Inherited Members</h2></td></tr>
699
699
 
700
700
  <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#adaba5a41a60e32d18d964bdb8ae5b2df">SVF::BVDataPTAImpl</a>.</p>
701
701
 
702
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00063">63</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
703
- <div class="fragment"><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; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n1 = <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(v1);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n2 = <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(v2);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLAlias.html#a0575c3badff6a158a6043e3e940af507">alias</a>(n1,n2);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
702
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00065">65</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
703
+ <div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n1 = <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(v1);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n2 = <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(v2);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLAlias.html#a0575c3badff6a158a6043e3e940af507">alias</a>(n1,n2);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
704
704
  <div class="ttc" id="classSVF_1_1IRGraph_html_abffddd41cc308b9b3bd5ad4a7f8f1624"><div class="ttname"><a href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00124">IRGraph.h:124</a></div></div>
705
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00141">CFLAlias.h:141</a></div></div>
706
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0575c3badff6a158a6043e3e940af507"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0575c3badff6a158a6043e3e940af507">SVF::CFLAlias::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *v1, const Value *v2)</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00063">CFLAlias.h:63</a></div></div>
705
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
706
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0575c3badff6a158a6043e3e940af507"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0575c3badff6a158a6043e3e940af507">SVF::CFLAlias::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *v1, const Value *v2)</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00065">CFLAlias.h:65</a></div></div>
707
707
  </div><!-- fragment -->
708
708
  </div>
709
709
  </div>
@@ -745,10 +745,10 @@ Additional Inherited Members</h2></td></tr>
745
745
 
746
746
  <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a949533e5c99698c7f9862aae5de23687">SVF::BVDataPTAImpl</a>.</p>
747
747
 
748
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00071">71</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
749
- <div class="fragment"><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="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">hasEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node1), <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node2), <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a0723f25be2a163b21f478cddca5293d2">startKind</a>))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLGraph_html_aca4c22dd10f65bcde5dadb7688544b50"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">SVF::CFLGraph::hasEdge</a></div><div class="ttdeci">virtual const CFLEdge * hasEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00060">CFLGraph.cpp:60</a></div></div>
748
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00073">73</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
749
+ <div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">hasEdge</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node1), <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node2), <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a0723f25be2a163b21f478cddca5293d2">startKind</a>))</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLGraph_html_aca4c22dd10f65bcde5dadb7688544b50"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#aca4c22dd10f65bcde5dadb7688544b50">SVF::CFLGraph::hasEdge</a></div><div class="ttdeci">virtual const CFLEdge * hasEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00060">CFLGraph.cpp:60</a></div></div>
750
750
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">SVF::MayAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00199">SVFBasicTypes.h:199</a></div></div>
751
- <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
751
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
752
752
  <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#l00391">GenericGraph.h:391</a></div></div>
753
753
  <div class="ttc" id="classSVF_1_1CFLGraph_html_a0723f25be2a163b21f478cddca5293d2"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a0723f25be2a163b21f478cddca5293d2">SVF::CFLGraph::startKind</a></div><div class="ttdeci">Kind startKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00092">CFLGraph.h:92</a></div></div>
754
754
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00198">SVFBasicTypes.h:198</a></div></div>
@@ -783,19 +783,20 @@ Additional Inherited Members</h2></td></tr>
783
783
  <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6">SVF::PointerAnalysis</a>.</p>
784
784
 
785
785
  <p class="definition">Definition at line <a class="el" href="CFLAlias_8cpp_source.html#l00198">198</a> of file <a class="el" href="CFLAlias_8cpp_source.html">CFLAlias.cpp</a>.</p>
786
- <div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1GrammarBuilder.html">GrammarBuilder</a> grammarBuilder = <a class="code" href="classSVF_1_1GrammarBuilder.html">GrammarBuilder</a>(<a class="code" href="classSVF_1_1Options.html#aa929e2ae2c0a78181c3a1311bfe73596">Options::GrammarFilename</a>);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1CFGNormalizer.html">CFGNormalizer</a> normalizer = <a class="code" href="classSVF_1_1CFGNormalizer.html">CFGNormalizer</a>();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a> cflGraphBuilder = <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a>();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1CFLGramGraphChecker.html">CFLGramGraphChecker</a> cflChecker = <a class="code" href="classSVF_1_1CFLGramGraphChecker.html">CFLGramGraphChecker</a>();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty())</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">PointerAnalysis::initialize</a>();</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammarBase = grammarBuilder.<a class="code" href="classSVF_1_1GrammarBuilder.html#a23d03b2cd348d85bda1ee582dded6505">build</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *consCG = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">buildBigraph</a>(consCG, grammarBase-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>(), grammarBase);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">delete</span> consCG;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammarBase = grammarBuilder.<a class="code" href="classSVF_1_1GrammarBuilder.html#a23d03b2cd348d85bda1ee582dded6505">build</a>();</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">buildFromDot</a>(<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>, grammarBase);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>, <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1CFLAlias.html#a9637bcb592d250b5556b242d2ffc88fa">updateCallGraph</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>()))</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a0beb2da0f9ab691c0b7729bb42f8354c">Options::PrintCFL</a> == <span class="keyword">true</span>)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> svfirName = <a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.c_str();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a1cb32461439c4dc8d044c2bfadb11307">dump</a>(svfirName.append(<span class="stringliteral">&quot;_IR&quot;</span>));</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> grammarName = <a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.c_str();</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#aa663563ea03e11371d67ff4673e98a54">dump</a>(grammarName.append(<span class="stringliteral">&quot;_Grammar&quot;</span>));</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> CFLGraphFileName = <a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.c_str();</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#ab32869931e46babcfaa6791efe2ba91e">dump</a>(CFLGraphFileName.append(<span class="stringliteral">&quot;_CFL&quot;</span>));</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty())</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLGramGraphChecker_html_ada643d980c2590711660eb5f2a4e5f93"><div class="ttname"><a href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">SVF::CFLGramGraphChecker::check</a></div><div class="ttdeci">void check(GrammarBase *grammar, CFLGraphBuilder *graphBuilder, CFLGraph *graph)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGramGraphChecker_8h_source.html#l00038">CFLGramGraphChecker.h:38</a></div></div>
786
+ <div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1GrammarBuilder.html">GrammarBuilder</a> grammarBuilder = <a class="code" href="classSVF_1_1GrammarBuilder.html">GrammarBuilder</a>(<a class="code" href="classSVF_1_1Options.html#aa929e2ae2c0a78181c3a1311bfe73596">Options::GrammarFilename</a>);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1CFGNormalizer.html">CFGNormalizer</a> normalizer = <a class="code" href="classSVF_1_1CFGNormalizer.html">CFGNormalizer</a>();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a> cflGraphBuilder = <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a>();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1CFLGramGraphChecker.html">CFLGramGraphChecker</a> cflChecker = <a class="code" href="classSVF_1_1CFLGramGraphChecker.html">CFLGramGraphChecker</a>();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty())</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">PointerAnalysis::initialize</a>();</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammarBase = grammarBuilder.<a class="code" href="classSVF_1_1GrammarBuilder.html#a23d03b2cd348d85bda1ee582dded6505">build</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *consCG = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a7d566af0280a0c2457947fd426c81c81">Options::PEGTransfer</a>)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ac74b55198d73acebb9843fd13c1fd880">buildBiPEGgraph</a>(consCG, grammarBase-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>(), grammarBase, <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">buildBigraph</a>(consCG, grammarBase-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>(), grammarBase);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">delete</span> consCG;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammarBase = grammarBuilder.<a class="code" href="classSVF_1_1GrammarBuilder.html#a23d03b2cd348d85bda1ee582dded6505">build</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">buildFromDot</a>(<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>, grammarBase);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>(<a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>, <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>();</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1CFLAlias.html#a9637bcb592d250b5556b242d2ffc88fa">updateCallGraph</a>(<a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>()))</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a0beb2da0f9ab691c0b7729bb42f8354c">Options::PrintCFL</a> == <span class="keyword">true</span>)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a1cb32461439c4dc8d044c2bfadb11307">dump</a>(<span class="stringliteral">&quot;IR&quot;</span>);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#aa663563ea03e11371d67ff4673e98a54">dump</a>(<span class="stringliteral">&quot;Grammar&quot;</span>);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#ab32869931e46babcfaa6791efe2ba91e">dump</a>(<span class="stringliteral">&quot;CFLGraph&quot;</span>);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty())</div><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; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLGramGraphChecker_html_ada643d980c2590711660eb5f2a4e5f93"><div class="ttname"><a href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">SVF::CFLGramGraphChecker::check</a></div><div class="ttdeci">void check(GrammarBase *grammar, CFLGraphBuilder *graphBuilder, CFLGraph *graph)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGramGraphChecker_8h_source.html#l00038">CFLGramGraphChecker.h:38</a></div></div>
787
787
  <div class="ttc" id="classSVF_1_1CFLGramGraphChecker_html"><div class="ttname"><a href="classSVF_1_1CFLGramGraphChecker.html">SVF::CFLGramGraphChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGramGraphChecker_8h_source.html#l00035">CFLGramGraphChecker.h:35</a></div></div>
788
788
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html">SVF::ConstraintGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00044">ConsG.h:44</a></div></div>
789
789
  <div class="ttc" id="classSVF_1_1AliasCFLGraphBuilder_html_ab19243c4aceffce7b257f3d8cb3050fd"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">SVF::AliasCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdoc">Build Bidirectional graph by copying nodes and edges from const graph inherited from GenericGraph...</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00162">CFLGraphBuilder.cpp:162</a></div></div>
790
790
  <div class="ttc" id="classSVF_1_1IRGraph_html_a1cb32461439c4dc8d044c2bfadb11307"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a1cb32461439c4dc8d044c2bfadb11307">SVF::IRGraph::dump</a></div><div class="ttdeci">void dump(std::string name)</div><div class="ttdoc">Dump SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8cpp_source.html#l00102">IRGraph.cpp:102</a></div></div>
791
- <div class="ttc" id="classSVF_1_1AliasCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html">SVF::AliasCFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00143">CFLGraphBuilder.h:143</a></div></div>
791
+ <div class="ttc" id="classSVF_1_1AliasCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html">SVF::AliasCFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00149">CFLGraphBuilder.h:149</a></div></div>
792
792
  <div class="ttc" id="classSVF_1_1GrammarBuilder_html"><div class="ttname"><a href="classSVF_1_1GrammarBuilder.html">SVF::GrammarBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="GrammarBuilder_8h_source.html#l00070">GrammarBuilder.h:70</a></div></div>
793
793
  <div class="ttc" id="classSVF_1_1CFLSolver_html"><div class="ttname"><a href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00038">CFLSolver.h:38</a></div></div>
794
- <div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
794
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00146">CFLAlias.h:146</a></div></div>
795
+ <div class="ttc" id="classSVF_1_1Options_html_a7d566af0280a0c2457947fd426c81c81"><div class="ttname"><a href="classSVF_1_1Options.html#a7d566af0280a0c2457947fd426c81c81">SVF::Options::PEGTransfer</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PEGTransfer</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00256">Options.h:256</a></div></div>
795
796
  <div class="ttc" id="classSVF_1_1CFGNormalizer_html_ae8e2b22944e9d3d2ec14cd6aaa8b93c9"><div class="ttname"><a href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">SVF::CFGNormalizer::normalize</a></div><div class="ttdeci">CFLGrammar * normalize(GrammarBase *generalGrammar)</div><div class="ttdoc">Binary Normal Form(BNF) normalization with variable attribute expanded. </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8cpp_source.html#l00042">CFGNormalizer.cpp:42</a></div></div>
796
797
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a8921a7d7a006e31f13d88b8c808c931b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">SVF::GrammarBase::getStartKind</a></div><div class="ttdeci">Kind getStartKind()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00195">CFLGrammar.h:195</a></div></div>
797
798
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00192">PointerAnalysis.cpp:192</a></div></div>
798
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a31ffa49b8e0995b6ee9b8a1f5ecab7be"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">SVF::CFLAlias::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
799
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a31ffa49b8e0995b6ee9b8a1f5ecab7be"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a31ffa49b8e0995b6ee9b8a1f5ecab7be">SVF::CFLAlias::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00145">CFLAlias.h:145</a></div></div>
799
800
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_aa663563ea03e11371d67ff4673e98a54"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#aa663563ea03e11371d67ff4673e98a54">SVF::CFLGrammar::dump</a></div><div class="ttdeci">void dump() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00281">CFLGrammar.cpp:281</a></div></div>
800
801
  <div class="ttc" id="classSVF_1_1CFLGraph_html_ab32869931e46babcfaa6791efe2ba91e"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#ab32869931e46babcfaa6791efe2ba91e">SVF::CFLGraph::dump</a></div><div class="ttdeci">void dump(const std::string &amp;filename)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00070">CFLGraph.cpp:70</a></div></div>
801
802
  <div class="ttc" id="classSVF_1_1CFLAlias_html_a9637bcb592d250b5556b242d2ffc88fa"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a9637bcb592d250b5556b242d2ffc88fa">SVF::CFLAlias::updateCallGraph</a></div><div class="ttdeci">virtual bool updateCallGraph(const CallSiteToFunPtrMap &amp;callsites)</div><div class="ttdoc">Update call graph for the input indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8cpp_source.html#l00175">CFLAlias.cpp:175</a></div></div>
@@ -803,15 +804,15 @@ Additional Inherited Members</h2></td></tr>
803
804
  <div class="ttc" id="classSVF_1_1Options_html_a87b63f1f8f4f65cdf6647f9f056ffc53"><div class="ttname"><a href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">SVF::Options::CFLGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std::string &gt; CFLGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00253">Options.h:253</a></div></div>
804
805
  <div class="ttc" id="classSVF_1_1Options_html_a0beb2da0f9ab691c0b7729bb42f8354c"><div class="ttname"><a href="classSVF_1_1Options.html#a0beb2da0f9ab691c0b7729bb42f8354c">SVF::Options::PrintCFL</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintCFL</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00254">Options.h:254</a></div></div>
805
806
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_a6c9fa25204550dc5bea1cae52a61472b"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">SVF::CFLGraphBuilder::buildFromDot</a></div><div class="ttdeci">CFLGraph * buildFromDot(std::string filename, GrammarBase *grammar)</div><div class="ttdoc">Build graph from Dot. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00059">CFLGraphBuilder.cpp:59</a></div></div>
806
- <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
807
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
807
808
  <div class="ttc" id="classSVF_1_1GrammarBase_html"><div class="ttname"><a href="classSVF_1_1GrammarBase.html">SVF::GrammarBase</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00036">CFLGrammar.h:36</a></div></div>
808
809
  <div class="ttc" id="classSVF_1_1Options_html_aa929e2ae2c0a78181c3a1311bfe73596"><div class="ttname"><a href="classSVF_1_1Options.html#aa929e2ae2c0a78181c3a1311bfe73596">SVF::Options::GrammarFilename</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std::string &gt; GrammarFilename</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00252">Options.h:252</a></div></div>
809
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00141">CFLAlias.h:141</a></div></div>
810
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
810
811
  <div class="ttc" id="classSVF_1_1CFLSolver_html_a2ee3436c26ebdb2aaf790c25b1d8b5a6"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">SVF::CFLSolver::solve</a></div><div class="ttdeci">void solve()</div><div class="ttdoc">Start solving. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8cpp_source.html#l00034">CFLSolver.cpp:34</a></div></div>
811
812
  <div class="ttc" id="classSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap &amp; getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00299">SVFIR.h:299</a></div></div>
812
- <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
813
+ <div class="ttc" id="classSVF_1_1AliasCFLGraphBuilder_html_ac74b55198d73acebb9843fd13c1fd880"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ac74b55198d73acebb9843fd13c1fd880">SVF::AliasCFLGraphBuilder::buildBiPEGgraph</a></div><div class="ttdeci">CFLGraph * buildBiPEGgraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar, SVFIR *pag)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00225">CFLGraphBuilder.cpp:225</a></div></div>
813
814
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a431ec4f85eb0f029e5740b92fd9ceb32"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">SVF::PointerAnalysis::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialization of a pointer analysis, including building symbol table and SVFIR etc. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00111">PointerAnalysis.cpp:111</a></div></div>
814
- <div class="ttc" id="classSVF_1_1GrammarBuilder_html_a23d03b2cd348d85bda1ee582dded6505"><div class="ttname"><a href="classSVF_1_1GrammarBuilder.html#a23d03b2cd348d85bda1ee582dded6505">SVF::GrammarBuilder::build</a></div><div class="ttdeci">GrammarBase * build() const</div><div class="ttdoc">Build grammarBase from fileName. </div><div class="ttdef"><b>Definition:</b> <a href="GrammarBuilder_8cpp_source.html#l00106">GrammarBuilder.cpp:106</a></div></div>
815
+ <div class="ttc" id="classSVF_1_1GrammarBuilder_html_a23d03b2cd348d85bda1ee582dded6505"><div class="ttname"><a href="classSVF_1_1GrammarBuilder.html#a23d03b2cd348d85bda1ee582dded6505">SVF::GrammarBuilder::build</a></div><div class="ttdeci">GrammarBase * build() const</div><div class="ttdoc">Build grammarBase from fileName. </div><div class="ttdef"><b>Definition:</b> <a href="GrammarBuilder_8cpp_source.html#l00110">GrammarBuilder.cpp:110</a></div></div>
815
816
  </div><!-- fragment -->
816
817
  </div>
817
818
  </div>
@@ -871,11 +872,11 @@ Additional Inherited Members</h2></td></tr>
871
872
  <div class="ttc" id="classSVF_1_1SVFIR_html_a34e27b8bcfeaafda190dcdb9169a346f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a34e27b8bcfeaafda190dcdb9169a346f">SVF::SVFIR::getFunRet</a></div><div class="ttdeci">const SVFVar * getFunRet(const SVFFunction *func) const</div><div class="ttdoc">Get function return list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00270">SVFIR.h:270</a></div></div>
872
873
  <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#l00169">GenericGraph.h:169</a></div></div>
873
874
  <div class="ttc" id="SVFBasicTypes_8h_html_a7a295e02c56a93cf9206dd9d3b18dd17"><div class="ttname"><a href="SVFBasicTypes_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a></div><div class="ttdeci">#define DPAGBuild</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00162">SVFBasicTypes.h:162</a></div></div>
874
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00141">CFLAlias.h:141</a></div></div>
875
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
875
876
  <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00178">BasicTypes.h:178</a></div></div>
876
877
  <div class="ttc" id="classSVF_1_1SVFIR_html_a3145677c7a3763fc0d6aa7e21b264ab6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetICFGNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00254">SVFIR.h:254</a></div></div>
877
878
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
878
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a1fb9134ce0a8e901bb86c4a1954b17f2"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a1fb9134ce0a8e901bb86c4a1954b17f2">SVF::CFLAlias::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Need Original one for virtual table. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00107">CFLAlias.h:107</a></div></div>
879
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a1fb9134ce0a8e901bb86c4a1954b17f2"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a1fb9134ce0a8e901bb86c4a1954b17f2">SVF::CFLAlias::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Need Original one for virtual table. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00109">CFLAlias.h:109</a></div></div>
879
880
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00155">SVFBasicTypes.h:155</a></div></div>
880
881
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa79dba26cb34b40eee682713db299d5f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa79dba26cb34b40eee682713db299d5f">SVF::SVFIR::callsiteHasRet</a></div><div class="ttdeci">bool callsiteHasRet(const RetICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00260">SVFIR.h:260</a></div></div>
881
882
  </div><!-- fragment -->
@@ -908,13 +909,13 @@ Additional Inherited Members</h2></td></tr>
908
909
  <p>Get points-to targets of a pointer. V In this context. </p>
909
910
  <p>Check V Dst of ptr. </p>
910
911
 
911
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00080">80</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
912
- <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; CFLNode *funNode = <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(ptr);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> outedge = funNode-&gt;getOutEdges().begin(); outedge!=funNode-&gt;getOutEdges().end(); outedge++)</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; <span class="keywordflow">if</span>((*outedge)-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a685fb852b2cd3767258225aa3b87caa4">getStartKind</a>())</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">// Need to Find dst addr src</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; CFLNode *vNode = <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>((*outedge)-&gt;getDstID());</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(ptr, <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5298f34143ec3a2e6bb74ebad668cbbc">getBaseValVar</a>((*outedge)-&gt;getDstID()));</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> inEdge = vNode-&gt;getInEdges().begin(); inEdge!=vNode-&gt;getInEdges().end(); inEdge++)</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; <span class="keywordflow">if</span>((*inEdge)-&gt;getEdgeKind() == 0)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(ptr, (*inEdge)-&gt;getSrcID());</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; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ptr);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a5298f34143ec3a2e6bb74ebad668cbbc"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5298f34143ec3a2e6bb74ebad668cbbc">SVF::SVFIR::getBaseValVar</a></div><div class="ttdeci">NodeID getBaseValVar(NodeID nodeId)</div><div class="ttdoc">Base and Offset methods for Value and Object node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00521">SVFIR.cpp:521</a></div></div>
912
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00082">82</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
913
+ <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; CFLNode *funNode = <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(ptr);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> outedge = funNode-&gt;getOutEdges().begin(); outedge!=funNode-&gt;getOutEdges().end(); outedge++)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span>((*outedge)-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a685fb852b2cd3767258225aa3b87caa4">getStartKind</a>())</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// Need to Find dst addr src</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; CFLNode *vNode = <a class="code" href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>((*outedge)-&gt;getDstID());</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(ptr, <a class="code" href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5298f34143ec3a2e6bb74ebad668cbbc">getBaseValVar</a>((*outedge)-&gt;getDstID()));</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> inEdge = vNode-&gt;getInEdges().begin(); inEdge!=vNode-&gt;getInEdges().end(); inEdge++)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span>((*inEdge)-&gt;getEdgeKind() == 0)</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; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(ptr, (*inEdge)-&gt;getSrcID());</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</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; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ptr);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a5298f34143ec3a2e6bb74ebad668cbbc"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5298f34143ec3a2e6bb74ebad668cbbc">SVF::SVFIR::getBaseValVar</a></div><div class="ttdeci">NodeID getBaseValVar(NodeID nodeId)</div><div class="ttdoc">Base and Offset methods for Value and Object node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00521">SVFIR.cpp:521</a></div></div>
913
914
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_af68485a2208553579f9c2e4b2cb20cff"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">SVF::BVDataPTAImpl::addPts</a></div><div class="ttdeci">virtual bool addPts(NodeID id, NodeID ptd)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00132">PointerAnalysisImpl.h:132</a></div></div>
914
915
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
915
- <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
916
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
916
917
  <div class="ttc" id="classSVF_1_1CFLGraph_html_a685fb852b2cd3767258225aa3b87caa4"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a685fb852b2cd3767258225aa3b87caa4">SVF::CFLGraph::getStartKind</a></div><div class="ttdeci">Kind getStartKind() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00037">CFLGraph.cpp:37</a></div></div>
917
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00141">CFLAlias.h:141</a></div></div>
918
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
918
919
  <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#l00391">GenericGraph.h:391</a></div></div>
919
920
  </div><!-- fragment -->
920
921
  </div>
@@ -948,8 +949,8 @@ Additional Inherited Members</h2></td></tr>
948
949
 
949
950
  <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a58113943e4e7144d94d26991dcc8bcc7">SVF::BVDataPTAImpl</a>.</p>
950
951
 
951
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00123">123</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
952
- <div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; abort(); <span class="comment">// to be implemented</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div></div><!-- fragment -->
952
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00125">125</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
953
+ <div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; abort(); <span class="comment">// to be implemented</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div></div><!-- fragment -->
953
954
  </div>
954
955
  </div>
955
956
  <a id="a40841c2b47cf690af5c13ba7662d0863"></a>
@@ -979,14 +980,14 @@ Additional Inherited Members</h2></td></tr>
979
980
  <div class="ttc" id="classSVF_1_1CFLNode_html"><div class="ttname"><a href="classSVF_1_1CFLNode.html">SVF::CFLNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00074">CFLGraph.h:74</a></div></div>
980
981
  <div class="ttc" id="classSVF_1_1SVFIR_html_a905b16c9fe739c4e95902b2729951b5b"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a905b16c9fe739c4e95902b2729951b5b">SVF::SVFIR::addDummyObjNode</a></div><div class="ttdeci">NodeID addDummyObjNode(const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00429">SVFIR.h:429</a></div></div>
981
982
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00281">SVFUtil.h:281</a></div></div>
982
- <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
983
- <div class="ttc" id="classSVF_1_1CFLAlias_html_ae879c990852862e5ed4e4e7da76dda05"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#ae879c990852862e5ed4e4e7da76dda05">SVF::CFLAlias::callsite2DummyValPN</a></div><div class="ttdeci">CallSite2DummyValPN callsite2DummyValPN</div><div class="ttdoc">Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocat...</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00140">CFLAlias.h:140</a></div></div>
983
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_abd4d8eb59209a1f1cedebcf41117914b"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abd4d8eb59209a1f1cedebcf41117914b">SVF::CFLAlias::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
984
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_ae879c990852862e5ed4e4e7da76dda05"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#ae879c990852862e5ed4e4e7da76dda05">SVF::CFLAlias::callsite2DummyValPN</a></div><div class="ttdeci">CallSite2DummyValPN callsite2DummyValPN</div><div class="ttdoc">Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocat...</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00142">CFLAlias.h:142</a></div></div>
984
985
  <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#l00169">GenericGraph.h:169</a></div></div>
985
986
  <div class="ttc" id="classSVF_1_1CallSite_html_a9b7d53a345875e4e6c72eb23ac6475de"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">SVF::CallSite::getType</a></div><div class="ttdeci">Type * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00268">BasicTypes.h:268</a></div></div>
986
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00141">CFLAlias.h:141</a></div></div>
987
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a0bf4ce7e4fb3d1d95608c06420cc65dc"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a0bf4ce7e4fb3d1d95608c06420cc65dc">SVF::CFLAlias::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00143">CFLAlias.h:143</a></div></div>
987
988
  <div class="ttc" id="classSVF_1_1SVFIR_html_a3145677c7a3763fc0d6aa7e21b264ab6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetICFGNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00254">SVFIR.h:254</a></div></div>
988
989
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
989
- <div class="ttc" id="classSVF_1_1CFLAlias_html_a1fb9134ce0a8e901bb86c4a1954b17f2"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a1fb9134ce0a8e901bb86c4a1954b17f2">SVF::CFLAlias::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Need Original one for virtual table. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00107">CFLAlias.h:107</a></div></div>
990
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_a1fb9134ce0a8e901bb86c4a1954b17f2"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a1fb9134ce0a8e901bb86c4a1954b17f2">SVF::CFLAlias::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Need Original one for virtual table. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00109">CFLAlias.h:109</a></div></div>
990
991
  </div><!-- fragment -->
991
992
  </div>
992
993
  </div>
@@ -1031,7 +1032,7 @@ Additional Inherited Members</h2></td></tr>
1031
1032
 
1032
1033
  <p class="definition">Definition at line <a class="el" href="CFLAlias_8cpp_source.html#l00042">42</a> of file <a class="el" href="CFLAlias_8cpp_source.html">CFLAlias.cpp</a>.</p>
1033
1034
  <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</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="l00045"></a><span class="lineno"> 45</span>&#160; {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</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="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">isVirtualCallSite</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>())))</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</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>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()));</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; assert(<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="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vtblId = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(vtbl);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">resolveCPPIndCalls</a>(cs, <a class="code" href="classSVF_1_1CFLAlias.html#acbbacca91cb85f67523aa8f84f6fe629">getCFLPts</a>(vtblId), newEdges);</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">resolveIndCalls</a>(iter-&gt;first,<a class="code" href="classSVF_1_1CFLAlias.html#acbbacca91cb85f67523aa8f84f6fe629">getCFLPts</a>(iter-&gt;second),newEdges);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8d128246f86f28fdf4981d91169ab440"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">SVF::PointerAnalysis::resolveIndCalls</a></div><div class="ttdeci">virtual void resolveIndCalls(const CallICFGNode *cs, const PointsTo &amp;target, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">Resolve indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00399">PointerAnalysis.cpp:399</a></div></div>
1034
- <div class="ttc" id="classSVF_1_1CFLAlias_html_acbbacca91cb85f67523aa8f84f6fe629"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#acbbacca91cb85f67523aa8f84f6fe629">SVF::CFLAlias::getCFLPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getCFLPts(NodeID ptr)</div><div class="ttdoc">Get points-to targets of a pointer. V In this context. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00080">CFLAlias.h:80</a></div></div>
1035
+ <div class="ttc" id="classSVF_1_1CFLAlias_html_acbbacca91cb85f67523aa8f84f6fe629"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#acbbacca91cb85f67523aa8f84f6fe629">SVF::CFLAlias::getCFLPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getCFLPts(NodeID ptr)</div><div class="ttdoc">Get points-to targets of a pointer. V In this context. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00082">CFLAlias.h:82</a></div></div>
1035
1036
  <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#l00260">CPPUtil.cpp:260</a></div></div>
1036
1037
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1037
1038
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac04b64a5884710508b304f93da88c7ba"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">SVF::PointerAnalysis::resolveCPPIndCalls</a></div><div class="ttdeci">virtual void resolveCPPIndCalls(const CallICFGNode *cs, const PointsTo &amp;target, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">Resolve cpp indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00515">PointerAnalysis.cpp:515</a></div></div>
@@ -1076,7 +1077,7 @@ Additional Inherited Members</h2></td></tr>
1076
1077
  <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#aa534e475fa34fa322c567bc376a3da70">SVF::BVDataPTAImpl</a>.</p>
1077
1078
 
1078
1079
  <p class="definition">Definition at line <a class="el" href="CFLAlias_8cpp_source.html#l00175">175</a> of file <a class="el" href="CFLAlias_8cpp_source.html">CFLAlias.cpp</a>.</p>
1079
- <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// double cgUpdateStart = stat-&gt;getClk();</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> newEdges;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a25b38896aef06dad19532f7678291b37">onTheFlyCallGraphSolve</a>(callsites,newEdges);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">for</span>(CallEdgeMap::iterator it = newEdges.begin(), eit = newEdges.end(); it!=eit; ++it )</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</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>(it-&gt;first-&gt;getCallSite());</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">for</span>(FunctionSet::iterator cit = it-&gt;second.begin(), ecit = it-&gt;second.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; std::cout &lt;&lt; cs.<a class="code" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">arg_size</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abfab36c0d5edbdfb94e617bed61ba875">connectCaller2CalleeParams</a>(cs,*cit);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// double cgUpdateEnd = stat-&gt;getClk();</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">//timeOfUpdateCallGraph += (cgUpdateEnd - cgUpdateStart) / TIMEINTERVAL;</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> (!<a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">isWorklistEmpty</a>());</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00144">CFLAlias.h:144</a></div></div>
1080
+ <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// double cgUpdateStart = stat-&gt;getClk();</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> newEdges;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#a25b38896aef06dad19532f7678291b37">onTheFlyCallGraphSolve</a>(callsites,newEdges);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">for</span>(CallEdgeMap::iterator it = newEdges.begin(), eit = newEdges.end(); it!=eit; ++it )</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</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>(it-&gt;first-&gt;getCallSite());</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">for</span>(FunctionSet::iterator cit = it-&gt;second.begin(), ecit = it-&gt;second.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; std::cout &lt;&lt; cs.<a class="code" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">arg_size</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html#abfab36c0d5edbdfb94e617bed61ba875">connectCaller2CalleeParams</a>(cs,*cit);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// double cgUpdateEnd = stat-&gt;getClk();</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">//timeOfUpdateCallGraph += (cgUpdateEnd - cgUpdateStart) / TIMEINTERVAL;</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> (!<a class="code" href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">isWorklistEmpty</a>());</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLAlias_html_aa61c3683c9b759b6eca65b1f88e00b35"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35">SVF::CFLAlias::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00146">CFLAlias.h:146</a></div></div>
1080
1081
  <div class="ttc" id="classSVF_1_1CFLAlias_html_a25b38896aef06dad19532f7678291b37"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#a25b38896aef06dad19532f7678291b37">SVF::CFLAlias::onTheFlyCallGraphSolve</a></div><div class="ttdeci">virtual void onTheFlyCallGraphSolve(const CallSiteToFunPtrMap &amp;callsites, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">On the fly call graph construction. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8cpp_source.html#l00042">CFLAlias.cpp:42</a></div></div>
1081
1082
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a35bd5f0fb2c146199e9f1aa6a19b4062"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap&lt; const CallICFGNode *, FunctionSet &gt; CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00106">PointerAnalysis.h:106</a></div></div>
1082
1083
  <div class="ttc" id="classSVF_1_1CFLAlias_html_abfab36c0d5edbdfb94e617bed61ba875"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#abfab36c0d5edbdfb94e617bed61ba875">SVF::CFLAlias::connectCaller2CalleeParams</a></div><div class="ttdeci">void connectCaller2CalleeParams(CallSite cs, const SVFFunction *F)</div><div class="ttdoc">Connect formal and actual parameters for indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8cpp_source.html#l00064">CFLAlias.cpp:64</a></div></div>
@@ -1110,7 +1111,7 @@ Additional Inherited Members</h2></td></tr>
1110
1111
 
1111
1112
  <p>Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocator. </p>
1112
1113
 
1113
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00140">140</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1114
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00142">142</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1114
1115
 
1115
1116
  </div>
1116
1117
  </div>
@@ -1134,7 +1135,7 @@ Additional Inherited Members</h2></td></tr>
1134
1135
  </table>
1135
1136
  </div><div class="memdoc">
1136
1137
 
1137
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00143">143</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1138
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00145">145</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1138
1139
 
1139
1140
  </div>
1140
1141
  </div>
@@ -1158,7 +1159,7 @@ Additional Inherited Members</h2></td></tr>
1158
1159
  </table>
1159
1160
  </div><div class="memdoc">
1160
1161
 
1161
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00142">142</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1162
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00144">144</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1162
1163
 
1163
1164
  </div>
1164
1165
  </div>
@@ -1182,7 +1183,7 @@ Additional Inherited Members</h2></td></tr>
1182
1183
  </table>
1183
1184
  </div><div class="memdoc">
1184
1185
 
1185
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00144">144</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1186
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00146">146</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1186
1187
 
1187
1188
  </div>
1188
1189
  </div>
@@ -1206,7 +1207,7 @@ Additional Inherited Members</h2></td></tr>
1206
1207
  </table>
1207
1208
  </div><div class="memdoc">
1208
1209
 
1209
- <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00141">141</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1210
+ <p class="definition">Definition at line <a class="el" href="CFLAlias_8h_source.html#l00143">143</a> of file <a class="el" href="CFLAlias_8h_source.html">CFLAlias.h</a>.</p>
1210
1211
 
1211
1212
  </div>
1212
1213
  </div>