svf-tools 1.0.539 → 1.0.542

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 (205) hide show
  1. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  2. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +2 -1
  3. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +1 -1
  4. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -4
  5. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +15 -15
  6. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +4 -4
  7. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +39 -39
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +19 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +16 -15
  10. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +1 -1
  11. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -1
  12. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -1
  13. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  14. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/DDAStat_8h.html +1 -1
  16. package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  19. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +4 -4
  20. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +3 -3
  21. package/SVF-doxygen/html/html/ICFGStat_8h.html +1 -1
  22. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
  25. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/LockAnalysis_8cpp.html +1 -1
  27. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  29. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -1
  31. package/SVF-doxygen/html/html/MTAStat_8h.html +1 -1
  32. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp.html +1 -1
  35. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
  37. package/SVF-doxygen/html/html/Options_8h.html +1 -1
  38. package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
  39. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +314 -0
  40. package/SVF-doxygen/html/html/PTAStat_8cpp.html +1 -1
  41. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/PTAStat_8h.html +2 -2
  43. package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
  44. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +25 -25
  45. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +22 -12
  47. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +11 -11
  48. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +1 -1
  49. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +10 -10
  51. package/SVF-doxygen/html/html/SVFGStat_8h.html +1 -1
  52. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
  54. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  56. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +2 -1
  57. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/TypeAnalysis_8cpp.html +1 -1
  59. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  61. package/SVF-doxygen/html/html/VFG_8cpp_source.html +27 -25
  62. package/SVF-doxygen/html/html/VFG_8h_source.html +10 -10
  63. package/SVF-doxygen/html/html/WPAStat_8h.html +1 -1
  64. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  66. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +12 -11
  68. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +72 -4
  69. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +2 -2
  70. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  71. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  75. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +50 -35
  76. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  77. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +50 -49
  79. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +26 -26
  80. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +10 -7
  81. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  82. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  84. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +11 -11
  85. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  86. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +10 -10
  87. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  90. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -2
  93. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +48 -47
  95. package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
  96. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  97. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +7 -7
  98. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +108 -108
  101. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
  102. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +25 -25
  104. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +3 -3
  105. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  108. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +2 -2
  109. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +29 -26
  110. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
  111. package/SVF-doxygen/html/html/dir_eef3a4ca6ca2cab0eb5fbea30ec32c1a.html +0 -2
  112. package/SVF-doxygen/html/html/files.html +15 -15
  113. package/SVF-doxygen/html/html/functions_b.html +3 -0
  114. package/SVF-doxygen/html/html/functions_c.html +22 -20
  115. package/SVF-doxygen/html/html/functions_f.html +7 -9
  116. package/SVF-doxygen/html/html/functions_func_b.html +3 -0
  117. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  118. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  119. package/SVF-doxygen/html/html/functions_l.html +6 -6
  120. package/SVF-doxygen/html/html/functions_o.html +15 -15
  121. package/SVF-doxygen/html/html/functions_p.html +15 -16
  122. package/SVF-doxygen/html/html/functions_r.html +7 -5
  123. package/SVF-doxygen/html/html/functions_s.html +13 -13
  124. package/SVF-doxygen/html/html/functions_t.html +8 -10
  125. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  126. package/SVF-doxygen/html/html/functions_w.html +11 -11
  127. package/SVF-doxygen/html/html/globals.html +1 -0
  128. package/SVF-doxygen/html/html/globals_a.html +3 -1
  129. package/SVF-doxygen/html/html/globals_c.html +6 -5
  130. package/SVF-doxygen/html/html/globals_e.html +1 -0
  131. package/SVF-doxygen/html/html/globals_f.html +7 -5
  132. package/SVF-doxygen/html/html/globals_g.html +7 -3
  133. package/SVF-doxygen/html/html/globals_m.html +6 -3
  134. package/SVF-doxygen/html/html/globals_v.html +2 -1
  135. package/SVF-doxygen/html/html/globals_vars.html +22 -7
  136. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  137. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  138. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  139. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  140. package/SVF-doxygen/html/html/search/all_1.js +2 -2
  141. package/SVF-doxygen/html/html/search/all_10.js +8 -6
  142. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  143. package/SVF-doxygen/html/html/search/all_12.js +10 -10
  144. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  145. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  146. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  147. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  148. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  149. package/SVF-doxygen/html/html/search/all_3.js +4 -4
  150. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  151. package/SVF-doxygen/html/html/search/all_6.js +5 -5
  152. package/SVF-doxygen/html/html/search/all_7.js +4 -4
  153. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  154. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  155. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  156. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  157. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  158. package/SVF-doxygen/html/html/search/files_c.js +1 -0
  159. package/SVF-doxygen/html/html/search/functions_1.js +1 -0
  160. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  161. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  162. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  163. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  164. package/SVF-doxygen/html/html/search/variables_10.js +2 -1
  165. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  166. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  167. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  168. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  169. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  170. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  171. package/SVF-doxygen/html/html/search/variables_7.js +4 -4
  172. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  173. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  174. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
  175. package/include/CFL/CFGNormalizer.h +3 -3
  176. package/include/CFL/CFLAlias.h +5 -1
  177. package/include/CFL/CFLGraphBuilder.h +11 -1
  178. package/include/CFL/PEGGrammar.txt +28 -0
  179. package/include/DDA/DDAStat.h +1 -1
  180. package/include/Graphs/ICFGStat.h +1 -1
  181. package/include/Graphs/SVFGStat.h +1 -1
  182. package/include/MTA/MTAStat.h +1 -1
  183. package/include/MemoryModel/PersistentPointsToCache.h +0 -2
  184. package/include/SVF-FE/LLVMUtil.h +2 -2
  185. package/include/Util/ExtAPI.h +2 -2
  186. package/include/Util/Options.h +2 -1
  187. package/include/{MemoryModel → Util}/PTAStat.h +0 -0
  188. package/include/WPA/Andersen.h +3 -3
  189. package/include/WPA/WPAStat.h +1 -1
  190. package/lib/CFL/CFLAlias.cpp +12 -7
  191. package/lib/CFL/CFLGraphBuilder.cpp +135 -0
  192. package/lib/CFL/GrammarBuilder.cpp +12 -8
  193. package/lib/Graphs/SVFGStat.cpp +1 -3
  194. package/lib/Graphs/VFG.cpp +6 -0
  195. package/lib/MTA/LockAnalysis.cpp +1 -1
  196. package/lib/MTA/MHP.cpp +1 -1
  197. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  198. package/lib/MemoryModel/PointerAnalysisImpl.cpp +31 -1
  199. package/lib/SVF-FE/CHGBuilder.cpp +1 -1
  200. package/lib/Util/NodeIDAllocator.cpp +1 -1
  201. package/lib/Util/Options.cpp +11 -4
  202. package/lib/Util/PTAStat.cpp +4 -9
  203. package/lib/Util/ThreadAPI.cpp +1 -6
  204. package/lib/WPA/TypeAnalysis.cpp +1 -1
  205. package/package.json +1 -1
@@ -102,7 +102,7 @@ $(function() {
102
102
  <div class="ttc" id="classSVF_1_1VFG_html_a8ddf15d89a1b11a7f7720b671f4f0295"><div class="ttname"><a href="classSVF_1_1VFG.html#a8ddf15d89a1b11a7f7720b671f4f0295">SVF::VFG::isPhiCopyEdge</a></div><div class="ttdeci">bool isPhiCopyEdge(const PAGEdge *copy) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00457">VFG.h:457</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1VFG_html_a66f439ffebda7a81925514b77199154b"><div class="ttname"><a href="classSVF_1_1VFG.html#a66f439ffebda7a81925514b77199154b">SVF::VFG::~VFG</a></div><div class="ttdeci">virtual ~VFG()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00115">VFG.h:115</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a00a14ad8f49912b876fd9d729fea4601"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a00a14ad8f49912b876fd9d729fea4601">SVF::MultiOpndStmt::getRes</a></div><div class="ttdeci">const SVFVar * getRes() const</div><div class="ttdoc">Result SVFVar. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00645">SVFStatements.h:645</a></div></div>
105
- <div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00892">VFG.cpp:892</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00898">VFG.cpp:898</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa">SVF::VFG::FULLSVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1VFG_html_a85360d0242ea7d2ec7da670f2cc17962"><div class="ttname"><a href="classSVF_1_1VFG.html#a85360d0242ea7d2ec7da670f2cc17962">SVF::VFG::isInterestedPAGNode</a></div><div class="ttdeci">virtual bool isInterestedPAGNode(const SVFVar *node) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00443">VFG.h:443</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1AssignStmt_html_a973a2b79da223275ed6a1831837b89c7"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a973a2b79da223275ed6a1831837b89c7">SVF::AssignStmt::getLHSVar</a></div><div class="ttdeci">SVFVar * getLHSVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00252">SVFStatements.h:252</a></div></div>
@@ -123,10 +123,10 @@ $(function() {
123
123
  <div class="ttc" id="classSVF_1_1VFGNode_html_ab98e74dfd4756e70e3e3c5b7d5e5ae27"><div class="ttname"><a href="classSVF_1_1VFGNode.html#ab98e74dfd4756e70e3e3c5b7d5e5ae27">SVF::VFGNode::getFun</a></div><div class="ttdeci">virtual const SVFFunction * getFun() const</div><div class="ttdoc">Get the function of this SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00084">VFGNode.h:84</a></div></div>
124
124
  <div class="ttc" id="classSVF_1_1VFGEdge_html_a557334ef75bb5479b045f68c27b38701"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a557334ef75bb5479b045f68c27b38701">SVF::VFGEdge::SVFGEdgeSetTy</a></div><div class="ttdeci">VFGEdgeSetTy SVFGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00118">VFGEdge.h:118</a></div></div>
125
125
  <div class="ttc" id="classSVF_1_1VFG_html_a43f4002b0beb00ed2026f7edd9ebbb1c"><div class="ttname"><a href="classSVF_1_1VFG.html#a43f4002b0beb00ed2026f7edd9ebbb1c">SVF::VFG::VFGNodes</a></div><div class="ttdeci">bool VFGNodes(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00294">VFG.h:294</a></div></div>
126
- <div class="ttc" id="classSVF_1_1VFG_html_aee3d0c4ed32bde425f33281f248b7dd2"><div class="ttname"><a href="classSVF_1_1VFG.html#aee3d0c4ed32bde425f33281f248b7dd2">SVF::VFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00919">VFG.cpp:919</a></div></div>
126
+ <div class="ttc" id="classSVF_1_1VFG_html_aee3d0c4ed32bde425f33281f248b7dd2"><div class="ttname"><a href="classSVF_1_1VFG.html#aee3d0c4ed32bde425f33281f248b7dd2">SVF::VFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00925">VFG.cpp:925</a></div></div>
127
127
  <div class="ttc" id="classSVF_1_1GepVFGNode_html"><div class="ttname"><a href="classSVF_1_1GepVFGNode.html">SVF::GepVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00594">VFGNode.h:594</a></div></div>
128
128
  <div class="ttc" id="classSVF_1_1VFG_html_a6bbfe457dcc7104e6928323499ea964e"><div class="ttname"><a href="classSVF_1_1VFG.html#a6bbfe457dcc7104e6928323499ea964e">SVF::VFG::getActualParmVFGNode</a></div><div class="ttdeci">ActualParmVFGNode * getActualParmVFGNode(const PAGNode *aparm, const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00235">VFG.h:235</a></div></div>
129
- <div class="ttc" id="classSVF_1_1VFG_html_aead3b463d9aa2fae5845d97896bd18ba"><div class="ttname"><a href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">SVF::VFG::hasThreadVFGEdge</a></div><div class="ttdeci">VFGEdge * hasThreadVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00875">VFG.cpp:875</a></div></div>
129
+ <div class="ttc" id="classSVF_1_1VFG_html_aead3b463d9aa2fae5845d97896bd18ba"><div class="ttname"><a href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">SVF::VFG::hasThreadVFGEdge</a></div><div class="ttdeci">VFGEdge * hasThreadVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00881">VFG.cpp:881</a></div></div>
130
130
  <div class="ttc" id="classSVF_1_1VFG_html_ad63c3c11162ba107a6338fb24f9018d7"><div class="ttname"><a href="classSVF_1_1VFG.html#ad63c3c11162ba107a6338fb24f9018d7">SVF::VFG::getKind</a></div><div class="ttdeci">VFGK getKind() const</div><div class="ttdoc">Get VFG kind. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00121">VFG.h:121</a></div></div>
131
131
  <div class="ttc" id="classSVF_1_1ICFG_html_af1b2d2839f811a00103df87342dfc919"><div class="ttname"><a href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">SVF::ICFG::getFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * getFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function exit node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00281">ICFG.cpp:281</a></div></div>
132
132
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
@@ -162,7 +162,7 @@ $(function() {
162
162
  <div class="ttc" id="classSVF_1_1VFG_html_a6d2a20830533ee40a5757e58e127f927"><div class="ttname"><a href="classSVF_1_1VFG.html#a6d2a20830533ee40a5757e58e127f927">SVF::VFG::addStmtVFGNode</a></div><div class="ttdeci">void addStmtVFGNode(StmtVFGNode *node, const PAGEdge *pagEdge)</div><div class="ttdoc">Add a VFG node for program statement. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00476">VFG.h:476</a></div></div>
163
163
  <div class="ttc" id="classSVF_1_1BranchVFGNode_html"><div class="ttname"><a href="classSVF_1_1BranchVFGNode.html">SVF::BranchVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00539">VFGNode.h:539</a></div></div>
164
164
  <div class="ttc" id="classSVF_1_1VFG_html_a30eb9d717ad5bc8a9109a7bdef38f4a1"><div class="ttname"><a href="classSVF_1_1VFG.html#a30eb9d717ad5bc8a9109a7bdef38f4a1">SVF::VFG::hasVFGNode</a></div><div class="ttdeci">bool hasVFGNode(NodeID id) const</div><div class="ttdoc">Whether has the VFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00151">VFG.h:151</a></div></div>
165
- <div class="ttc" id="classSVF_1_1VFG_html_a0c0a7c8f0bd27bc9e88ce54c0809b11b"><div class="ttname"><a href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">SVF::VFG::updateCallGraph</a></div><div class="ttdeci">void updateCallGraph(PointerAnalysis *pta)</div><div class="ttdoc">Update VFG based on pointer analysis results. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00933">VFG.cpp:933</a></div></div>
165
+ <div class="ttc" id="classSVF_1_1VFG_html_a0c0a7c8f0bd27bc9e88ce54c0809b11b"><div class="ttname"><a href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">SVF::VFG::updateCallGraph</a></div><div class="ttdeci">void updateCallGraph(PointerAnalysis *pta)</div><div class="ttdoc">Update VFG based on pointer analysis results. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00939">VFG.cpp:939</a></div></div>
166
166
  <div class="ttc" id="classSVF_1_1ICFG_html_adc66b547720b9271e6805edea0b9d01f"><div class="ttname"><a href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00239">ICFG.cpp:239</a></div></div>
167
167
  <div class="ttc" id="classSVF_1_1VFG_html_a6c3daf2777cc5f76ce07241f803720f3"><div class="ttname"><a href="classSVF_1_1VFG.html#a6c3daf2777cc5f76ce07241f803720f3">SVF::VFG::globalVFGNodes</a></div><div class="ttdeci">GlobalVFGNodeSet globalVFGNodes</div><div class="ttdoc">set of global store VFG nodes </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00102">VFG.h:102</a></div></div>
168
168
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00399">GenericGraph.h:399</a></div></div>
@@ -174,7 +174,7 @@ $(function() {
174
174
  <div class="ttc" id="classSVF_1_1VFG_html_a9a16c7a7b0df273c1dcbe6ba3aef8fde"><div class="ttname"><a href="classSVF_1_1VFG.html#a9a16c7a7b0df273c1dcbe6ba3aef8fde">SVF::VFG::PAGNodeToCmpVFGNodeMap</a></div><div class="ttdeci">PAGNodeToCmpVFGNodeMapTy PAGNodeToCmpVFGNodeMap</div><div class="ttdoc">map a PAGNode to its CmpVFGNode </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00098">VFG.h:98</a></div></div>
175
175
  <div class="ttc" id="classSVF_1_1VFG_html_ab12de81e2912f06551ca7a6693f5046b"><div class="ttname"><a href="classSVF_1_1VFG.html#ab12de81e2912f06551ca7a6693f5046b">SVF::VFG::PAGNodeSet</a></div><div class="ttdeci">Set&lt; const PAGNode * &gt; PAGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00084">VFG.h:84</a></div></div>
176
176
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
177
- <div class="ttc" id="classSVF_1_1VFG_html_a8994194bca2edfd9528880390de795ab"><div class="ttname"><a href="classSVF_1_1VFG.html#a8994194bca2edfd9528880390de795ab">SVF::VFG::isFunEntryVFGNode</a></div><div class="ttdeci">const SVFFunction * isFunEntryVFGNode(const VFGNode *node) const</div><div class="ttdoc">Whether a node is function entry VFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l01042">VFG.cpp:1042</a></div></div>
177
+ <div class="ttc" id="classSVF_1_1VFG_html_a8994194bca2edfd9528880390de795ab"><div class="ttname"><a href="classSVF_1_1VFG.html#a8994194bca2edfd9528880390de795ab">SVF::VFG::isFunEntryVFGNode</a></div><div class="ttdeci">const SVFFunction * isFunEntryVFGNode(const VFGNode *node) const</div><div class="ttdoc">Whether a node is function entry VFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l01048">VFG.cpp:1048</a></div></div>
178
178
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00105">SVFBasicTypes.h:105</a></div></div>
179
179
  <div class="ttc" id="classSVF_1_1UnaryOPStmt_html_abde2b32d5bbd37df0e194b1a4e78483b"><div class="ttname"><a href="classSVF_1_1UnaryOPStmt.html#abde2b32d5bbd37df0e194b1a4e78483b">SVF::UnaryOPStmt::getOpVar</a></div><div class="ttdeci">const SVFVar * getOpVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00920">SVFStatements.h:920</a></div></div>
180
180
  <div class="ttc" id="VFGNode_8h_html"><div class="ttname"><a href="VFGNode_8h.html">VFGNode.h</a></div></div>
@@ -233,7 +233,7 @@ $(function() {
233
233
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
234
234
  <div class="ttc" id="classSVF_1_1VFG_html_a1ba67eb17437a1a47c230614c1e3d9fd"><div class="ttname"><a href="classSVF_1_1VFG.html#a1ba67eb17437a1a47c230614c1e3d9fd">SVF::VFG::getUnaryOPVFGNode</a></div><div class="ttdeci">UnaryOPVFGNode * getUnaryOPVFGNode(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00217">VFG.h:217</a></div></div>
235
235
  <div class="ttc" id="classSVF_1_1VFG_html_a03d388eec513f713f5e0d06f920168db"><div class="ttname"><a href="classSVF_1_1VFG.html#a03d388eec513f713f5e0d06f920168db">SVF::VFG::VFGNodeSet</a></div><div class="ttdeci">Set&lt; VFGNode * &gt; VFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00061">VFG.h:61</a></div></div>
236
- <div class="ttc" id="classSVF_1_1VFG_html_ae1348fd6d196ee8a6bd8d98022464d50"><div class="ttname"><a href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">SVF::VFG::getIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * getIntraVFGEdge(const VFGNode *src, const VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Get a SVFG edge according to src and dst. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00910">VFG.cpp:910</a></div></div>
236
+ <div class="ttc" id="classSVF_1_1VFG_html_ae1348fd6d196ee8a6bd8d98022464d50"><div class="ttname"><a href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">SVF::VFG::getIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * getIntraVFGEdge(const VFGNode *src, const VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Get a SVFG edge according to src and dst. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00916">VFG.cpp:916</a></div></div>
237
237
  <div class="ttc" id="classSVF_1_1VFG_html_abd05b599b383c759455aff99963b7b41"><div class="ttname"><a href="classSVF_1_1VFG.html#abd05b599b383c759455aff99963b7b41">SVF::VFG::addInterEdgeFromFRToAR</a></div><div class="ttdeci">VFGEdge * addInterEdgeFromFRToAR(FormalRetVFGNode *src, ActualRetVFGNode *dst, CallSiteID csId)</div><div class="ttdoc">Add inter VF edge from callee return to callsite receive parameter. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00366">VFG.h:366</a></div></div>
238
238
  <div class="ttc" id="classSVF_1_1VFG_html_a47609382fcd9ef36706e1d0f0531a843"><div class="ttname"><a href="classSVF_1_1VFG.html#a47609382fcd9ef36706e1d0f0531a843">SVF::VFG::getBranchVFGNode</a></div><div class="ttdeci">BranchVFGNode * getBranchVFGNode(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00223">VFG.h:223</a></div></div>
239
239
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
@@ -243,7 +243,7 @@ $(function() {
243
243
  <div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00700">VFG.cpp:700</a></div></div>
244
244
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
245
245
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
246
- <div class="ttc" id="classSVF_1_1VFG_html_ac34c4529229404617c346f81cc6c141f"><div class="ttname"><a href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">SVF::VFG::hasIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * hasIntraVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00857">VFG.cpp:857</a></div></div>
246
+ <div class="ttc" id="classSVF_1_1VFG_html_ac34c4529229404617c346f81cc6c141f"><div class="ttname"><a href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">SVF::VFG::hasIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * hasIntraVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00863">VFG.cpp:863</a></div></div>
247
247
  <div class="ttc" id="classSVF_1_1VFG_html_a7343f970332391634f79b2023bba6650"><div class="ttname"><a href="classSVF_1_1VFG.html#a7343f970332391634f79b2023bba6650">SVF::VFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00419">VFG.h:419</a></div></div>
248
248
  <div class="ttc" id="classSVF_1_1ICFG_html_a0dca4655c2f6112a5be1f921b8e81076"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00272">ICFG.cpp:272</a></div></div>
249
249
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
@@ -252,7 +252,7 @@ $(function() {
252
252
  <div class="ttc" id="cJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
253
253
  <div class="ttc" id="classSVF_1_1VFGNode_html_a367413b90de8a382190ffa9f0c742e01"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a367413b90de8a382190ffa9f0c742e01">SVF::VFGNode::RetPESet</a></div><div class="ttdeci">Set&lt; const RetPE * &gt; RetPESet</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00062">VFGNode.h:62</a></div></div>
254
254
  <div class="ttc" id="classSVF_1_1VFG_html_aff291586a4b0c28a6939577d39de5d0a"><div class="ttname"><a href="classSVF_1_1VFG.html#aff291586a4b0c28a6939577d39de5d0a">SVF::VFG::getGlobalVFGNodes</a></div><div class="ttdeci">GlobalVFGNodeSet &amp; getGlobalVFGNodes()</div><div class="ttdoc">Return global stores. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00156">VFG.h:156</a></div></div>
255
- <div class="ttc" id="classSVF_1_1VFG_html_a1fff5a365e5aa2d99f07f7f64cc35fac"><div class="ttname"><a href="classSVF_1_1VFG.html#a1fff5a365e5aa2d99f07f7f64cc35fac">SVF::VFG::getLHSTopLevPtr</a></div><div class="ttdeci">const PAGNode * getLHSTopLevPtr(const VFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l01005">VFG.cpp:1005</a></div></div>
255
+ <div class="ttc" id="classSVF_1_1VFG_html_a1fff5a365e5aa2d99f07f7f64cc35fac"><div class="ttname"><a href="classSVF_1_1VFG.html#a1fff5a365e5aa2d99f07f7f64cc35fac">SVF::VFG::getLHSTopLevPtr</a></div><div class="ttdeci">const PAGNode * getLHSTopLevPtr(const VFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l01011">VFG.cpp:1011</a></div></div>
256
256
  <div class="ttc" id="classSVF_1_1GenericGraph_html"><div class="ttname"><a href="classSVF_1_1GenericGraph.html">SVF::GenericGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00331">GenericGraph.h:331</a></div></div>
257
257
  <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00898">VFGNode.h:898</a></div></div>
258
258
  <div class="ttc" id="classSVF_1_1VFG_html_a65c88a6c20380b715ac8b6c31e68afed"><div class="ttname"><a href="classSVF_1_1VFG.html#a65c88a6c20380b715ac8b6c31e68afed">SVF::VFG::addUnaryOPVFGNode</a></div><div class="ttdeci">void addUnaryOPVFGNode(const UnaryOPStmt *edge)</div><div class="ttdoc">Add a UnaryOperator VFG node. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00620">VFG.h:620</a></div></div>
@@ -260,7 +260,7 @@ $(function() {
260
260
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
261
261
  <div class="ttc" id="classSVF_1_1VFG_html_ad63218978f65ab91ae21bc24c882a716"><div class="ttname"><a href="classSVF_1_1VFG.html#ad63218978f65ab91ae21bc24c882a716">SVF::VFG::FunToVFGNodesMapTy</a></div><div class="ttdeci">Map&lt; const SVFFunction *, VFGNodeSet &gt; FunToVFGNodesMapTy</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00073">VFG.h:73</a></div></div>
262
262
  <div class="ttc" id="structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4_html_a0c6c42e5f1f75e34d71c39996f50e5b2"><div class="ttname"><a href="structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html#a0c6c42e5f1f75e34d71c39996f50e5b2">llvm::GraphTraits&lt; SVF::VFG * &gt;::NodeRef</a></div><div class="ttdeci">SVF::VFGNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00658">VFG.h:658</a></div></div>
263
- <div class="ttc" id="classSVF_1_1VFG_html_aa055ce3c4fe1cde5529cd63dd1ef2ed6"><div class="ttname"><a href="classSVF_1_1VFG.html#aa055ce3c4fe1cde5529cd63dd1ef2ed6">SVF::VFG::connectCallerAndCallee</a></div><div class="ttdeci">virtual void connectCallerAndCallee(const CallICFGNode *cs, const SVFFunction *callee, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect VFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00955">VFG.cpp:955</a></div></div>
263
+ <div class="ttc" id="classSVF_1_1VFG_html_aa055ce3c4fe1cde5529cd63dd1ef2ed6"><div class="ttname"><a href="classSVF_1_1VFG.html#aa055ce3c4fe1cde5529cd63dd1ef2ed6">SVF::VFG::connectCallerAndCallee</a></div><div class="ttdeci">virtual void connectCallerAndCallee(const CallICFGNode *cs, const SVFFunction *callee, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect VFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00961">VFG.cpp:961</a></div></div>
264
264
  <div class="ttc" id="classSVF_1_1BinaryOPStmt_html"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html">SVF::BinaryOPStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00836">SVFStatements.h:836</a></div></div>
265
265
  <div class="ttc" id="classSVF_1_1VFG_html_ade3f735b3c7b1a53cab3d67cd9f7b874"><div class="ttname"><a href="classSVF_1_1VFG.html#ade3f735b3c7b1a53cab3d67cd9f7b874">SVF::VFG::CallPESet</a></div><div class="ttdeci">FormalParmVFGNode::CallPESet CallPESet</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00075">VFG.h:75</a></div></div>
266
266
  <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01025">VFGNode.h:1025</a></div></div>
@@ -284,7 +284,7 @@ $(function() {
284
284
  <div class="ttc" id="classSVF_1_1SVFIR_html_ae2006820c0d00482b85e7ae3adcb5744"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">SVF::SVFIR::getSVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy &amp; getSVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get/set methods to get SVFStmts based on their kinds and ICFGNodes. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00162">SVFIR.h:162</a></div></div>
285
285
  <div class="ttc" id="classSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00307">SVFStatements.h:307</a></div></div>
286
286
  <div class="ttc" id="classSVF_1_1IntraPHIVFGNode_html_a7e5fd83393224ece808de83cbf496882"><div class="ttname"><a href="classSVF_1_1IntraPHIVFGNode.html#a7e5fd83393224ece808de83cbf496882">SVF::IntraPHIVFGNode::setOpVerAndBB</a></div><div class="ttdeci">void setOpVerAndBB(u32_t pos, const PAGNode *node, const ICFGNode *bb)</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00730">VFGNode.h:730</a></div></div>
287
- <div class="ttc" id="classSVF_1_1VFG_html_ae4350f68e960bfef87f44587628b1929"><div class="ttname"><a href="classSVF_1_1VFG.html#ae4350f68e960bfef87f44587628b1929">SVF::VFG::view</a></div><div class="ttdeci">void view()</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00927">VFG.cpp:927</a></div></div>
287
+ <div class="ttc" id="classSVF_1_1VFG_html_ae4350f68e960bfef87f44587628b1929"><div class="ttname"><a href="classSVF_1_1VFG.html#ae4350f68e960bfef87f44587628b1929">SVF::VFG::view</a></div><div class="ttdeci">void view()</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00933">VFG.cpp:933</a></div></div>
288
288
  <div class="ttc" id="classSVF_1_1VFG_html_a2c508fbf07bad33d5b56d2acc6e012d3"><div class="ttname"><a href="classSVF_1_1VFG.html#a2c508fbf07bad33d5b56d2acc6e012d3">SVF::VFG::connectAParamAndFParam</a></div><div class="ttdeci">virtual void connectAParamAndFParam(const PAGNode *csArg, const PAGNode *funArg, const CallICFGNode *cbn, CallSiteID csId, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect VFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00385">VFG.h:385</a></div></div>
289
289
  <div class="ttc" id="classSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00047">SVFStatements.h:47</a></div></div>
290
290
  <div class="ttc" id="classSVF_1_1VFG_html_a13f7caf44741db3b0e8a44b13d8931f5"><div class="ttname"><a href="classSVF_1_1VFG.html#a13f7caf44741db3b0e8a44b13d8931f5">SVF::VFG::addStoreVFGNode</a></div><div class="ttdeci">void addStoreVFGNode(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00520">VFG.h:520</a></div></div>
@@ -69,7 +69,7 @@ $(function() {
69
69
  <div class="title">WPAStat.h File Reference</div> </div>
70
70
  </div><!--header-->
71
71
  <div class="contents">
72
- <div class="textblock"><code>#include &quot;<a class="el" href="PTAStat_8h_source.html">MemoryModel/PTAStat.h</a>&quot;</code><br />
72
+ <div class="textblock"><code>#include &quot;<a class="el" href="PTAStat_8h_source.html">Util/PTAStat.h</a>&quot;</code><br />
73
73
  <code>#include &quot;<a class="el" href="FlowSensitive_8h_source.html">WPA/FlowSensitive.h</a>&quot;</code><br />
74
74
  <code>#include &quot;<a class="el" href="VersionedFlowSensitive_8h_source.html">WPA/VersionedFlowSensitive.h</a>&quot;</code><br />
75
75
  </div>
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">WPAStat.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="WPAStat_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- WPAStat.h -- WPA statistics--------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * FlowSensitiveStat.h</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Created on: 27/11/2013</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * Author: yesen</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef FLOWSENSITIVESTAT_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define FLOWSENSITIVESTAT_H_</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PTAStat_8h.html">MemoryModel/PTAStat.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FlowSensitive_8h.html">WPA/FlowSensitive.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="VersionedFlowSensitive_8h.html">WPA/VersionedFlowSensitive.h</a>&quot;</span></div><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="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>AndersenBase;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>SVFIR;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">class </span>ConstraintGraph;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AndersenStat.html">AndersenStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187"> 52</a></span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html">AndersenBase</a>* <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>;</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="keyword">public</span>:</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15"> 55</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15">CollapseTime</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"><a class="line" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3"> 57</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21"> 58</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">_NumOfCycles</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83"> 59</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">_NumOfPWCCycles</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9"> 60</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">_NumOfNodesInCycles</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10"> 61</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">_MaxNumOfNodesInSCC</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded"> 62</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67"> 63</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7"> 64</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a257d814ef3983c4f513d37161d376719">AndersenStat</a>(<a class="code" href="classSVF_1_1AndersenBase.html">AndersenBase</a>* <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>);</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"><a class="line" href="classSVF_1_1AndersenStat.html#a31c59fe771f44b32a7d58145eb44a971"> 68</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AndersenStat.html#a31c59fe771f44b32a7d58145eb44a971">~AndersenStat</a>()</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>();</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; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#ae35507bebe6a1a9a64ab379473c85cad">collectCycleInfo</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>* consCG);</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; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a5ad75166a80052f9e6fdd14ff7c8b948">constraintGraphStat</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;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html"> 85</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1FlowSensitiveStat.html">FlowSensitiveStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;{</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75"> 88</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FlowSensitive.html#af9a2bd5b490f1cc5335ce696173c78dd">FlowSensitive::DFInOutMap</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75">DFInOutMap</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e"> 89</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a7bb300f30f4f8cee208229ae10faa291">FlowSensitive::PtsMap</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e">PtsMap</a>;</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"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f"> 91</a></span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a> * <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a2a7ae289b0400e63fa217f8717f4ffa9"> 93</a></span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a2a7ae289b0400e63fa217f8717f4ffa9">FlowSensitiveStat</a>(<a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a>* <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>): <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; fspta = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; clearStat();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5524ff7901659f56e9de343992be8f3b">startClk</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a308c187020098a7f421592e8baa98967"> 100</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a308c187020098a7f421592e8baa98967">~FlowSensitiveStat</a>() {}</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>();</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71"> 105</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">ENUM_INOUT</a></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739"> 107</a></span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5"> 108</a></span>&#160; OUT</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; };</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">void</span> clearStat();</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordtype">void</span> statPtsSize();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">void</span> statAddrVarPtsSize();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">void</span> calculateAddrVarPts(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pointer, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">void</span> statInOutPtsSize(<span class="keyword">const</span> DFInOutMap&amp; data, <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">ENUM_INOUT</a> inOrOut);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aea1cb2baea2f3c4d2ef62656a56bd077"> 123</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aea1cb2baea2f3c4d2ef62656a56bd077">_NumOfNullPtr</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a767a935ec5bacd97f4fa79a05c165cc2"> 124</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a767a935ec5bacd97f4fa79a05c165cc2">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a74ab9e235e08e4840223ddf0599a9da7"> 125</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a74ab9e235e08e4840223ddf0599a9da7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aa39c5d81cef922d7a0f98913dbf51fb0"> 128</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a2e9a786af3bce4b345d88ff05cd71f0f"> 129</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfFormalInSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a1cfd15cd46178718ea459f79738e0b69"> 130</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfFormalOutSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a0530fa56a9cea05d25ee350e9db9ed2a"> 131</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfActualInSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a3ac011649b3c0ced46283265ba88dd0e"> 132</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfActualOutSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab6fdf88fe931ead9a9b8f353c547c4ae"> 133</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfLoadSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ae0db364bf6657c770deabbe75d901a46"> 134</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfStoreSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a60741c38448e909388942a5e9f5b5ef4"> 135</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfMSSAPhiSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab6ccd8de2b7573f34c4d04b7f40d6522"> 138</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPts[2];</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a2162dffeb03e84daca52d6d8429b8529"> 139</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveEmptyINOUTPts[2];</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#acebccfa66669033af9f9d4b3d021ec1a"> 140</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInFormalIn[2];</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a0f9098bb73b06ba963bdce8ea26f0fa3"> 141</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInFormalOut[2];</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a505057e9b8962359c9461395fd7ed138"> 142</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInActualIn[2];</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#abeef6e8ba26d73d9e981a23d9f96e4d7"> 143</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInActualOut[2];</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aa754517cc9b5faeea010e336027c0ab4"> 144</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInLoad[2];</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a21f2c005bf927c0c23772172c08402bf"> 145</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInStore[2];</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a90f1c6072a153c856765b24bbcbfaeef"> 146</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInMSSAPhi[2];</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a08ea2c3d891337992291123a1bb4da97"> 147</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _PotentialNumOfVarHaveINOUTPts[2];</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a737d955e3707cf758a5580eab2e60e96"> 150</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a737d955e3707cf758a5580eab2e60e96">_MaxPtsSize</a>; </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aecf324702d542f824e8b7a4d9827f557"> 151</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aecf324702d542f824e8b7a4d9827f557">_MaxTopLvlPtsSize</a>; </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab3e56ed16ce45d35c8f35f1fc1248c36"> 152</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _MaxInOutPtsSize[2]; </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a8b5bfc9c3cbf9451603860789640246a"> 154</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a8b5bfc9c3cbf9451603860789640246a">_TotalPtsSize</a>; </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a07adfab66dd7ed22993e59ad3bf74946"> 156</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a07adfab66dd7ed22993e59ad3bf74946">_AvgPtsSize</a>; </div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a31235f25af7970142ef235681d2a447c"> 157</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a31235f25af7970142ef235681d2a447c">_AvgTopLvlPtsSize</a>; </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#af45e08caf715cca450390ffc2fddb049"> 158</a></span>&#160; <span class="keywordtype">double</span> _AvgInOutPtsSize[2]; </div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a08bfa021eab91d647932aa790d300bbc"> 159</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a08bfa021eab91d647932aa790d300bbc">_AvgAddrTakenVarPtsSize</a>; </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a7c88e2528a93511ba8dde4805cadcd30"> 161</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a7c88e2528a93511ba8dde4805cadcd30">_MaxAddrTakenVarPts</a>; </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7"> 162</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7">_NumOfAddrTakeVar</a>; </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;};</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html"> 165</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html">VersionedFlowSensitiveStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a19bde64f7e0ac99a2a6b49e78aa2e70f"> 168</a></span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a19bde64f7e0ac99a2a6b49e78aa2e70f">vfspta</a>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a762c964e76d181716e1a3833dc4c0706"> 170</a></span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a762c964e76d181716e1a3833dc4c0706">VersionedFlowSensitiveStat</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a>* <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>): <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; vfspta = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; clearStat();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5524ff7901659f56e9de343992be8f3b">startClk</a>();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a57190355942c2f4f839a1a3fd8db9d32"> 177</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a57190355942c2f4f839a1a3fd8db9d32">~VersionedFlowSensitiveStat</a>() { }</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> clearStat();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> versionStat(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">void</span> ptsSizeStat(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a7efe89e95b5989f861d934d52d0bbce0"> 191</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a7efe89e95b5989f861d934d52d0bbce0">_NumVersions</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#aacce301a2c2613591dcd2afaccfcb380"> 193</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#aacce301a2c2613591dcd2afaccfcb380">_MaxVersions</a>;</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac938f088c33346ad01ace37160ea8e81"> 195</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac938f088c33346ad01ace37160ea8e81">_NumUsedVersions</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a59f2b0ca53d3b94ce596cd2a934e6976"> 197</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a59f2b0ca53d3b94ce596cd2a934e6976">_NumNonEmptyVersions</a>;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a585f952ecdbd9fb559d2a5754a77d7b4"> 199</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a585f952ecdbd9fb559d2a5754a77d7b4">_NumEmptyVersions</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a54c05a4b7ca2af66bf74a5f87cd2c416"> 201</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a54c05a4b7ca2af66bf74a5f87cd2c416">_NumSingleVersion</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a99a7d0bbea0f015f5a656c33ee3ab88d"> 204</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a99a7d0bbea0f015f5a656c33ee3ab88d">_MaxPtsSize</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac07c5308abfe6cdb6b242a7548fe71c5"> 206</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac07c5308abfe6cdb6b242a7548fe71c5">_MaxTopLvlPtsSize</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8c4bfeab6bb30a16689d3c3c54a1057d"> 208</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8c4bfeab6bb30a16689d3c3c54a1057d">_MaxVersionPtsSize</a>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a5ae1833ae26af8bcb819dad24e2390de"> 211</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a5ae1833ae26af8bcb819dad24e2390de">_TotalPtsSize</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a637485a4ee7fd5bfd5b78ee140fb3108"> 214</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a637485a4ee7fd5bfd5b78ee140fb3108">_AvgPtsSize</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492"> 216</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492">_AvgTopLvlPtsSize</a>;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a2e3c24fbb1faaf345e6806e99a07f782"> 218</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a2e3c24fbb1faaf345e6806e99a07f782">_AvgVersionPtsSize</a>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;};</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* FLOWSENSITIVESTAT_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1VersionedFlowSensitiveStat_html_a8bf7eeabb0c390d4f5405d87ffad0492"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492">SVF::VersionedFlowSensitiveStat::_AvgTopLvlPtsSize</a></div><div class="ttdeci">double _AvgTopLvlPtsSize</div><div class="ttdoc">Average points-to set size for top-level pointers. </div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00216">WPAStat.h:216</a></div></div>
69
+ <a href="WPAStat_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- WPAStat.h -- WPA statistics--------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * FlowSensitiveStat.h</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Created on: 27/11/2013</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * Author: yesen</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef FLOWSENSITIVESTAT_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define FLOWSENSITIVESTAT_H_</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PTAStat_8h.html">Util/PTAStat.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FlowSensitive_8h.html">WPA/FlowSensitive.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="VersionedFlowSensitive_8h.html">WPA/VersionedFlowSensitive.h</a>&quot;</span></div><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="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>AndersenBase;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">class </span>SVFIR;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">class </span>ConstraintGraph;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AndersenStat.html">AndersenStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187"> 52</a></span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html">AndersenBase</a>* <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>;</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="keyword">public</span>:</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15"> 55</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15">CollapseTime</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"><a class="line" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3"> 57</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21"> 58</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">_NumOfCycles</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83"> 59</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">_NumOfPWCCycles</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9"> 60</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">_NumOfNodesInCycles</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10"> 61</a></span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">_MaxNumOfNodesInSCC</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded"> 62</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67"> 63</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7"> 64</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a257d814ef3983c4f513d37161d376719">AndersenStat</a>(<a class="code" href="classSVF_1_1AndersenBase.html">AndersenBase</a>* <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>);</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"><a class="line" href="classSVF_1_1AndersenStat.html#a31c59fe771f44b32a7d58145eb44a971"> 68</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AndersenStat.html#a31c59fe771f44b32a7d58145eb44a971">~AndersenStat</a>()</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>();</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; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#ae35507bebe6a1a9a64ab379473c85cad">collectCycleInfo</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>* consCG);</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; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a5ad75166a80052f9e6fdd14ff7c8b948">constraintGraphStat</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;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html"> 85</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1FlowSensitiveStat.html">FlowSensitiveStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;{</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75"> 88</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FlowSensitive.html#af9a2bd5b490f1cc5335ce696173c78dd">FlowSensitive::DFInOutMap</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75">DFInOutMap</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e"> 89</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a7bb300f30f4f8cee208229ae10faa291">FlowSensitive::PtsMap</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e">PtsMap</a>;</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"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f"> 91</a></span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a> * <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a2a7ae289b0400e63fa217f8717f4ffa9"> 93</a></span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a2a7ae289b0400e63fa217f8717f4ffa9">FlowSensitiveStat</a>(<a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a>* <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>): <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; fspta = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; clearStat();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5524ff7901659f56e9de343992be8f3b">startClk</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a308c187020098a7f421592e8baa98967"> 100</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a308c187020098a7f421592e8baa98967">~FlowSensitiveStat</a>() {}</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>();</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71"> 105</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">ENUM_INOUT</a></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739"> 107</a></span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5"> 108</a></span>&#160; OUT</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; };</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">void</span> clearStat();</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordtype">void</span> statPtsSize();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">void</span> statAddrVarPtsSize();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">void</span> calculateAddrVarPts(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pointer, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">void</span> statInOutPtsSize(<span class="keyword">const</span> DFInOutMap&amp; data, <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">ENUM_INOUT</a> inOrOut);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aea1cb2baea2f3c4d2ef62656a56bd077"> 123</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aea1cb2baea2f3c4d2ef62656a56bd077">_NumOfNullPtr</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a767a935ec5bacd97f4fa79a05c165cc2"> 124</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a767a935ec5bacd97f4fa79a05c165cc2">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a74ab9e235e08e4840223ddf0599a9da7"> 125</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a74ab9e235e08e4840223ddf0599a9da7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aa39c5d81cef922d7a0f98913dbf51fb0"> 128</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a2e9a786af3bce4b345d88ff05cd71f0f"> 129</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfFormalInSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a1cfd15cd46178718ea459f79738e0b69"> 130</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfFormalOutSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a0530fa56a9cea05d25ee350e9db9ed2a"> 131</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfActualInSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a3ac011649b3c0ced46283265ba88dd0e"> 132</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfActualOutSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab6fdf88fe931ead9a9b8f353c547c4ae"> 133</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfLoadSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ae0db364bf6657c770deabbe75d901a46"> 134</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfStoreSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a60741c38448e909388942a5e9f5b5ef4"> 135</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfMSSAPhiSVFGNodesHaveInOut[2];</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab6ccd8de2b7573f34c4d04b7f40d6522"> 138</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPts[2];</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a2162dffeb03e84daca52d6d8429b8529"> 139</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveEmptyINOUTPts[2];</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#acebccfa66669033af9f9d4b3d021ec1a"> 140</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInFormalIn[2];</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a0f9098bb73b06ba963bdce8ea26f0fa3"> 141</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInFormalOut[2];</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a505057e9b8962359c9461395fd7ed138"> 142</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInActualIn[2];</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#abeef6e8ba26d73d9e981a23d9f96e4d7"> 143</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInActualOut[2];</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aa754517cc9b5faeea010e336027c0ab4"> 144</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInLoad[2];</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a21f2c005bf927c0c23772172c08402bf"> 145</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInStore[2];</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a90f1c6072a153c856765b24bbcbfaeef"> 146</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _NumOfVarHaveINOUTPtsInMSSAPhi[2];</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a08ea2c3d891337992291123a1bb4da97"> 147</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _PotentialNumOfVarHaveINOUTPts[2];</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a737d955e3707cf758a5580eab2e60e96"> 150</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a737d955e3707cf758a5580eab2e60e96">_MaxPtsSize</a>; </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#aecf324702d542f824e8b7a4d9827f557"> 151</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aecf324702d542f824e8b7a4d9827f557">_MaxTopLvlPtsSize</a>; </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ab3e56ed16ce45d35c8f35f1fc1248c36"> 152</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _MaxInOutPtsSize[2]; </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a8b5bfc9c3cbf9451603860789640246a"> 154</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a8b5bfc9c3cbf9451603860789640246a">_TotalPtsSize</a>; </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a07adfab66dd7ed22993e59ad3bf74946"> 156</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a07adfab66dd7ed22993e59ad3bf74946">_AvgPtsSize</a>; </div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a31235f25af7970142ef235681d2a447c"> 157</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a31235f25af7970142ef235681d2a447c">_AvgTopLvlPtsSize</a>; </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#af45e08caf715cca450390ffc2fddb049"> 158</a></span>&#160; <span class="keywordtype">double</span> _AvgInOutPtsSize[2]; </div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a08bfa021eab91d647932aa790d300bbc"> 159</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a08bfa021eab91d647932aa790d300bbc">_AvgAddrTakenVarPtsSize</a>; </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a7c88e2528a93511ba8dde4805cadcd30"> 161</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a7c88e2528a93511ba8dde4805cadcd30">_MaxAddrTakenVarPts</a>; </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7"> 162</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7">_NumOfAddrTakeVar</a>; </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;};</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html"> 165</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html">VersionedFlowSensitiveStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a19bde64f7e0ac99a2a6b49e78aa2e70f"> 168</a></span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a19bde64f7e0ac99a2a6b49e78aa2e70f">vfspta</a>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a762c964e76d181716e1a3833dc4c0706"> 170</a></span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a762c964e76d181716e1a3833dc4c0706">VersionedFlowSensitiveStat</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a>* <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>): <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>(pta)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; vfspta = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; clearStat();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#a5524ff7901659f56e9de343992be8f3b">startClk</a>();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a57190355942c2f4f839a1a3fd8db9d32"> 177</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a57190355942c2f4f839a1a3fd8db9d32">~VersionedFlowSensitiveStat</a>() { }</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> clearStat();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> versionStat(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">void</span> ptsSizeStat(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a7efe89e95b5989f861d934d52d0bbce0"> 191</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a7efe89e95b5989f861d934d52d0bbce0">_NumVersions</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#aacce301a2c2613591dcd2afaccfcb380"> 193</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#aacce301a2c2613591dcd2afaccfcb380">_MaxVersions</a>;</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac938f088c33346ad01ace37160ea8e81"> 195</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac938f088c33346ad01ace37160ea8e81">_NumUsedVersions</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a59f2b0ca53d3b94ce596cd2a934e6976"> 197</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a59f2b0ca53d3b94ce596cd2a934e6976">_NumNonEmptyVersions</a>;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a585f952ecdbd9fb559d2a5754a77d7b4"> 199</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a585f952ecdbd9fb559d2a5754a77d7b4">_NumEmptyVersions</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a54c05a4b7ca2af66bf74a5f87cd2c416"> 201</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a54c05a4b7ca2af66bf74a5f87cd2c416">_NumSingleVersion</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a99a7d0bbea0f015f5a656c33ee3ab88d"> 204</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a99a7d0bbea0f015f5a656c33ee3ab88d">_MaxPtsSize</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac07c5308abfe6cdb6b242a7548fe71c5"> 206</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#ac07c5308abfe6cdb6b242a7548fe71c5">_MaxTopLvlPtsSize</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8c4bfeab6bb30a16689d3c3c54a1057d"> 208</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8c4bfeab6bb30a16689d3c3c54a1057d">_MaxVersionPtsSize</a>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a5ae1833ae26af8bcb819dad24e2390de"> 211</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a5ae1833ae26af8bcb819dad24e2390de">_TotalPtsSize</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a637485a4ee7fd5bfd5b78ee140fb3108"> 214</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a637485a4ee7fd5bfd5b78ee140fb3108">_AvgPtsSize</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492"> 216</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492">_AvgTopLvlPtsSize</a>;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a2e3c24fbb1faaf345e6806e99a07f782"> 218</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a2e3c24fbb1faaf345e6806e99a07f782">_AvgVersionPtsSize</a>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;};</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* FLOWSENSITIVESTAT_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1VersionedFlowSensitiveStat_html_a8bf7eeabb0c390d4f5405d87ffad0492"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#a8bf7eeabb0c390d4f5405d87ffad0492">SVF::VersionedFlowSensitiveStat::_AvgTopLvlPtsSize</a></div><div class="ttdeci">double _AvgTopLvlPtsSize</div><div class="ttdoc">Average points-to set size for top-level pointers. </div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00216">WPAStat.h:216</a></div></div>
70
70
  <div class="ttc" id="cJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a6e58c88a4118d368955dee5bbb0ccd21"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">SVF::AndersenStat::_NumOfCycles</a></div><div class="ttdeci">static u32_t _NumOfCycles</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00058">WPAStat.h:58</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_af9a2bd5b490f1cc5335ce696173c78dd"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af9a2bd5b490f1cc5335ce696173c78dd">SVF::FlowSensitive::DFInOutMap</a></div><div class="ttdeci">BVDataPTAImpl::MutDFPTDataTy::DFPtsMap DFInOutMap</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00057">FlowSensitive.h:57</a></div></div>
@@ -156,7 +156,7 @@ Functions</h2></td></tr>
156
156
  <p>Build Program Assignment Graph (SVFIR) </p>
157
157
 
158
158
  <p class="definition">Definition at line <a class="el" href="cfl_8cpp_source.html#l00046">46</a> of file <a class="el" href="cfl_8cpp_source.html">cfl.cpp</a>.</p>
159
- <div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot;CFL Reachability Analysis\n&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</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; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (Options::CFLGraph.empty())</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; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* svfir = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(svfModule);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>* cflaa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>(svfir);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; cflaa-&gt;<a class="code" href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">analyze</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">delete</span> cflaa;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* svfir = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>* cflaa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>(svfir);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; cflaa-&gt;<a class="code" href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">analyze</a>();</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">delete</span> cflaa;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; SVFIR::releaseSVFIR();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a>();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLAlias_html"><div class="ttname"><a href="classSVF_1_1CFLAlias.html">SVF::CFLAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00043">CFLAlias.h:43</a></div></div>
159
+ <div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot;CFL Reachability Analysis\n&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</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; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (Options::CFLGraph.empty())</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; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* svfir = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(svfModule);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>* cflaa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>(svfir);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; cflaa-&gt;<a class="code" href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">analyze</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">delete</span> cflaa;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* svfir = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>* cflaa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLAlias.html">CFLAlias</a>(svfir);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; cflaa-&gt;<a class="code" href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">analyze</a>();</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">delete</span> cflaa;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; SVFIR::releaseSVFIR();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a>();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLAlias_html"><div class="ttname"><a href="classSVF_1_1CFLAlias.html">SVF::CFLAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8h_source.html#l00045">CFLAlias.h:45</a></div></div>
160
160
  <div class="ttc" id="classSVF_1_1SVFIRBuilder_html_aa6d56f9580f76fd09d25ce6cf7541e98"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build(SVFModule *svfModule)</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00050">SVFIRBuilder.cpp:50</a></div></div>
161
161
  <div class="ttc" id="classSVF_1_1CFLAlias_html_afc6922e9f1965ed85ef87151e00f5311"><div class="ttname"><a href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">SVF::CFLAlias::analyze</a></div><div class="ttdeci">virtual void analyze()</div><div class="ttdoc">Start Analysis here (main part of pointer analysis). </div><div class="ttdef"><b>Definition:</b> <a href="CFLAlias_8cpp_source.html#l00198">CFLAlias.cpp:198</a></div></div>
162
162
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>