svf-tools 1.0.577 → 1.0.578

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 (153) hide show
  1. package/SVF-doxygen/html/html/CFLAlias_8cpp.html +0 -1
  2. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +18 -25
  3. package/SVF-doxygen/html/html/CFLAlias_8h.html +1 -8
  4. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +23 -49
  5. package/SVF-doxygen/html/html/CFLBase_8h.html +103 -0
  6. package/SVF-doxygen/html/html/CFLBase_8h_source.html +124 -0
  7. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +5 -4
  9. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +24 -19
  10. package/SVF-doxygen/html/html/CFLStat_8h.html +1 -0
  11. package/SVF-doxygen/html/html/CFLStat_8h_source.html +22 -21
  12. package/SVF-doxygen/html/html/CFLVF_8cpp.html +0 -2
  13. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +5 -8
  14. package/SVF-doxygen/html/html/CFLVF_8h.html +3 -8
  15. package/SVF-doxygen/html/html/CFLVF_8h_source.html +12 -26
  16. package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  19. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
  22. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  34. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/annotated.html +271 -270
  39. package/SVF-doxygen/html/html/cfl_8cpp.html +6 -9
  40. package/SVF-doxygen/html/html/cfl_8cpp_source.html +6 -8
  41. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -8
  42. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  43. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +75 -71
  44. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +239 -679
  45. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
  46. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +275 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +1341 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
  49. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +21 -20
  50. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +33 -3
  51. package/SVF-doxygen/html/html/classSVF_1_1CFLStat-members.html +2 -2
  52. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +58 -58
  53. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +91 -72
  54. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +243 -274
  55. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.png +0 -0
  56. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  57. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  58. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +21 -20
  59. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  60. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +12 -11
  61. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  62. package/SVF-doxygen/html/html/classes.html +96 -95
  63. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +2 -0
  65. package/SVF-doxygen/html/html/files.html +8 -7
  66. package/SVF-doxygen/html/html/functions_0x7e.html +2 -5
  67. package/SVF-doxygen/html/html/functions_a.html +10 -9
  68. package/SVF-doxygen/html/html/functions_c.html +28 -28
  69. package/SVF-doxygen/html/html/functions_f.html +17 -16
  70. package/SVF-doxygen/html/html/functions_func.html +6 -5
  71. package/SVF-doxygen/html/html/functions_func_0x7e.html +2 -5
  72. package/SVF-doxygen/html/html/functions_func_c.html +29 -21
  73. package/SVF-doxygen/html/html/functions_func_f.html +4 -1
  74. package/SVF-doxygen/html/html/functions_func_g.html +14 -11
  75. package/SVF-doxygen/html/html/functions_func_i.html +10 -7
  76. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  77. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  78. package/SVF-doxygen/html/html/functions_g.html +18 -17
  79. package/SVF-doxygen/html/html/functions_i.html +10 -7
  80. package/SVF-doxygen/html/html/functions_l.html +6 -6
  81. package/SVF-doxygen/html/html/functions_m.html +2 -2
  82. package/SVF-doxygen/html/html/functions_n.html +14 -11
  83. package/SVF-doxygen/html/html/functions_o.html +15 -15
  84. package/SVF-doxygen/html/html/functions_p.html +19 -15
  85. package/SVF-doxygen/html/html/functions_r.html +3 -7
  86. package/SVF-doxygen/html/html/functions_s.html +16 -16
  87. package/SVF-doxygen/html/html/functions_t.html +9 -6
  88. package/SVF-doxygen/html/html/functions_type_c.html +0 -1
  89. package/SVF-doxygen/html/html/functions_v.html +6 -6
  90. package/SVF-doxygen/html/html/functions_vars_a.html +1 -1
  91. package/SVF-doxygen/html/html/functions_vars_c.html +0 -1
  92. package/SVF-doxygen/html/html/functions_vars_g.html +2 -4
  93. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  94. package/SVF-doxygen/html/html/functions_vars_n.html +11 -8
  95. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  96. package/SVF-doxygen/html/html/functions_vars_s.html +2 -4
  97. package/SVF-doxygen/html/html/functions_vars_t.html +9 -6
  98. package/SVF-doxygen/html/html/hierarchy.html +58 -57
  99. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
  101. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/search/all_1.js +2 -2
  103. package/SVF-doxygen/html/html/search/all_10.js +11 -11
  104. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  105. package/SVF-doxygen/html/html/search/all_12.js +11 -11
  106. package/SVF-doxygen/html/html/search/all_13.js +9 -8
  107. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  108. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  109. package/SVF-doxygen/html/html/search/all_19.js +1 -2
  110. package/SVF-doxygen/html/html/search/all_3.js +5 -2
  111. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  112. package/SVF-doxygen/html/html/search/all_7.js +4 -3
  113. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  114. package/SVF-doxygen/html/html/search/all_c.js +4 -4
  115. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  116. package/SVF-doxygen/html/html/search/all_e.js +11 -10
  117. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  118. package/SVF-doxygen/html/html/search/classes_2.js +1 -0
  119. package/SVF-doxygen/html/html/search/files_2.js +1 -0
  120. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  121. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  122. package/SVF-doxygen/html/html/search/functions_17.js +1 -2
  123. package/SVF-doxygen/html/html/search/functions_2.js +3 -1
  124. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  125. package/SVF-doxygen/html/html/search/functions_6.js +2 -1
  126. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  127. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  128. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  129. package/SVF-doxygen/html/html/search/variables_1.js +1 -1
  130. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  131. package/SVF-doxygen/html/html/search/variables_12.js +2 -2
  132. package/SVF-doxygen/html/html/search/variables_13.js +9 -8
  133. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  134. package/SVF-doxygen/html/html/search/variables_7.js +2 -2
  135. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  136. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  137. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  138. package/SVF-doxygen/html/html/search/variables_e.js +9 -8
  139. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
  140. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
  141. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
  142. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  143. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  144. package/include/CFL/CFLAlias.h +10 -47
  145. package/include/CFL/CFLBase.h +111 -0
  146. package/include/CFL/CFLStat.h +4 -2
  147. package/include/CFL/CFLVF.h +13 -23
  148. package/include/Graphs/CFLGraph.h +5 -0
  149. package/lib/CFL/CFLAlias.cpp +60 -52
  150. package/lib/CFL/CFLStat.cpp +11 -19
  151. package/lib/CFL/CFLVF.cpp +40 -35
  152. package/package.json +1 -1
  153. package/tools/CFL/cfl.cpp +12 -25
@@ -63,7 +63,6 @@ $(function() {
63
63
  </div><!-- top -->
64
64
  <div class="header">
65
65
  <div class="summary">
66
- <a href="#pub-types">Public Types</a> &#124;
67
66
  <a href="#pub-methods">Public Member Functions</a> &#124;
68
67
  <a href="#pri-attribs">Private Attributes</a> &#124;
69
68
  <a href="classSVF_1_1CFLVF-members.html">List of all members</a> </div>
@@ -79,115 +78,36 @@ Inheritance diagram for SVF::CFLVF:</div>
79
78
  <div class="center">
80
79
  <img src="classSVF_1_1CFLVF.png" usemap="#SVF::CFLVF_map" alt=""/>
81
80
  <map id="SVF::CFLVF_map" name="SVF::CFLVF_map">
81
+ <area href="classSVF_1_1CFLBase.html" alt="SVF::CFLBase" shape="rect" coords="0,112,132,136"/>
82
82
  <area href="classSVF_1_1BVDataPTAImpl.html" alt="SVF::BVDataPTAImpl" shape="rect" coords="0,56,132,80"/>
83
83
  <area href="classSVF_1_1PointerAnalysis.html" alt="SVF::PointerAnalysis" shape="rect" coords="0,0,132,24"/>
84
84
  </map>
85
85
  </div></div>
86
86
  <table class="memberdecls">
87
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
88
- Public Types</h2></td></tr>
89
- <tr class="memitem:a2cb0e830ee529c6debd9c95a8f6299e6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="classSVF_1_1CallSite.html">CallSite</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a2cb0e830ee529c6debd9c95a8f6299e6">CallSite2DummyValPN</a></td></tr>
90
- <tr class="separator:a2cb0e830ee529c6debd9c95a8f6299e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
91
- <tr class="inherit_header pub_types_classSVF_1_1BVDataPTAImpl"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1BVDataPTAImpl')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td></tr>
92
- <tr class="memitem:ad76328a8543b02784992afc2d5501d8a inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8a">PTBackingType</a> { <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8aa1cfb236b5127b660373c36b77a79ab5e">Mutable</a>,
93
- <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8aaeda0ee502cc42a07c64c6f09296b6640">Persistent</a>
94
- }<tr class="memdesc:ad76328a8543b02784992afc2d5501d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">How the <a class="el" href="classSVF_1_1PTData.html">PTData</a> used is implemented. <a href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8a">More...</a><br /></td></tr>
95
- </td></tr>
96
- <tr class="separator:ad76328a8543b02784992afc2d5501d8a inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
- <tr class="memitem:acfdb43f20bbcababc928cc4df93a8483 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PTData.html">PTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a></td></tr>
98
- <tr class="separator:acfdb43f20bbcababc928cc4df93a8483 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
- <tr class="memitem:abd8bb73e9beac5e39667091b1e211bd3 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1DiffPTData.html">DiffPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#abd8bb73e9beac5e39667091b1e211bd3">DiffPTDataTy</a></td></tr>
100
- <tr class="separator:abd8bb73e9beac5e39667091b1e211bd3 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
101
- <tr class="memitem:a5c2288519153467142e74c8dd4e77180 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1DFPTData.html">DFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a5c2288519153467142e74c8dd4e77180">DFPTDataTy</a></td></tr>
102
- <tr class="separator:a5c2288519153467142e74c8dd4e77180 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
- <tr class="memitem:a8bc5e039958280b18e5a00a56e0bdc94 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1VersionedPTData.html">VersionedPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>, <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a8bc5e039958280b18e5a00a56e0bdc94">VersionedPTDataTy</a></td></tr>
104
- <tr class="separator:a8bc5e039958280b18e5a00a56e0bdc94 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
- <tr class="memitem:a533384bd2eb8a1589ba8b7695c759073 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutablePTData.html">MutablePTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a533384bd2eb8a1589ba8b7695c759073">MutPTDataTy</a></td></tr>
106
- <tr class="separator:a533384bd2eb8a1589ba8b7695c759073 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
- <tr class="memitem:ac4e74e6dfee9d08198e0f7e3d76a0646 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableDiffPTData.html">MutableDiffPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ac4e74e6dfee9d08198e0f7e3d76a0646">MutDiffPTDataTy</a></td></tr>
108
- <tr class="separator:ac4e74e6dfee9d08198e0f7e3d76a0646 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
- <tr class="memitem:ac130bf326911b8e5396f57daa78566e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableDFPTData.html">MutableDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ac130bf326911b8e5396f57daa78566e7">MutDFPTDataTy</a></td></tr>
110
- <tr class="separator:ac130bf326911b8e5396f57daa78566e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
- <tr class="memitem:a639446e6bf9712afa439d089b94aefae inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableIncDFPTData.html">MutableIncDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a639446e6bf9712afa439d089b94aefae">MutIncDFPTDataTy</a></td></tr>
112
- <tr class="separator:a639446e6bf9712afa439d089b94aefae inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
- <tr class="memitem:a7fde3e9b189e988cd0a24d567b136e13 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableVersionedPTData.html">MutableVersionedPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>, <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a7fde3e9b189e988cd0a24d567b136e13">MutVersionedPTDataTy</a></td></tr>
114
- <tr class="separator:a7fde3e9b189e988cd0a24d567b136e13 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
- <tr class="memitem:ae3ba6392560e5c0978335151c3373fd1 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentPTData.html">PersistentPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae3ba6392560e5c0978335151c3373fd1">PersPTDataTy</a></td></tr>
116
- <tr class="separator:ae3ba6392560e5c0978335151c3373fd1 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
- <tr class="memitem:a1342c0953d7bb9bf0f6f676bd564350e inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentDiffPTData.html">PersistentDiffPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a1342c0953d7bb9bf0f6f676bd564350e">PersDiffPTDataTy</a></td></tr>
118
- <tr class="separator:a1342c0953d7bb9bf0f6f676bd564350e inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
- <tr class="memitem:a7087f9d5a1a5b3576173bd6a7fd72163 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentDFPTData.html">PersistentDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a7087f9d5a1a5b3576173bd6a7fd72163">PersDFPTDataTy</a></td></tr>
120
- <tr class="separator:a7087f9d5a1a5b3576173bd6a7fd72163 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
- <tr class="memitem:a29172b3e8b3891a5d946a493cfcde2e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentIncDFPTData.html">PersistentIncDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a29172b3e8b3891a5d946a493cfcde2e7">PersIncDFPTDataTy</a></td></tr>
122
- <tr class="separator:a29172b3e8b3891a5d946a493cfcde2e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
- <tr class="memitem:ae028ae29bdc799f35777b82a39faf5e8 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentVersionedPTData.html">PersistentVersionedPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>, <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae028ae29bdc799f35777b82a39faf5e8">PersVersionedPTDataTy</a></td></tr>
124
- <tr class="separator:ae028ae29bdc799f35777b82a39faf5e8 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
- <tr class="inherit_header pub_types_classSVF_1_1PointerAnalysis"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1PointerAnalysis')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td></tr>
126
- <tr class="memitem:a0b182ac680cce0547dbe7714c870ca85 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> { <br />
127
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49">Andersen_BASE</a>,
128
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">Andersen_WPA</a>,
129
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">AndersenSCD_WPA</a>,
130
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">AndersenSFR_WPA</a>,
131
- <br />
132
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">AndersenWaveDiff_WPA</a>,
133
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a>,
134
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09">CSCallString_WPA</a>,
135
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27">CSSummary_WPA</a>,
136
- <br />
137
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322">FSDATAFLOW_WPA</a>,
138
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">FSSPARSE_WPA</a>,
139
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>,
140
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">FSCS_WPA</a>,
141
- <br />
142
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">CFLFICI_WPA</a>,
143
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc">CFLFSCI_WPA</a>,
144
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">CFLFSCS_WPA</a>,
145
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a>,
146
- <br />
147
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">FieldS_DDA</a>,
148
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">FlowS_DDA</a>,
149
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a>,
150
- <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>,
151
- <br />
152
- &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a>
153
- <br />
154
- }<tr class="memdesc:a0b182ac680cce0547dbe7714c870ca85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer analysis type list. <a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">More...</a><br /></td></tr>
155
- </td></tr>
156
- <tr class="separator:a0b182ac680cce0547dbe7714c870ca85 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
- <tr class="memitem:ac0c0855918cb2cdc3d8ebc175acfbd4d inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> { <a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a">BaseImpl</a>,
158
- <a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8">BVDataImpl</a>,
159
- <a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>
160
- }<tr class="memdesc:ac0c0855918cb2cdc3d8ebc175acfbd4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation type: <a class="el" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> or <a class="el" href="classSVF_1_1CondPTAImpl.html">CondPTAImpl</a>. <a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">More...</a><br /></td></tr>
161
- </td></tr>
162
- <tr class="separator:ac0c0855918cb2cdc3d8ebc175acfbd4d inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
- <tr class="memitem:ac87eb408daafd5d556ecd8633f7d4f1f inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef llvm::AliasAnalysis&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f">AliasAnalysis</a></td></tr>
164
- <tr class="memdesc:ac87eb408daafd5d556ecd8633f7d4f1f inherit pub_types_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indirect call edges type, map a callsite to a set of callees. <a href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f">More...</a><br /></td></tr>
165
- <tr class="separator:ac87eb408daafd5d556ecd8633f7d4f1f inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
166
- <tr class="memitem:a5583b5fc0db461a0138b1f2f1c9a89a0 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0">CallSiteSet</a></td></tr>
167
- <tr class="separator:a5583b5fc0db461a0138b1f2f1c9a89a0 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
168
- <tr class="memitem:ad95c842964e6ca46e51fb763fefec585 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFIR.html#a51bf00bfd1d32ea8a4a280cf99725d7d">SVFIR::CallSiteToFunPtrMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a></td></tr>
169
- <tr class="separator:ad95c842964e6ca46e51fb763fefec585 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
170
- <tr class="memitem:ac1422cd8b449fdb4a1f7c539364e4c41 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a></td></tr>
171
- <tr class="separator:ac1422cd8b449fdb4a1f7c539364e4c41 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
172
- <tr class="memitem:a35bd5f0fb2c146199e9f1aa6a19b4062 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *, <a class="el" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a></td></tr>
173
- <tr class="separator:a35bd5f0fb2c146199e9f1aa6a19b4062 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
- <tr class="memitem:ac4ad73782f42f90ad7ac9c66edb27c69 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SCCDetection.html">SCCDetection</a>&lt; <a class="el" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">CallGraphSCC</a></td></tr>
175
- <tr class="separator:ac4ad73782f42f90ad7ac9c66edb27c69 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
176
- <tr class="memitem:af46f4b99fc2d5061c9266a7f45aafaca inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">GlobalValue</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca">VTableSet</a></td></tr>
177
- <tr class="separator:af46f4b99fc2d5061c9266a7f45aafaca inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
178
- <tr class="memitem:aa7f15c74eb438be78fcc028534477478 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">VFunSet</a></td></tr>
179
- <tr class="separator:aa7f15c74eb438be78fcc028534477478 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
180
- </table><table class="memberdecls">
181
87
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
182
88
  Public Member Functions</h2></td></tr>
183
89
  <tr class="memitem:a1e6a36bc27f7b325086f8f44d745d519"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a1e6a36bc27f7b325086f8f44d745d519">CFLVF</a> (<a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *ir)</td></tr>
184
90
  <tr class="separator:a1e6a36bc27f7b325086f8f44d745d519"><td class="memSeparator" colspan="2">&#160;</td></tr>
185
- <tr class="memitem:ac993bd9c186eef2447d6f50d6451f014"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#ac993bd9c186eef2447d6f50d6451f014">~CFLVF</a> ()</td></tr>
186
- <tr class="memdesc:ac993bd9c186eef2447d6f50d6451f014"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#ac993bd9c186eef2447d6f50d6451f014">More...</a><br /></td></tr>
187
- <tr class="separator:ac993bd9c186eef2447d6f50d6451f014"><td class="memSeparator" colspan="2">&#160;</td></tr>
91
+ <tr class="memitem:a852ed935576ca426287cf4afa6a585e3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a852ed935576ca426287cf4afa6a585e3">initialize</a> ()</td></tr>
92
+ <tr class="memdesc:a852ed935576ca426287cf4afa6a585e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the grammar, graph, solver. <a href="#a852ed935576ca426287cf4afa6a585e3">More...</a><br /></td></tr>
93
+ <tr class="separator:a852ed935576ca426287cf4afa6a585e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
+ <tr class="memitem:a6047084ea0cfe2827130facdd54e4806"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a6047084ea0cfe2827130facdd54e4806">finalize</a> ()</td></tr>
95
+ <tr class="memdesc:a6047084ea0cfe2827130facdd54e4806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print grammar and graph. <a href="#a6047084ea0cfe2827130facdd54e4806">More...</a><br /></td></tr>
96
+ <tr class="separator:a6047084ea0cfe2827130facdd54e4806"><td class="memSeparator" colspan="2">&#160;</td></tr>
188
97
  <tr class="memitem:a52bf916b33278f48d26c3f02947bf720"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a52bf916b33278f48d26c3f02947bf720">analyze</a> ()</td></tr>
189
98
  <tr class="memdesc:a52bf916b33278f48d26c3f02947bf720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start Analysis here (main part of pointer analysis). <a href="#a52bf916b33278f48d26c3f02947bf720">More...</a><br /></td></tr>
190
99
  <tr class="separator:a52bf916b33278f48d26c3f02947bf720"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+ <tr class="memitem:a7c52b3587c5100d6eb7b2783f732b992"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a7c52b3587c5100d6eb7b2783f732b992">countSumEdges</a> ()</td></tr>
101
+ <tr class="separator:a7c52b3587c5100d6eb7b2783f732b992"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="inherit_header pub_methods_classSVF_1_1CFLBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1CFLBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1CFLBase.html">SVF::CFLBase</a></td></tr>
103
+ <tr class="memitem:a59c71b0eada5c763ce776f3618d08dd8 inherit pub_methods_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8">CFLBase</a> (<a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *ir, <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PointerAnalysis::PTATY</a> pty)</td></tr>
104
+ <tr class="separator:a59c71b0eada5c763ce776f3618d08dd8 inherit pub_methods_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
+ <tr class="memitem:a9bcd55546fc9ec1fbbac2b257ffa3243 inherit pub_methods_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243">~CFLBase</a> ()</td></tr>
106
+ <tr class="memdesc:a9bcd55546fc9ec1fbbac2b257ffa3243 inherit pub_methods_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243">More...</a><br /></td></tr>
107
+ <tr class="separator:a9bcd55546fc9ec1fbbac2b257ffa3243 inherit pub_methods_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
+ <tr class="memitem:aa17cbd1303b97e9e26ed77129d10b99c inherit pub_methods_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#aa17cbd1303b97e9e26ed77129d10b99c">getCFLGraph</a> ()</td></tr>
109
+ <tr class="memdesc:aa17cbd1303b97e9e26ed77129d10b99c inherit pub_methods_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CFL graph. <a href="classSVF_1_1CFLBase.html#aa17cbd1303b97e9e26ed77129d10b99c">More...</a><br /></td></tr>
110
+ <tr class="separator:aa17cbd1303b97e9e26ed77129d10b99c inherit pub_methods_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
191
111
  <tr class="inherit_header pub_methods_classSVF_1_1BVDataPTAImpl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1BVDataPTAImpl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td></tr>
192
112
  <tr class="memitem:ab0e1242aadfe1e16a2bd1445658a5476 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">BVDataPTAImpl</a> (<a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *<a class="el" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>, <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PointerAnalysis::PTATY</a> <a class="el" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, bool alias_check=<a class="el" href="cJSON_8cpp.html#a930920b2bc42824a5c03be681830f4b2">true</a>)</td></tr>
193
113
  <tr class="memdesc:ab0e1242aadfe1e16a2bd1445658a5476 inherit pub_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">More...</a><br /></td></tr>
@@ -287,9 +207,6 @@ Public Member Functions</h2></td></tr>
287
207
  <tr class="memitem:a4aeca84393c5586eea7a480737daf17c inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">~PointerAnalysis</a> ()</td></tr>
288
208
  <tr class="memdesc:a4aeca84393c5586eea7a480737daf17c inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">More...</a><br /></td></tr>
289
209
  <tr class="separator:a4aeca84393c5586eea7a480737daf17c inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
290
- <tr class="memitem:a431ec4f85eb0f029e5740b92fd9ceb32 inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">initialize</a> ()</td></tr>
291
- <tr class="memdesc:a431ec4f85eb0f029e5740b92fd9ceb32 inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of a pointer analysis, including building symbol table and <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> etc. <a href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">More...</a><br /></td></tr>
292
- <tr class="separator:a431ec4f85eb0f029e5740b92fd9ceb32 inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
293
210
  <tr class="memitem:a0bb90b398ef85504bcd816ae57bee01d inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
294
211
  <tr class="memdesc:a0bb90b398ef85504bcd816ae57bee01d inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute points-to results on-demand, overridden by derived classes. <a href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">More...</a><br /></td></tr>
295
212
  <tr class="separator:a0bb90b398ef85504bcd816ae57bee01d inherit pub_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -389,17 +306,6 @@ Public Member Functions</h2></td></tr>
389
306
  </table><table class="memberdecls">
390
307
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
391
308
  Private Attributes</h2></td></tr>
392
- <tr class="memitem:a8449ed8950c983cabe92c74139ebef70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLVF.html#a2cb0e830ee529c6debd9c95a8f6299e6">CallSite2DummyValPN</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a8449ed8950c983cabe92c74139ebef70">callsite2DummyValPN</a></td></tr>
393
- <tr class="memdesc:a8449ed8950c983cabe92c74139ebef70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocator. <a href="#a8449ed8950c983cabe92c74139ebef70">More...</a><br /></td></tr>
394
- <tr class="separator:a8449ed8950c983cabe92c74139ebef70"><td class="memSeparator" colspan="2">&#160;</td></tr>
395
- <tr class="memitem:a32b774f456dc6ca596cfe2fcd77efbc9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">svfir</a></td></tr>
396
- <tr class="separator:a32b774f456dc6ca596cfe2fcd77efbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
397
- <tr class="memitem:a30732e01e523dc5e2fc4c9d1ea83d414"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a></td></tr>
398
- <tr class="separator:a30732e01e523dc5e2fc4c9d1ea83d414"><td class="memSeparator" colspan="2">&#160;</td></tr>
399
- <tr class="memitem:a7ba9ca8cbafa6f799278c33fe5edd4fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a></td></tr>
400
- <tr class="separator:a7ba9ca8cbafa6f799278c33fe5edd4fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
401
- <tr class="memitem:ab7ff36646da4c568d160ca2563b9b087"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLSolver.html">CFLSolver</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">solver</a></td></tr>
402
- <tr class="separator:ab7ff36646da4c568d160ca2563b9b087"><td class="memSeparator" colspan="2">&#160;</td></tr>
403
309
  <tr class="memitem:a42998aacf670d108b2a00b8993507e1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SaberSVFGBuilder.html">SaberSVFGBuilder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#a42998aacf670d108b2a00b8993507e1e">memSSA</a></td></tr>
404
310
  <tr class="separator:a42998aacf670d108b2a00b8993507e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
405
311
  <tr class="memitem:aed71ea423497a4f64c8b62ee4187210e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFG.html">SVFG</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">svfg</a></td></tr>
@@ -407,9 +313,141 @@ Private Attributes</h2></td></tr>
407
313
  </table><table class="memberdecls">
408
314
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
409
315
  Additional Inherited Members</h2></td></tr>
316
+ <tr class="inherit_header pub_types_classSVF_1_1BVDataPTAImpl"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1BVDataPTAImpl')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td></tr>
317
+ <tr class="memitem:ad76328a8543b02784992afc2d5501d8a inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8a">PTBackingType</a> { <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8aa1cfb236b5127b660373c36b77a79ab5e">Mutable</a>,
318
+ <a class="el" href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8aaeda0ee502cc42a07c64c6f09296b6640">Persistent</a>
319
+ }<tr class="memdesc:ad76328a8543b02784992afc2d5501d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">How the <a class="el" href="classSVF_1_1PTData.html">PTData</a> used is implemented. <a href="classSVF_1_1BVDataPTAImpl.html#ad76328a8543b02784992afc2d5501d8a">More...</a><br /></td></tr>
320
+ </td></tr>
321
+ <tr class="separator:ad76328a8543b02784992afc2d5501d8a inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
322
+ <tr class="memitem:acfdb43f20bbcababc928cc4df93a8483 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PTData.html">PTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a></td></tr>
323
+ <tr class="separator:acfdb43f20bbcababc928cc4df93a8483 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
324
+ <tr class="memitem:abd8bb73e9beac5e39667091b1e211bd3 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1DiffPTData.html">DiffPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#abd8bb73e9beac5e39667091b1e211bd3">DiffPTDataTy</a></td></tr>
325
+ <tr class="separator:abd8bb73e9beac5e39667091b1e211bd3 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
326
+ <tr class="memitem:a5c2288519153467142e74c8dd4e77180 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1DFPTData.html">DFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a5c2288519153467142e74c8dd4e77180">DFPTDataTy</a></td></tr>
327
+ <tr class="separator:a5c2288519153467142e74c8dd4e77180 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
328
+ <tr class="memitem:a8bc5e039958280b18e5a00a56e0bdc94 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1VersionedPTData.html">VersionedPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>, <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a8bc5e039958280b18e5a00a56e0bdc94">VersionedPTDataTy</a></td></tr>
329
+ <tr class="separator:a8bc5e039958280b18e5a00a56e0bdc94 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
330
+ <tr class="memitem:a533384bd2eb8a1589ba8b7695c759073 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutablePTData.html">MutablePTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a533384bd2eb8a1589ba8b7695c759073">MutPTDataTy</a></td></tr>
331
+ <tr class="separator:a533384bd2eb8a1589ba8b7695c759073 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
332
+ <tr class="memitem:ac4e74e6dfee9d08198e0f7e3d76a0646 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableDiffPTData.html">MutableDiffPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ac4e74e6dfee9d08198e0f7e3d76a0646">MutDiffPTDataTy</a></td></tr>
333
+ <tr class="separator:ac4e74e6dfee9d08198e0f7e3d76a0646 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
334
+ <tr class="memitem:ac130bf326911b8e5396f57daa78566e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableDFPTData.html">MutableDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ac130bf326911b8e5396f57daa78566e7">MutDFPTDataTy</a></td></tr>
335
+ <tr class="separator:ac130bf326911b8e5396f57daa78566e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
336
+ <tr class="memitem:a639446e6bf9712afa439d089b94aefae inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableIncDFPTData.html">MutableIncDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a639446e6bf9712afa439d089b94aefae">MutIncDFPTDataTy</a></td></tr>
337
+ <tr class="separator:a639446e6bf9712afa439d089b94aefae inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
338
+ <tr class="memitem:a7fde3e9b189e988cd0a24d567b136e13 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1MutableVersionedPTData.html">MutableVersionedPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>, <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a7fde3e9b189e988cd0a24d567b136e13">MutVersionedPTDataTy</a></td></tr>
339
+ <tr class="separator:a7fde3e9b189e988cd0a24d567b136e13 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
340
+ <tr class="memitem:ae3ba6392560e5c0978335151c3373fd1 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentPTData.html">PersistentPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae3ba6392560e5c0978335151c3373fd1">PersPTDataTy</a></td></tr>
341
+ <tr class="separator:ae3ba6392560e5c0978335151c3373fd1 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
342
+ <tr class="memitem:a1342c0953d7bb9bf0f6f676bd564350e inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentDiffPTData.html">PersistentDiffPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a1342c0953d7bb9bf0f6f676bd564350e">PersDiffPTDataTy</a></td></tr>
343
+ <tr class="separator:a1342c0953d7bb9bf0f6f676bd564350e inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
344
+ <tr class="memitem:a7087f9d5a1a5b3576173bd6a7fd72163 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentDFPTData.html">PersistentDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a7087f9d5a1a5b3576173bd6a7fd72163">PersDFPTDataTy</a></td></tr>
345
+ <tr class="separator:a7087f9d5a1a5b3576173bd6a7fd72163 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
346
+ <tr class="memitem:a29172b3e8b3891a5d946a493cfcde2e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentIncDFPTData.html">PersistentIncDFPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a29172b3e8b3891a5d946a493cfcde2e7">PersIncDFPTDataTy</a></td></tr>
347
+ <tr class="separator:a29172b3e8b3891a5d946a493cfcde2e7 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
348
+ <tr class="memitem:ae028ae29bdc799f35777b82a39faf5e8 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1PersistentVersionedPTData.html">PersistentVersionedPTData</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>, <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae028ae29bdc799f35777b82a39faf5e8">PersVersionedPTDataTy</a></td></tr>
349
+ <tr class="separator:ae028ae29bdc799f35777b82a39faf5e8 inherit pub_types_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
350
+ <tr class="inherit_header pub_types_classSVF_1_1PointerAnalysis"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1PointerAnalysis')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td></tr>
351
+ <tr class="memitem:a0b182ac680cce0547dbe7714c870ca85 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> { <br />
352
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49">Andersen_BASE</a>,
353
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">Andersen_WPA</a>,
354
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">AndersenSCD_WPA</a>,
355
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">AndersenSFR_WPA</a>,
356
+ <br />
357
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">AndersenWaveDiff_WPA</a>,
358
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a>,
359
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09">CSCallString_WPA</a>,
360
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27">CSSummary_WPA</a>,
361
+ <br />
362
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322">FSDATAFLOW_WPA</a>,
363
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">FSSPARSE_WPA</a>,
364
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>,
365
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">FSCS_WPA</a>,
366
+ <br />
367
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">CFLFICI_WPA</a>,
368
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc">CFLFSCI_WPA</a>,
369
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">CFLFSCS_WPA</a>,
370
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a>,
371
+ <br />
372
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">FieldS_DDA</a>,
373
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">FlowS_DDA</a>,
374
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a>,
375
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>,
376
+ <br />
377
+ &#160;&#160;<a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a>
378
+ <br />
379
+ }<tr class="memdesc:a0b182ac680cce0547dbe7714c870ca85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer analysis type list. <a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">More...</a><br /></td></tr>
380
+ </td></tr>
381
+ <tr class="separator:a0b182ac680cce0547dbe7714c870ca85 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
382
+ <tr class="memitem:ac0c0855918cb2cdc3d8ebc175acfbd4d inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> { <a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a">BaseImpl</a>,
383
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8">BVDataImpl</a>,
384
+ <a class="el" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>
385
+ }<tr class="memdesc:ac0c0855918cb2cdc3d8ebc175acfbd4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation type: <a class="el" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> or <a class="el" href="classSVF_1_1CondPTAImpl.html">CondPTAImpl</a>. <a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">More...</a><br /></td></tr>
386
+ </td></tr>
387
+ <tr class="separator:ac0c0855918cb2cdc3d8ebc175acfbd4d inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
388
+ <tr class="memitem:ac87eb408daafd5d556ecd8633f7d4f1f inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef llvm::AliasAnalysis&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f">AliasAnalysis</a></td></tr>
389
+ <tr class="memdesc:ac87eb408daafd5d556ecd8633f7d4f1f inherit pub_types_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indirect call edges type, map a callsite to a set of callees. <a href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f">More...</a><br /></td></tr>
390
+ <tr class="separator:ac87eb408daafd5d556ecd8633f7d4f1f inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
391
+ <tr class="memitem:a5583b5fc0db461a0138b1f2f1c9a89a0 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0">CallSiteSet</a></td></tr>
392
+ <tr class="separator:a5583b5fc0db461a0138b1f2f1c9a89a0 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
393
+ <tr class="memitem:ad95c842964e6ca46e51fb763fefec585 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFIR.html#a51bf00bfd1d32ea8a4a280cf99725d7d">SVFIR::CallSiteToFunPtrMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a></td></tr>
394
+ <tr class="separator:ad95c842964e6ca46e51fb763fefec585 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
395
+ <tr class="memitem:ac1422cd8b449fdb4a1f7c539364e4c41 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a></td></tr>
396
+ <tr class="separator:ac1422cd8b449fdb4a1f7c539364e4c41 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
397
+ <tr class="memitem:a35bd5f0fb2c146199e9f1aa6a19b4062 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *, <a class="el" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a></td></tr>
398
+ <tr class="separator:a35bd5f0fb2c146199e9f1aa6a19b4062 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
399
+ <tr class="memitem:ac4ad73782f42f90ad7ac9c66edb27c69 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SCCDetection.html">SCCDetection</a>&lt; <a class="el" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">CallGraphSCC</a></td></tr>
400
+ <tr class="separator:ac4ad73782f42f90ad7ac9c66edb27c69 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
401
+ <tr class="memitem:af46f4b99fc2d5061c9266a7f45aafaca inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">GlobalValue</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca">VTableSet</a></td></tr>
402
+ <tr class="separator:af46f4b99fc2d5061c9266a7f45aafaca inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
403
+ <tr class="memitem:aa7f15c74eb438be78fcc028534477478 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">VFunSet</a></td></tr>
404
+ <tr class="separator:aa7f15c74eb438be78fcc028534477478 inherit pub_types_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
410
405
  <tr class="inherit_header pub_static_methods_classSVF_1_1BVDataPTAImpl"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classSVF_1_1BVDataPTAImpl')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td></tr>
411
406
  <tr class="memitem:a6ba68138c10d1fbe5be6346c8dfeca74 inherit pub_static_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a6ba68138c10d1fbe5be6346c8dfeca74">classof</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a> *pta)</td></tr>
412
407
  <tr class="separator:a6ba68138c10d1fbe5be6346c8dfeca74 inherit pub_static_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
408
+ <tr class="inherit_header pub_static_attribs_classSVF_1_1CFLBase"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classSVF_1_1CFLBase')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classSVF_1_1CFLBase.html">SVF::CFLBase</a></td></tr>
409
+ <tr class="memitem:ab5ace49d46bd156660166ec9262ae328 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#ab5ace49d46bd156660166ec9262ae328">numOfProcessedAddr</a></td></tr>
410
+ <tr class="memdesc:ab5ace49d46bd156660166ec9262ae328 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics. <a href="classSVF_1_1CFLBase.html#ab5ace49d46bd156660166ec9262ae328">More...</a><br /></td></tr>
411
+ <tr class="separator:ab5ace49d46bd156660166ec9262ae328 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
412
+ <tr class="memitem:ac45983aa9c30e11cf4dc92c732d671d2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#ac45983aa9c30e11cf4dc92c732d671d2">numOfProcessedCopy</a></td></tr>
413
+ <tr class="memdesc:ac45983aa9c30e11cf4dc92c732d671d2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of processed Addr edge. <a href="classSVF_1_1CFLBase.html#ac45983aa9c30e11cf4dc92c732d671d2">More...</a><br /></td></tr>
414
+ <tr class="separator:ac45983aa9c30e11cf4dc92c732d671d2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
415
+ <tr class="memitem:ac8c31fde200a039f880e93a0808ad273 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#ac8c31fde200a039f880e93a0808ad273">numOfProcessedGep</a></td></tr>
416
+ <tr class="memdesc:ac8c31fde200a039f880e93a0808ad273 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of processed Copy edge. <a href="classSVF_1_1CFLBase.html#ac8c31fde200a039f880e93a0808ad273">More...</a><br /></td></tr>
417
+ <tr class="separator:ac8c31fde200a039f880e93a0808ad273 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
418
+ <tr class="memitem:ac374dff70ef434b3ba4f75257f632f97 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#ac374dff70ef434b3ba4f75257f632f97">numOfProcessedLoad</a></td></tr>
419
+ <tr class="memdesc:ac374dff70ef434b3ba4f75257f632f97 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of processed Gep edge. <a href="classSVF_1_1CFLBase.html#ac374dff70ef434b3ba4f75257f632f97">More...</a><br /></td></tr>
420
+ <tr class="separator:ac374dff70ef434b3ba4f75257f632f97 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
421
+ <tr class="memitem:a44aaad485d8911703c2f83c99b41bcf9 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a44aaad485d8911703c2f83c99b41bcf9">numOfProcessedStore</a></td></tr>
422
+ <tr class="memdesc:a44aaad485d8911703c2f83c99b41bcf9 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of processed Load edge. <a href="classSVF_1_1CFLBase.html#a44aaad485d8911703c2f83c99b41bcf9">More...</a><br /></td></tr>
423
+ <tr class="separator:a44aaad485d8911703c2f83c99b41bcf9 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
424
+ <tr class="memitem:a8d03c680be0bae1bb5f9490b7a72c2a2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a8d03c680be0bae1bb5f9490b7a72c2a2">numOfSfrs</a></td></tr>
425
+ <tr class="memdesc:a8d03c680be0bae1bb5f9490b7a72c2a2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of processed Store edge. <a href="classSVF_1_1CFLBase.html#a8d03c680be0bae1bb5f9490b7a72c2a2">More...</a><br /></td></tr>
426
+ <tr class="separator:a8d03c680be0bae1bb5f9490b7a72c2a2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
427
+ <tr class="memitem:ac0b0681d957fe18b3e87ff9e8a6f577c inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#ac0b0681d957fe18b3e87ff9e8a6f577c">numOfFieldExpand</a></td></tr>
428
+ <tr class="separator:ac0b0681d957fe18b3e87ff9e8a6f577c inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
429
+ <tr class="memitem:a2ab180a3cb942b674f8b2a12e4756a23 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a2ab180a3cb942b674f8b2a12e4756a23">numOfSCCDetection</a></td></tr>
430
+ <tr class="separator:a2ab180a3cb942b674f8b2a12e4756a23 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
431
+ <tr class="memitem:a4222eea6bc0e54beef7f27b34a1a7380 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a4222eea6bc0e54beef7f27b34a1a7380">timeOfSCCDetection</a></td></tr>
432
+ <tr class="separator:a4222eea6bc0e54beef7f27b34a1a7380 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
433
+ <tr class="memitem:a56b046d985d945e763c08ee65272fa02 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a56b046d985d945e763c08ee65272fa02">timeOfSCCMerges</a></td></tr>
434
+ <tr class="separator:a56b046d985d945e763c08ee65272fa02 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
435
+ <tr class="memitem:abd012b8950dcf14c2fb1aa92f1f1ac35 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#abd012b8950dcf14c2fb1aa92f1f1ac35">timeOfCollapse</a></td></tr>
436
+ <tr class="separator:abd012b8950dcf14c2fb1aa92f1f1ac35 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
437
+ <tr class="memitem:af00b49f9bff5ae4cac6562e5992eff45 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#af00b49f9bff5ae4cac6562e5992eff45">AveragePointsToSetSize</a> = 0</td></tr>
438
+ <tr class="separator:af00b49f9bff5ae4cac6562e5992eff45 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
439
+ <tr class="memitem:a87071a5ec6715fa8168b28e992b8555d inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a87071a5ec6715fa8168b28e992b8555d">MaxPointsToSetSize</a> = 0</td></tr>
440
+ <tr class="separator:a87071a5ec6715fa8168b28e992b8555d inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
441
+ <tr class="memitem:ac2e55fd9d1cd48a672b478250e8cbdc2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#ac2e55fd9d1cd48a672b478250e8cbdc2">timeOfProcessCopyGep</a> = 0</td></tr>
442
+ <tr class="separator:ac2e55fd9d1cd48a672b478250e8cbdc2 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
443
+ <tr class="memitem:a75ca2908c28ed5e6f6751ebcd912b8fe inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a75ca2908c28ed5e6f6751ebcd912b8fe">timeOfProcessLoadStore</a> = 0</td></tr>
444
+ <tr class="separator:a75ca2908c28ed5e6f6751ebcd912b8fe inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
445
+ <tr class="memitem:a38bfcb64f8570e541cd1bd0ac2a7fd3e inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a38bfcb64f8570e541cd1bd0ac2a7fd3e">timeOfUpdateCallGraph</a> = 0</td></tr>
446
+ <tr class="separator:a38bfcb64f8570e541cd1bd0ac2a7fd3e inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
447
+ <tr class="memitem:aadadb80fdc1d2a3258463043bcde6e36 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#aadadb80fdc1d2a3258463043bcde6e36">timeOfSolving</a> = 0</td></tr>
448
+ <tr class="separator:aadadb80fdc1d2a3258463043bcde6e36 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
449
+ <tr class="memitem:aad77c4e9fb9a3fdceb222fbdec192c51 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#aad77c4e9fb9a3fdceb222fbdec192c51">numOfSumEdges</a> =0</td></tr>
450
+ <tr class="separator:aad77c4e9fb9a3fdceb222fbdec192c51 inherit pub_static_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
413
451
  <tr class="inherit_header pub_static_attribs_classSVF_1_1PointerAnalysis"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classSVF_1_1PointerAnalysis')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td></tr>
414
452
  <tr class="memitem:a7648a0358e2c0798db1c547ec7aa7c64 inherit pub_static_attribs_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64">aliasTestMayAlias</a> = &quot;MAYALIAS&quot;</td></tr>
415
453
  <tr class="separator:a7648a0358e2c0798db1c547ec7aa7c64 inherit pub_static_attribs_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -439,9 +477,6 @@ Additional Inherited Members</h2></td></tr>
439
477
  <tr class="memitem:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">getPTDataTy</a> () const</td></tr>
440
478
  <tr class="memdesc:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get points-to data structure. <a href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">More...</a><br /></td></tr>
441
479
  <tr class="separator:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
442
- <tr class="memitem:a57ff2bf45ede7a730a8adaba8e61179d inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">finalize</a> ()</td></tr>
443
- <tr class="memdesc:a57ff2bf45ede7a730a8adaba8e61179d inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation. <a href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">More...</a><br /></td></tr>
444
- <tr class="separator:a57ff2bf45ede7a730a8adaba8e61179d inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
445
480
  <tr class="memitem:aa534e475fa34fa322c567bc376a3da70 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#aa534e475fa34fa322c567bc376a3da70">updateCallGraph</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &amp;)</td></tr>
446
481
  <tr class="memdesc:aa534e475fa34fa322c567bc376a3da70 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update callgraph. This should be implemented by its subclass. <a href="classSVF_1_1BVDataPTAImpl.html#aa534e475fa34fa322c567bc376a3da70">More...</a><br /></td></tr>
447
482
  <tr class="separator:aa534e475fa34fa322c567bc376a3da70 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -475,6 +510,15 @@ Additional Inherited Members</h2></td></tr>
475
510
  <tr class="separator:a7accf4e4db4001716e53d98ce5217ac8 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
476
511
  <tr class="memitem:ab982e6bbd99a2f9a0a3abbebeeb00dcc inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> fun)</td></tr>
477
512
  <tr class="separator:ab982e6bbd99a2f9a0a3abbebeeb00dcc inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
513
+ <tr class="inherit_header pro_attribs_classSVF_1_1CFLBase"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classSVF_1_1CFLBase')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classSVF_1_1CFLBase.html">SVF::CFLBase</a></td></tr>
514
+ <tr class="memitem:a9e6cbab31612da4a1f8f660d1fabc4c0 inherit pro_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">svfir</a></td></tr>
515
+ <tr class="separator:a9e6cbab31612da4a1f8f660d1fabc4c0 inherit pro_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
516
+ <tr class="memitem:a8101683062b9a71c0b2309cbdfb7b26f inherit pro_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a></td></tr>
517
+ <tr class="separator:a8101683062b9a71c0b2309cbdfb7b26f inherit pro_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
518
+ <tr class="memitem:af7b0e90b8f8998ab6cf4e05155c7a503 inherit pro_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a></td></tr>
519
+ <tr class="separator:af7b0e90b8f8998ab6cf4e05155c7a503 inherit pro_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
520
+ <tr class="memitem:a34c3a3eec2d7d34ef78b5031d8844b17 inherit pro_attribs_classSVF_1_1CFLBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLSolver.html">CFLSolver</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a></td></tr>
521
+ <tr class="separator:a34c3a3eec2d7d34ef78b5031d8844b17 inherit pro_attribs_classSVF_1_1CFLBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
478
522
  <tr class="inherit_header pro_attribs_classSVF_1_1PointerAnalysis"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classSVF_1_1PointerAnalysis')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td></tr>
479
523
  <tr class="memitem:a7e8b3f6843e5ea75fd189162d2cd60a5 inherit pro_attribs_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFModule.html">SVFModule</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a></td></tr>
480
524
  <tr class="memdesc:a7e8b3f6843e5ea75fd189162d2cd60a5 inherit pro_attribs_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Module. <a href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">More...</a><br /></td></tr>
@@ -519,25 +563,8 @@ Additional Inherited Members</h2></td></tr>
519
563
  </table>
520
564
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
521
565
  <div class="textblock">
522
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00046">46</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
523
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
524
- <a id="a2cb0e830ee529c6debd9c95a8f6299e6"></a>
525
- <h2 class="memtitle"><span class="permalink"><a href="#a2cb0e830ee529c6debd9c95a8f6299e6">&#9670;&nbsp;</a></span>CallSite2DummyValPN</h2>
526
-
527
- <div class="memitem">
528
- <div class="memproto">
529
- <table class="memname">
530
- <tr>
531
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;<a class="el" href="classSVF_1_1CallSite.html">CallSite</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&gt; <a class="el" href="classSVF_1_1CFLVF.html#a2cb0e830ee529c6debd9c95a8f6299e6">SVF::CFLVF::CallSite2DummyValPN</a></td>
532
- </tr>
533
- </table>
534
- </div><div class="memdoc">
535
-
536
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00050">50</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
537
-
538
- </div>
539
- </div>
540
- <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
566
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00041">41</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
567
+ </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
541
568
  <a id="a1e6a36bc27f7b325086f8f44d745d519"></a>
542
569
  <h2 class="memtitle"><span class="permalink"><a href="#a1e6a36bc27f7b325086f8f44d745d519">&#9670;&nbsp;</a></span>CFLVF()</h2>
543
570
 
@@ -562,43 +589,9 @@ Additional Inherited Members</h2></td></tr>
562
589
  </table>
563
590
  </div><div class="memdoc">
564
591
 
565
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00052">52</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
566
- <div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; : <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">BVDataPTAImpl</a>(ir, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">PointerAnalysis::CFLFSCS_WPA</a>, <span class="keyword">false</span>), <a class="code" href="classSVF_1_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">svfir</a>(ir), <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">solver</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLVF_html_a30732e01e523dc5e2fc4c9d1ea83d414"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">SVF::CFLVF::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00068">CFLVF.h:68</a></div></div>
567
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">SVF::PointerAnalysis::CFLFSCS_WPA</a></div><div class="ttdoc">Flow-, context-, CFL-reachability-based analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00079">PointerAnalysis.h:79</a></div></div>
568
- <div class="ttc" id="classSVF_1_1CFLVF_html_ab7ff36646da4c568d160ca2563b9b087"><div class="ttname"><a href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">SVF::CFLVF::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00070">CFLVF.h:70</a></div></div>
569
- <div class="ttc" id="classSVF_1_1CFLVF_html_a7ba9ca8cbafa6f799278c33fe5edd4fb"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">SVF::CFLVF::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00069">CFLVF.h:69</a></div></div>
570
- <div class="ttc" id="classSVF_1_1CFLVF_html_a32b774f456dc6ca596cfe2fcd77efbc9"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">SVF::CFLVF::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00067">CFLVF.h:67</a></div></div>
571
- <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#l00048">PointerAnalysisImpl.cpp:48</a></div></div>
572
- </div><!-- fragment -->
573
- </div>
574
- </div>
575
- <a id="ac993bd9c186eef2447d6f50d6451f014"></a>
576
- <h2 class="memtitle"><span class="permalink"><a href="#ac993bd9c186eef2447d6f50d6451f014">&#9670;&nbsp;</a></span>~CFLVF()</h2>
577
-
578
- <div class="memitem">
579
- <div class="memproto">
580
- <table class="mlabels">
581
- <tr>
582
- <td class="mlabels-left">
583
- <table class="memname">
584
- <tr>
585
- <td class="memname">virtual SVF::CFLVF::~CFLVF </td>
586
- <td>(</td>
587
- <td class="paramname"></td><td>)</td>
588
- <td></td>
589
- </tr>
590
- </table>
591
- </td>
592
- <td class="mlabels-right">
593
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
594
- </tr>
595
- </table>
596
- </div><div class="memdoc">
597
-
598
- <p>Destructor. </p>
599
-
600
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00057">57</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
601
- <div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">solver</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLVF_html_ab7ff36646da4c568d160ca2563b9b087"><div class="ttname"><a href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">SVF::CFLVF::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00070">CFLVF.h:70</a></div></div>
592
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00045">45</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
593
+ <div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; : <a class="code" href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8">CFLBase</a>(ir, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">PointerAnalysis::CFLFSCS_WPA</a>)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">SVF::PointerAnalysis::CFLFSCS_WPA</a></div><div class="ttdoc">Flow-, context-, CFL-reachability-based analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00079">PointerAnalysis.h:79</a></div></div>
594
+ <div class="ttc" id="classSVF_1_1CFLBase_html_a59c71b0eada5c763ce776f3618d08dd8"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8">SVF::CFLBase::CFLBase</a></div><div class="ttdeci">CFLBase(SVFIR *ir, PointerAnalysis::PTATY pty)</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00052">CFLBase.h:52</a></div></div>
602
595
  </div><!-- fragment -->
603
596
  </div>
604
597
  </div>
@@ -628,49 +621,18 @@ Additional Inherited Members</h2></td></tr>
628
621
 
629
622
  <p>Start Analysis here (main part of pointer analysis). </p>
630
623
 
631
- <p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6">SVF::PointerAnalysis</a>.</p>
624
+ <p>Implements <a class="el" href="classSVF_1_1CFLBase.html#a38812395e7fbba031a47ddc58c985481">SVF::CFLBase</a>.</p>
632
625
 
633
- <p class="definition">Definition at line <a class="el" href="CFLVF_8cpp_source.html#l00040">40</a> of file <a class="el" href="CFLVF_8cpp_source.html">CFLVF.cpp</a>.</p>
634
- <div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <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="l00043"></a><span class="lineno"> 43</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="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a> cflGraphBuilder = <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</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="l00046"></a><span class="lineno"> 46</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="l00047"></a><span class="lineno"> 47</span>&#160; {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">PointerAnalysis::initialize</a>();</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</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="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">AndersenWaveDiff::createAndersenWaveDiff</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">svfg</a> = <a class="code" href="classSVF_1_1CFLVF.html#a42998aacf670d108b2a00b8993507e1e">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">buildFullSVFG</a>(ander);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</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_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">svfir</a>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</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="l00054"></a><span class="lineno"> 54</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#ac4a6620622ad6642ed8543e0f8c65c20">buildBiPEGgraph</a>(consCG, grammarBase-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>(), grammarBase, <a class="code" href="classSVF_1_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">svfir</a>);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">buildBigraph</a>(<a class="code" href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">svfg</a>, grammarBase-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>(), grammarBase);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(<a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a>, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a>);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">delete</span> consCG;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <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="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">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="l00072"></a><span class="lineno"> 72</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a>);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(<a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a>, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">solver</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>(<a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">graph</a>, <a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">grammar</a>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>();</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</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="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">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="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">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="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">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="l00084"></a><span class="lineno"> 84</span>&#160; }</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty())</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLVF_html_a42998aacf670d108b2a00b8993507e1e"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a42998aacf670d108b2a00b8993507e1e">SVF::CFLVF::memSSA</a></div><div class="ttdeci">SaberSVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00071">CFLVF.h:71</a></div></div>
635
- <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#l00040">CFLGramGraphChecker.h:40</a></div></div>
636
- <div class="ttc" id="classSVF_1_1CFLVF_html_a30732e01e523dc5e2fc4c9d1ea83d414"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a30732e01e523dc5e2fc4c9d1ea83d414">SVF::CFLVF::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00068">CFLVF.h:68</a></div></div>
637
- <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#l00037">CFLGramGraphChecker.h:37</a></div></div>
638
- <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>
639
- <div class="ttc" id="classSVF_1_1VFCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html">SVF::VFCFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00171">CFLGraphBuilder.h:171</a></div></div>
640
- <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00052">SVFGBuilder.cpp:52</a></div></div>
641
- <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>
642
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00378">Andersen.h:378</a></div></div>
643
- <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>
644
- <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#l00041">CFLSolver.h:41</a></div></div>
645
- <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>
646
- <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>
647
- <div class="ttc" id="classSVF_1_1CFLVF_html_aed71ea423497a4f64c8b62ee4187210e"><div class="ttname"><a href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">SVF::CFLVF::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00072">CFLVF.h:72</a></div></div>
648
- <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>
649
- <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>
650
- <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>
651
- <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>
652
- <div class="ttc" id="classSVF_1_1CFGNormalizer_html"><div class="ttname"><a href="classSVF_1_1CFGNormalizer.html">SVF::CFGNormalizer</a></div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00047">CFGNormalizer.h:47</a></div></div>
653
- <div class="ttc" id="classSVF_1_1CFLVF_html_ab7ff36646da4c568d160ca2563b9b087"><div class="ttname"><a href="classSVF_1_1CFLVF.html#ab7ff36646da4c568d160ca2563b9b087">SVF::CFLVF::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00070">CFLVF.h:70</a></div></div>
654
- <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>
655
- <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>
656
- <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>
657
- <div class="ttc" id="classSVF_1_1CFLVF_html_a7ba9ca8cbafa6f799278c33fe5edd4fb"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a7ba9ca8cbafa6f799278c33fe5edd4fb">SVF::CFLVF::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00069">CFLVF.h:69</a></div></div>
658
- <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>
659
- <div class="ttc" id="classSVF_1_1VFCFLGraphBuilder_html_ac4a6620622ad6642ed8543e0f8c65c20"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#ac4a6620622ad6642ed8543e0f8c65c20">SVF::VFCFLGraphBuilder::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#l00513">CFLGraphBuilder.cpp:513</a></div></div>
660
- <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>
661
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00389">Andersen.h:389</a></div></div>
662
- <div class="ttc" id="classSVF_1_1CFLVF_html_a32b774f456dc6ca596cfe2fcd77efbc9"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a32b774f456dc6ca596cfe2fcd77efbc9">SVF::CFLVF::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00067">CFLVF.h:67</a></div></div>
626
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8cpp_source.html#l00077">77</a> of file <a class="el" href="CFLVF_8cpp_source.html">CFLVF.cpp</a>.</p>
627
+ <div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a852ed935576ca426287cf4afa6a585e3">initialize</a>();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>-&gt;<a class="code" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>();</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#a6047084ea0cfe2827130facdd54e4806">finalize</a>();</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLVF_html_a6047084ea0cfe2827130facdd54e4806"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a6047084ea0cfe2827130facdd54e4806">SVF::CFLVF::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Print grammar and graph. </div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8cpp_source.html#l00066">CFLVF.cpp:66</a></div></div>
628
+ <div class="ttc" id="classSVF_1_1CFLBase_html_a34c3a3eec2d7d34ef78b5031d8844b17"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">SVF::CFLBase::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00106">CFLBase.h:106</a></div></div>
629
+ <div class="ttc" id="classSVF_1_1CFLVF_html_a852ed935576ca426287cf4afa6a585e3"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a852ed935576ca426287cf4afa6a585e3">SVF::CFLVF::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize the grammar, graph, solver. </div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8cpp_source.html#l00036">CFLVF.cpp:36</a></div></div>
663
630
  <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>
664
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
665
- <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>
666
- <div class="ttc" id="classSVF_1_1VFCFLGraphBuilder_html_acd5ade19c0e058bfb41a1a8dd84748e1"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">SVF::VFCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(SVFG *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#l00405">CFLGraphBuilder.cpp:405</a></div></div>
667
- <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>
668
631
  </div><!-- fragment -->
669
632
  </div>
670
633
  </div>
671
- <h2 class="groupheader">Member Data Documentation</h2>
672
- <a id="a8449ed8950c983cabe92c74139ebef70"></a>
673
- <h2 class="memtitle"><span class="permalink"><a href="#a8449ed8950c983cabe92c74139ebef70">&#9670;&nbsp;</a></span>callsite2DummyValPN</h2>
634
+ <a id="a7c52b3587c5100d6eb7b2783f732b992"></a>
635
+ <h2 class="memtitle"><span class="permalink"><a href="#a7c52b3587c5100d6eb7b2783f732b992">&#9670;&nbsp;</a></span>countSumEdges()</h2>
674
636
 
675
637
  <div class="memitem">
676
638
  <div class="memproto">
@@ -679,24 +641,32 @@ Additional Inherited Members</h2></td></tr>
679
641
  <td class="mlabels-left">
680
642
  <table class="memname">
681
643
  <tr>
682
- <td class="memname"><a class="el" href="classSVF_1_1CFLVF.html#a2cb0e830ee529c6debd9c95a8f6299e6">CallSite2DummyValPN</a> SVF::CFLVF::callsite2DummyValPN</td>
644
+ <td class="memname">void CFLVF::countSumEdges </td>
645
+ <td>(</td>
646
+ <td class="paramname"></td><td>)</td>
647
+ <td></td>
683
648
  </tr>
684
649
  </table>
685
650
  </td>
686
651
  <td class="mlabels-right">
687
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
652
+ <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
688
653
  </tr>
689
654
  </table>
690
655
  </div><div class="memdoc">
691
656
 
692
- <p>Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocator. </p>
693
-
694
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00066">66</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
657
+ <p>Implements <a class="el" href="classSVF_1_1CFLBase.html#aa4c08dc36c2694d507618fa2f755cd37">SVF::CFLBase</a>.</p>
695
658
 
659
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8cpp_source.html#l00086">86</a> of file <a class="el" href="CFLVF_8cpp_source.html">CFLVF.cpp</a>.</p>
660
+ <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#aad77c4e9fb9a3fdceb222fbdec192c51">numOfSumEdges</a> = 0;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFLBase.html#aa17cbd1303b97e9e26ed77129d10b99c">getCFLGraph</a>()-&gt;getCFLEdges().begin(); it != <a class="code" href="classSVF_1_1CFLBase.html#aa17cbd1303b97e9e26ed77129d10b99c">getCFLGraph</a>()-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#afcf910a94a3b081067f5a55599475a16">getCFLEdges</a>().end(); it++ )</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> ((*it)-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>())</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#aad77c4e9fb9a3fdceb222fbdec192c51">numOfSumEdges</a>++;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;}</div><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>
661
+ <div class="ttc" id="classSVF_1_1CFLBase_html_af7b0e90b8f8998ab6cf4e05155c7a503"><div class="ttname"><a href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">SVF::CFLBase::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00105">CFLBase.h:105</a></div></div>
662
+ <div class="ttc" id="classSVF_1_1CFLGraph_html_afcf910a94a3b081067f5a55599475a16"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#afcf910a94a3b081067f5a55599475a16">SVF::CFLGraph::getCFLEdges</a></div><div class="ttdeci">const CFLEdgeSet &amp; getCFLEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00112">CFLGraph.h:112</a></div></div>
663
+ <div class="ttc" id="classSVF_1_1CFLBase_html_aa17cbd1303b97e9e26ed77129d10b99c"><div class="ttname"><a href="classSVF_1_1CFLBase.html#aa17cbd1303b97e9e26ed77129d10b99c">SVF::CFLBase::getCFLGraph</a></div><div class="ttdeci">CFLGraph * getCFLGraph()</div><div class="ttdoc">Get CFL graph. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00072">CFLBase.h:72</a></div></div>
664
+ <div class="ttc" id="classSVF_1_1CFLBase_html_aad77c4e9fb9a3fdceb222fbdec192c51"><div class="ttname"><a href="classSVF_1_1CFLBase.html#aad77c4e9fb9a3fdceb222fbdec192c51">SVF::CFLBase::numOfSumEdges</a></div><div class="ttdeci">static double numOfSumEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00099">CFLBase.h:99</a></div></div>
665
+ </div><!-- fragment -->
696
666
  </div>
697
667
  </div>
698
- <a id="a7ba9ca8cbafa6f799278c33fe5edd4fb"></a>
699
- <h2 class="memtitle"><span class="permalink"><a href="#a7ba9ca8cbafa6f799278c33fe5edd4fb">&#9670;&nbsp;</a></span>grammar</h2>
668
+ <a id="a6047084ea0cfe2827130facdd54e4806"></a>
669
+ <h2 class="memtitle"><span class="permalink"><a href="#a6047084ea0cfe2827130facdd54e4806">&#9670;&nbsp;</a></span>finalize()</h2>
700
670
 
701
671
  <div class="memitem">
702
672
  <div class="memproto">
@@ -705,22 +675,37 @@ Additional Inherited Members</h2></td></tr>
705
675
  <td class="mlabels-left">
706
676
  <table class="memname">
707
677
  <tr>
708
- <td class="memname"><a class="el" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a>* SVF::CFLVF::grammar</td>
678
+ <td class="memname">void CFLVF::finalize </td>
679
+ <td>(</td>
680
+ <td class="paramname"></td><td>)</td>
681
+ <td></td>
709
682
  </tr>
710
683
  </table>
711
684
  </td>
712
685
  <td class="mlabels-right">
713
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
686
+ <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
714
687
  </tr>
715
688
  </table>
716
689
  </div><div class="memdoc">
717
690
 
718
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00069">69</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
691
+ <p>Print grammar and graph. </p>
692
+
693
+ <p>Implements <a class="el" href="classSVF_1_1CFLBase.html#af35c5140a90957a26437abc8a93e7ed7">SVF::CFLBase</a>.</p>
719
694
 
695
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8cpp_source.html#l00066">66</a> of file <a class="el" href="CFLVF_8cpp_source.html">CFLVF.cpp</a>.</p>
696
+ <div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="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="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty())</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">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="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">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="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">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="l00074"></a><span class="lineno"> 74</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLBase_html_a9e6cbab31612da4a1f8f660d1fabc4c0"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">SVF::CFLBase::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00103">CFLBase.h:103</a></div></div>
697
+ <div class="ttc" id="classSVF_1_1CFLBase_html_a8101683062b9a71c0b2309cbdfb7b26f"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">SVF::CFLBase::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00104">CFLBase.h:104</a></div></div>
698
+ <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>
699
+ <div class="ttc" id="classSVF_1_1CFLBase_html_af7b0e90b8f8998ab6cf4e05155c7a503"><div class="ttname"><a href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">SVF::CFLBase::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00105">CFLBase.h:105</a></div></div>
700
+ <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>
701
+ <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>
702
+ <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>
703
+ <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>
704
+ </div><!-- fragment -->
720
705
  </div>
721
706
  </div>
722
- <a id="a30732e01e523dc5e2fc4c9d1ea83d414"></a>
723
- <h2 class="memtitle"><span class="permalink"><a href="#a30732e01e523dc5e2fc4c9d1ea83d414">&#9670;&nbsp;</a></span>graph</h2>
707
+ <a id="a852ed935576ca426287cf4afa6a585e3"></a>
708
+ <h2 class="memtitle"><span class="permalink"><a href="#a852ed935576ca426287cf4afa6a585e3">&#9670;&nbsp;</a></span>initialize()</h2>
724
709
 
725
710
  <div class="memitem">
726
711
  <div class="memproto">
@@ -729,20 +714,52 @@ Additional Inherited Members</h2></td></tr>
729
714
  <td class="mlabels-left">
730
715
  <table class="memname">
731
716
  <tr>
732
- <td class="memname"><a class="el" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* SVF::CFLVF::graph</td>
717
+ <td class="memname">void CFLVF::initialize </td>
718
+ <td>(</td>
719
+ <td class="paramname"></td><td>)</td>
720
+ <td></td>
733
721
  </tr>
734
722
  </table>
735
723
  </td>
736
724
  <td class="mlabels-right">
737
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
725
+ <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
738
726
  </tr>
739
727
  </table>
740
728
  </div><div class="memdoc">
741
729
 
742
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00068">68</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
730
+ <p>Initialize the grammar, graph, solver. </p>
743
731
 
732
+ <p>Implements <a class="el" href="classSVF_1_1CFLBase.html#a639702b6c898c13c3e85c721e3234e50">SVF::CFLBase</a>.</p>
733
+
734
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8cpp_source.html#l00036">36</a> of file <a class="el" href="CFLVF_8cpp_source.html">CFLVF.cpp</a>.</p>
735
+ <div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="comment">// Build CFL Grammar and Normalize</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</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="l00040"></a><span class="lineno"> 40</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="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// Build CFL Graph</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a> cflGraphBuilder = <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a>();</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87b63f1f8f4f65cdf6647f9f056ffc53">Options::CFLGraph</a>.empty()) <span class="comment">// built from svfir</span></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; <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">PointerAnalysis::initialize</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">AndersenWaveDiff::createAndersenWaveDiff</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">svfg</a> = <a class="code" href="classSVF_1_1CFLVF.html#a42998aacf670d108b2a00b8993507e1e">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">buildFullSVFG</a>(ander);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a> = cflGraphBuilder.<a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">buildBigraph</a>(<a class="code" href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">svfg</a>, grammarBase-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a8921a7d7a006e31f13d88b8c808c931b">getStartKind</a>(), grammarBase);</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; <span class="keywordflow">else</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">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="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// Check CFL Graph and Grammar are accordance with grammar</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</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="l00056"></a><span class="lineno"> 56</span>&#160; cflChecker.<a class="code" href="classSVF_1_1CFLGramGraphChecker.html#ada643d980c2590711660eb5f2a4e5f93">check</a>(grammarBase, &amp;cflGraphBuilder, <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>);</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; <span class="comment">// Normalize grammar</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</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="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a> = normalizer.<a class="code" href="classSVF_1_1CFGNormalizer.html#ae8e2b22944e9d3d2ec14cd6aaa8b93c9">normalize</a>(grammarBase);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>(<a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>, <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">delete</span> grammarBase;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLVF_html_a42998aacf670d108b2a00b8993507e1e"><div class="ttname"><a href="classSVF_1_1CFLVF.html#a42998aacf670d108b2a00b8993507e1e">SVF::CFLVF::memSSA</a></div><div class="ttdeci">SaberSVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00061">CFLVF.h:61</a></div></div>
736
+ <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#l00040">CFLGramGraphChecker.h:40</a></div></div>
737
+ <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#l00037">CFLGramGraphChecker.h:37</a></div></div>
738
+ <div class="ttc" id="classSVF_1_1CFLBase_html_a8101683062b9a71c0b2309cbdfb7b26f"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">SVF::CFLBase::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00104">CFLBase.h:104</a></div></div>
739
+ <div class="ttc" id="classSVF_1_1VFCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html">SVF::VFCFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00171">CFLGraphBuilder.h:171</a></div></div>
740
+ <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00052">SVFGBuilder.cpp:52</a></div></div>
741
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00378">Andersen.h:378</a></div></div>
742
+ <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>
743
+ <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#l00041">CFLSolver.h:41</a></div></div>
744
+ <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>
745
+ <div class="ttc" id="classSVF_1_1CFLVF_html_aed71ea423497a4f64c8b62ee4187210e"><div class="ttname"><a href="classSVF_1_1CFLVF.html#aed71ea423497a4f64c8b62ee4187210e">SVF::CFLVF::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="CFLVF_8h_source.html#l00062">CFLVF.h:62</a></div></div>
746
+ <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>
747
+ <div class="ttc" id="classSVF_1_1CFLBase_html_af7b0e90b8f8998ab6cf4e05155c7a503"><div class="ttname"><a href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">SVF::CFLBase::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00105">CFLBase.h:105</a></div></div>
748
+ <div class="ttc" id="classSVF_1_1CFGNormalizer_html"><div class="ttname"><a href="classSVF_1_1CFGNormalizer.html">SVF::CFGNormalizer</a></div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00047">CFGNormalizer.h:47</a></div></div>
749
+ <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>
750
+ <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>
751
+ <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>
752
+ <div class="ttc" id="classSVF_1_1CFLBase_html_a34c3a3eec2d7d34ef78b5031d8844b17"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">SVF::CFLBase::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00106">CFLBase.h:106</a></div></div>
753
+ <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>
754
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00389">Andersen.h:389</a></div></div>
755
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
756
+ <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>
757
+ <div class="ttc" id="classSVF_1_1VFCFLGraphBuilder_html_acd5ade19c0e058bfb41a1a8dd84748e1"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">SVF::VFCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(SVFG *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#l00405">CFLGraphBuilder.cpp:405</a></div></div>
758
+ <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>
759
+ </div><!-- fragment -->
744
760
  </div>
745
761
  </div>
762
+ <h2 class="groupheader">Member Data Documentation</h2>
746
763
  <a id="a42998aacf670d108b2a00b8993507e1e"></a>
747
764
  <h2 class="memtitle"><span class="permalink"><a href="#a42998aacf670d108b2a00b8993507e1e">&#9670;&nbsp;</a></span>memSSA</h2>
748
765
 
@@ -763,31 +780,7 @@ Additional Inherited Members</h2></td></tr>
763
780
  </table>
764
781
  </div><div class="memdoc">
765
782
 
766
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00071">71</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
767
-
768
- </div>
769
- </div>
770
- <a id="ab7ff36646da4c568d160ca2563b9b087"></a>
771
- <h2 class="memtitle"><span class="permalink"><a href="#ab7ff36646da4c568d160ca2563b9b087">&#9670;&nbsp;</a></span>solver</h2>
772
-
773
- <div class="memitem">
774
- <div class="memproto">
775
- <table class="mlabels">
776
- <tr>
777
- <td class="mlabels-left">
778
- <table class="memname">
779
- <tr>
780
- <td class="memname"><a class="el" href="classSVF_1_1CFLSolver.html">CFLSolver</a>* SVF::CFLVF::solver</td>
781
- </tr>
782
- </table>
783
- </td>
784
- <td class="mlabels-right">
785
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
786
- </tr>
787
- </table>
788
- </div><div class="memdoc">
789
-
790
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00070">70</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
783
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00061">61</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
791
784
 
792
785
  </div>
793
786
  </div>
@@ -811,31 +804,7 @@ Additional Inherited Members</h2></td></tr>
811
804
  </table>
812
805
  </div><div class="memdoc">
813
806
 
814
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00072">72</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
815
-
816
- </div>
817
- </div>
818
- <a id="a32b774f456dc6ca596cfe2fcd77efbc9"></a>
819
- <h2 class="memtitle"><span class="permalink"><a href="#a32b774f456dc6ca596cfe2fcd77efbc9">&#9670;&nbsp;</a></span>svfir</h2>
820
-
821
- <div class="memitem">
822
- <div class="memproto">
823
- <table class="mlabels">
824
- <tr>
825
- <td class="mlabels-left">
826
- <table class="memname">
827
- <tr>
828
- <td class="memname"><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a>* SVF::CFLVF::svfir</td>
829
- </tr>
830
- </table>
831
- </td>
832
- <td class="mlabels-right">
833
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
834
- </tr>
835
- </table>
836
- </div><div class="memdoc">
837
-
838
- <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00067">67</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
807
+ <p class="definition">Definition at line <a class="el" href="CFLVF_8h_source.html#l00062">62</a> of file <a class="el" href="CFLVF_8h_source.html">CFLVF.h</a>.</p>
839
808
 
840
809
  </div>
841
810
  </div>