svf-tools 1.0.855 → 1.0.857

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 (502) hide show
  1. package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
  2. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +154 -163
  4. package/SVF-doxygen/html/Andersen_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/Andersen_8h_source.html +13 -13
  6. package/SVF-doxygen/html/CFBasicBlockGWTO_8h.html +109 -0
  7. package/SVF-doxygen/html/CFBasicBlockGWTO_8h_source.html +185 -0
  8. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/CFLAlias_8h_source.html +4 -4
  10. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/CFLBase_8h_source.html +1 -1
  12. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/CFLStat_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/CFLVF_8h_source.html +2 -2
  15. package/SVF-doxygen/html/CSC_8h.html +3 -3
  16. package/SVF-doxygen/html/CSC_8h_source.html +5 -5
  17. package/SVF-doxygen/html/ConsGNode_8h_source.html +4 -4
  18. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +14 -14
  19. package/SVF-doxygen/html/ContextDDA_8h_source.html +6 -6
  20. package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
  21. package/SVF-doxygen/html/DDAClient_8h_source.html +1 -1
  22. package/SVF-doxygen/html/DDAPass_8cpp_source.html +7 -7
  23. package/SVF-doxygen/html/DDAPass_8h.html +3 -3
  24. package/SVF-doxygen/html/DDAPass_8h_source.html +4 -4
  25. package/SVF-doxygen/html/DDAStat_8cpp_source.html +10 -10
  26. package/SVF-doxygen/html/DDAStat_8h_source.html +1 -1
  27. package/SVF-doxygen/html/DDAVFSolver_8h.html +2 -2
  28. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +5 -5
  29. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +2 -2
  30. package/SVF-doxygen/html/FSMPTA_8h_source.html +5 -5
  31. package/SVF-doxygen/html/FlowDDA_8h_source.html +11 -11
  32. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +236 -238
  33. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/FlowSensitive_8h_source.html +7 -7
  35. package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
  36. package/SVF-doxygen/html/ICFGWTO_8h.html +109 -0
  37. package/SVF-doxygen/html/ICFGWTO_8h_source.html +177 -0
  38. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +2 -2
  39. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  40. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
  41. package/SVF-doxygen/html/MTAStat_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/MTA_8cpp_source.html +3 -3
  43. package/SVF-doxygen/html/MemRegion_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/MemRegion_8h.html +3 -3
  45. package/SVF-doxygen/html/MemRegion_8h_source.html +4 -4
  46. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/Options_8cpp_source.html +10 -10
  48. package/SVF-doxygen/html/PCG_8h_source.html +4 -4
  49. package/SVF-doxygen/html/PTAStat_8cpp_source.html +99 -87
  50. package/SVF-doxygen/html/PTAStat_8h_source.html +2 -2
  51. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +30 -30
  52. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +15 -15
  53. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +42 -42
  54. package/SVF-doxygen/html/PointerAnalysis_8h.html +5 -5
  55. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +409 -418
  56. package/SVF-doxygen/html/SCC_8h.html +2 -2
  57. package/SVF-doxygen/html/SCC_8h_source.html +2 -2
  58. package/SVF-doxygen/html/SVFGBuilder_8h_source.html +3 -3
  59. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +16 -19
  60. package/SVF-doxygen/html/SVFGStat_8h.html +1 -1
  61. package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
  62. package/SVF-doxygen/html/SVFG_8h_source.html +1 -1
  63. package/SVF-doxygen/html/SVFStat_8cpp_source.html +196 -186
  64. package/SVF-doxygen/html/SVFStat_8h_source.html +44 -41
  65. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +5 -5
  66. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
  68. package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
  69. package/SVF-doxygen/html/TCT_8h.html +2 -2
  70. package/SVF-doxygen/html/TCT_8h_source.html +9 -9
  71. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +3 -3
  72. package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +1 -1
  73. package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/TypeAnalysis_8h_source.html +6 -6
  75. package/SVF-doxygen/html/VFG_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/VFG_8h_source.html +1 -1
  77. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +77 -79
  78. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +6 -6
  79. package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
  80. package/SVF-doxygen/html/WPAPass_8cpp_source.html +12 -12
  81. package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
  82. package/SVF-doxygen/html/WPAStat_8h_source.html +9 -9
  83. package/SVF-doxygen/html/WTO_8h.html +25 -13
  84. package/SVF-doxygen/html/WTO_8h_source.html +794 -853
  85. package/SVF-doxygen/html/annotated.html +402 -397
  86. package/SVF-doxygen/html/classSVF_1_1Andersen-members.html +121 -123
  87. package/SVF-doxygen/html/classSVF_1_1Andersen.html +11 -17
  88. package/SVF-doxygen/html/classSVF_1_1AndersenBase-members.html +100 -102
  89. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +11 -17
  90. package/SVF-doxygen/html/classSVF_1_1AndersenSCD-members.html +124 -126
  91. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +2 -8
  92. package/SVF-doxygen/html/classSVF_1_1AndersenSFR-members.html +129 -131
  93. package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +1 -7
  94. package/SVF-doxygen/html/classSVF_1_1AndersenStat-members.html +21 -20
  95. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +155 -161
  96. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff-members.html +122 -124
  97. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +2 -8
  98. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl-members.html +58 -60
  99. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +26 -32
  100. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO-members.html +57 -50
  101. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +203 -1663
  102. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.png +0 -0
  103. package/SVF-doxygen/html/classSVF_1_1CFLAlias-members.html +78 -80
  104. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +4 -10
  105. package/SVF-doxygen/html/classSVF_1_1CFLBase-members.html +75 -77
  106. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -7
  107. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +2 -2
  108. package/SVF-doxygen/html/classSVF_1_1CFLStat-members.html +19 -18
  109. package/SVF-doxygen/html/classSVF_1_1CFLStat.html +5 -2
  110. package/SVF-doxygen/html/classSVF_1_1CFLVF-members.html +77 -79
  111. package/SVF-doxygen/html/classSVF_1_1CFLVF.html +2 -8
  112. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl-members.html +50 -52
  113. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +9 -15
  114. package/SVF-doxygen/html/classSVF_1_1ConstraintNode-members.html +34 -34
  115. package/SVF-doxygen/html/classSVF_1_1ConstraintNode.html +25 -65
  116. package/SVF-doxygen/html/classSVF_1_1ContextDDA-members.html +97 -99
  117. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +18 -24
  118. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
  119. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +6 -6
  120. package/SVF-doxygen/html/classSVF_1_1DDAStat-members.html +18 -17
  121. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +12 -9
  122. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  123. package/SVF-doxygen/html/classSVF_1_1FSMPTA-members.html +140 -142
  124. package/SVF-doxygen/html/classSVF_1_1FSMPTA.html +2 -8
  125. package/SVF-doxygen/html/classSVF_1_1FlowDDA-members.html +102 -104
  126. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +15 -21
  127. package/SVF-doxygen/html/classSVF_1_1FlowSensitive-members.html +133 -135
  128. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +18 -24
  129. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat-members.html +24 -23
  130. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +241 -240
  131. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +2 -2
  132. package/SVF-doxygen/html/classSVF_1_1GenericNode.html +9 -10
  133. package/SVF-doxygen/html/classSVF_1_1GenericNode.png +0 -0
  134. package/SVF-doxygen/html/classSVF_1_1ICFGStat-members.html +19 -18
  135. package/SVF-doxygen/html/classSVF_1_1ICFGStat.html +4 -1
  136. package/SVF-doxygen/html/classSVF_1_1ICFGWTO-members.html +140 -0
  137. package/SVF-doxygen/html/classSVF_1_1ICFGWTO.html +379 -0
  138. package/SVF-doxygen/html/classSVF_1_1ICFGWTO.png +0 -0
  139. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +2 -2
  140. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
  141. package/SVF-doxygen/html/classSVF_1_1MTA.html +3 -3
  142. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  143. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  144. package/SVF-doxygen/html/classSVF_1_1MTAStat-members.html +20 -19
  145. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +6 -3
  146. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +5 -5
  147. package/SVF-doxygen/html/classSVF_1_1MemSSAStat-members.html +24 -23
  148. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +7 -4
  149. package/SVF-doxygen/html/classSVF_1_1PCG.html +3 -3
  150. package/SVF-doxygen/html/classSVF_1_1POCRAlias-members.html +78 -80
  151. package/SVF-doxygen/html/classSVF_1_1POCRAlias.html +0 -6
  152. package/SVF-doxygen/html/classSVF_1_1POCRHybrid-members.html +78 -80
  153. package/SVF-doxygen/html/classSVF_1_1POCRHybrid.html +0 -6
  154. package/SVF-doxygen/html/classSVF_1_1PTAStat-members.html +19 -18
  155. package/SVF-doxygen/html/classSVF_1_1PTAStat.html +100 -85
  156. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis-members.html +34 -36
  157. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +291 -356
  158. package/SVF-doxygen/html/classSVF_1_1SCCDetection.html +1 -1
  159. package/SVF-doxygen/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
  160. package/SVF-doxygen/html/classSVF_1_1SVFGStat-members.html +41 -40
  161. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +18 -18
  162. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +1 -1
  163. package/SVF-doxygen/html/classSVF_1_1SVFStat-members.html +13 -12
  164. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +208 -168
  165. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +5 -5
  166. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
  167. package/SVF-doxygen/html/classSVF_1_1Steensgaard-members.html +109 -111
  168. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +4 -10
  169. package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
  170. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
  171. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis-members.html +103 -105
  172. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +9 -15
  173. package/SVF-doxygen/html/classSVF_1_1VFG.html +2 -2
  174. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive-members.html +158 -160
  175. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +6 -12
  176. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +24 -23
  177. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +84 -83
  178. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +12 -12
  179. package/SVF-doxygen/html/classSVF_1_1WTO-members.html +137 -0
  180. package/SVF-doxygen/html/classSVF_1_1WTO.html +1998 -0
  181. package/SVF-doxygen/html/classSVF_1_1WTOComponent-members.html +97 -0
  182. package/SVF-doxygen/html/classSVF_1_1WTOComponent.html +515 -0
  183. package/SVF-doxygen/html/classSVF_1_1WTOComponentVisitor-members.html +93 -0
  184. package/SVF-doxygen/html/classSVF_1_1WTOComponentVisitor.html +421 -0
  185. package/SVF-doxygen/html/classSVF_1_1WTOComponentVisitor.png +0 -0
  186. package/SVF-doxygen/html/classSVF_1_1WTOCycle-members.html +98 -0
  187. package/SVF-doxygen/html/classSVF_1_1WTOCycle.html +630 -0
  188. package/SVF-doxygen/html/classSVF_1_1WTOCycleDepth-members.html +24 -23
  189. package/SVF-doxygen/html/classSVF_1_1WTOCycleDepth.html +338 -317
  190. package/SVF-doxygen/html/classSVF_1_1WTONode-members.html +91 -0
  191. package/SVF-doxygen/html/classSVF_1_1WTONode.html +390 -0
  192. package/SVF-doxygen/html/classSVF_1_1WTO_1_1WTOCycleDepthBuilder-members.html +96 -0
  193. package/SVF-doxygen/html/classSVF_1_1WTO_1_1WTOCycleDepthBuilder.html +332 -0
  194. package/SVF-doxygen/html/classSVF_1_1WTO_1_1WTOCycleDepthBuilder.png +0 -0
  195. package/SVF-doxygen/html/classes.html +383 -377
  196. package/SVF-doxygen/html/dir_445b24f35a8ddd2effd3d23ee1278e0a.html +0 -2
  197. package/SVF-doxygen/html/dir_f63327fc9cf9e35b7653a5e341daceab.html +4 -2
  198. package/SVF-doxygen/html/dir_fc0329f850c815763e0c5b05933e8d55.html +4 -0
  199. package/SVF-doxygen/html/files.html +31 -29
  200. package/SVF-doxygen/html/functions.html +18 -30
  201. package/SVF-doxygen/html/functions_a.html +17 -14
  202. package/SVF-doxygen/html/functions_b.html +25 -25
  203. package/SVF-doxygen/html/functions_c.html +37 -51
  204. package/SVF-doxygen/html/functions_e.html +7 -4
  205. package/SVF-doxygen/html/functions_enum.html +2 -2
  206. package/SVF-doxygen/html/functions_eval_c.html +1 -1
  207. package/SVF-doxygen/html/functions_eval_n.html +1 -1
  208. package/SVF-doxygen/html/functions_f.html +26 -21
  209. package/SVF-doxygen/html/functions_func.html +14 -11
  210. package/SVF-doxygen/html/functions_func_b.html +6 -10
  211. package/SVF-doxygen/html/functions_func_c.html +30 -36
  212. package/SVF-doxygen/html/functions_func_e.html +5 -5
  213. package/SVF-doxygen/html/functions_func_f.html +8 -3
  214. package/SVF-doxygen/html/functions_func_g.html +15 -25
  215. package/SVF-doxygen/html/functions_func_h.html +3 -3
  216. package/SVF-doxygen/html/functions_func_i.html +18 -14
  217. package/SVF-doxygen/html/functions_func_n.html +6 -6
  218. package/SVF-doxygen/html/functions_func_o.html +16 -16
  219. package/SVF-doxygen/html/functions_func_p.html +4 -7
  220. package/SVF-doxygen/html/functions_func_s.html +1 -1
  221. package/SVF-doxygen/html/functions_func_t.html +7 -10
  222. package/SVF-doxygen/html/functions_func_v.html +4 -5
  223. package/SVF-doxygen/html/functions_func_w.html +16 -4
  224. package/SVF-doxygen/html/functions_func_~.html +10 -10
  225. package/SVF-doxygen/html/functions_g.html +14 -21
  226. package/SVF-doxygen/html/functions_h.html +9 -6
  227. package/SVF-doxygen/html/functions_i.html +32 -29
  228. package/SVF-doxygen/html/functions_l.html +3 -3
  229. package/SVF-doxygen/html/functions_n.html +25 -23
  230. package/SVF-doxygen/html/functions_o.html +31 -29
  231. package/SVF-doxygen/html/functions_p.html +21 -15
  232. package/SVF-doxygen/html/functions_r.html +1 -1
  233. package/SVF-doxygen/html/functions_rela_o.html +3 -3
  234. package/SVF-doxygen/html/functions_s.html +26 -23
  235. package/SVF-doxygen/html/functions_t.html +14 -20
  236. package/SVF-doxygen/html/functions_type_b.html +4 -0
  237. package/SVF-doxygen/html/functions_type_c.html +3 -9
  238. package/SVF-doxygen/html/functions_type_e.html +3 -0
  239. package/SVF-doxygen/html/functions_type_g.html +3 -0
  240. package/SVF-doxygen/html/functions_type_i.html +7 -8
  241. package/SVF-doxygen/html/functions_type_n.html +13 -9
  242. package/SVF-doxygen/html/functions_type_s.html +3 -0
  243. package/SVF-doxygen/html/functions_type_w.html +19 -6
  244. package/SVF-doxygen/html/functions_v.html +8 -9
  245. package/SVF-doxygen/html/functions_vars.html +18 -30
  246. package/SVF-doxygen/html/functions_vars_h.html +3 -0
  247. package/SVF-doxygen/html/functions_vars_p.html +3 -0
  248. package/SVF-doxygen/html/functions_vars_t.html +0 -3
  249. package/SVF-doxygen/html/functions_vars_w.html +4 -0
  250. package/SVF-doxygen/html/functions_w.html +47 -20
  251. package/SVF-doxygen/html/functions_~.html +10 -10
  252. package/SVF-doxygen/html/hierarchy.html +621 -614
  253. package/SVF-doxygen/html/namespaceSVF.html +127 -7
  254. package/SVF-doxygen/html/namespacemembers_c.html +9 -0
  255. package/SVF-doxygen/html/namespacemembers_i.html +14 -5
  256. package/SVF-doxygen/html/namespacemembers_type_c.html +9 -0
  257. package/SVF-doxygen/html/namespacemembers_type_i.html +9 -0
  258. package/SVF-doxygen/html/search/all_0.js +124 -127
  259. package/SVF-doxygen/html/search/all_1.js +495 -495
  260. package/SVF-doxygen/html/search/all_10.js +325 -325
  261. package/SVF-doxygen/html/search/all_11.js +225 -225
  262. package/SVF-doxygen/html/search/all_12.js +555 -554
  263. package/SVF-doxygen/html/search/all_13.js +201 -203
  264. package/SVF-doxygen/html/search/all_14.js +67 -67
  265. package/SVF-doxygen/html/search/all_15.js +168 -168
  266. package/SVF-doxygen/html/search/all_16.js +73 -63
  267. package/SVF-doxygen/html/search/all_17.js +1 -1
  268. package/SVF-doxygen/html/search/all_18.js +1 -1
  269. package/SVF-doxygen/html/search/all_19.js +11 -11
  270. package/SVF-doxygen/html/search/all_1a.js +175 -175
  271. package/SVF-doxygen/html/search/all_2.js +172 -173
  272. package/SVF-doxygen/html/search/all_3.js +648 -649
  273. package/SVF-doxygen/html/search/all_4.js +230 -230
  274. package/SVF-doxygen/html/search/all_5.js +120 -119
  275. package/SVF-doxygen/html/search/all_6.js +227 -226
  276. package/SVF-doxygen/html/search/all_7.js +1046 -1048
  277. package/SVF-doxygen/html/search/all_8.js +196 -191
  278. package/SVF-doxygen/html/search/all_9.js +579 -574
  279. package/SVF-doxygen/html/search/all_a.js +46 -46
  280. package/SVF-doxygen/html/search/all_b.js +26 -26
  281. package/SVF-doxygen/html/search/all_c.js +115 -115
  282. package/SVF-doxygen/html/search/all_d.js +197 -197
  283. package/SVF-doxygen/html/search/all_e.js +207 -207
  284. package/SVF-doxygen/html/search/all_f.js +116 -116
  285. package/SVF-doxygen/html/search/classes_0.js +26 -26
  286. package/SVF-doxygen/html/search/classes_1.js +9 -9
  287. package/SVF-doxygen/html/search/classes_10.js +74 -74
  288. package/SVF-doxygen/html/search/classes_11.js +14 -15
  289. package/SVF-doxygen/html/search/classes_12.js +2 -2
  290. package/SVF-doxygen/html/search/classes_13.js +10 -10
  291. package/SVF-doxygen/html/search/classes_14.js +20 -14
  292. package/SVF-doxygen/html/search/classes_15.js +1 -1
  293. package/SVF-doxygen/html/search/classes_2.js +78 -81
  294. package/SVF-doxygen/html/search/classes_3.js +37 -37
  295. package/SVF-doxygen/html/search/classes_4.js +9 -9
  296. package/SVF-doxygen/html/search/classes_5.js +28 -28
  297. package/SVF-doxygen/html/search/classes_6.js +104 -104
  298. package/SVF-doxygen/html/search/classes_7.js +38 -34
  299. package/SVF-doxygen/html/search/classes_8.js +58 -57
  300. package/SVF-doxygen/html/search/classes_9.js +1 -1
  301. package/SVF-doxygen/html/search/classes_a.js +12 -12
  302. package/SVF-doxygen/html/search/classes_b.js +29 -29
  303. package/SVF-doxygen/html/search/classes_c.js +6 -6
  304. package/SVF-doxygen/html/search/classes_d.js +18 -18
  305. package/SVF-doxygen/html/search/classes_e.js +36 -36
  306. package/SVF-doxygen/html/search/classes_f.js +25 -25
  307. package/SVF-doxygen/html/search/defines_0.js +3 -3
  308. package/SVF-doxygen/html/search/defines_1.js +2 -2
  309. package/SVF-doxygen/html/search/defines_2.js +30 -30
  310. package/SVF-doxygen/html/search/defines_3.js +20 -20
  311. package/SVF-doxygen/html/search/defines_4.js +2 -2
  312. package/SVF-doxygen/html/search/defines_5.js +4 -4
  313. package/SVF-doxygen/html/search/defines_6.js +2 -2
  314. package/SVF-doxygen/html/search/defines_7.js +5 -5
  315. package/SVF-doxygen/html/search/defines_8.js +11 -11
  316. package/SVF-doxygen/html/search/defines_9.js +9 -9
  317. package/SVF-doxygen/html/search/defines_a.js +2 -2
  318. package/SVF-doxygen/html/search/defines_b.js +1 -1
  319. package/SVF-doxygen/html/search/defines_c.js +3 -3
  320. package/SVF-doxygen/html/search/defines_d.js +2 -2
  321. package/SVF-doxygen/html/search/defines_e.js +7 -7
  322. package/SVF-doxygen/html/search/defines_f.js +3 -3
  323. package/SVF-doxygen/html/search/enums_0.js +3 -3
  324. package/SVF-doxygen/html/search/enums_1.js +2 -2
  325. package/SVF-doxygen/html/search/enums_10.js +1 -1
  326. package/SVF-doxygen/html/search/enums_11.js +1 -1
  327. package/SVF-doxygen/html/search/enums_2.js +8 -8
  328. package/SVF-doxygen/html/search/enums_3.js +1 -1
  329. package/SVF-doxygen/html/search/enums_4.js +3 -3
  330. package/SVF-doxygen/html/search/enums_5.js +1 -1
  331. package/SVF-doxygen/html/search/enums_6.js +2 -2
  332. package/SVF-doxygen/html/search/enums_7.js +2 -2
  333. package/SVF-doxygen/html/search/enums_8.js +4 -4
  334. package/SVF-doxygen/html/search/enums_9.js +1 -1
  335. package/SVF-doxygen/html/search/enums_a.js +1 -1
  336. package/SVF-doxygen/html/search/enums_b.js +7 -7
  337. package/SVF-doxygen/html/search/enums_c.js +1 -1
  338. package/SVF-doxygen/html/search/enums_d.js +4 -4
  339. package/SVF-doxygen/html/search/enums_e.js +2 -2
  340. package/SVF-doxygen/html/search/enums_f.js +4 -4
  341. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  342. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  343. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  344. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  345. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  346. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  347. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  348. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  349. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  350. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  351. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  352. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  353. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  354. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  355. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  356. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  357. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  358. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  359. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  360. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  361. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  362. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  363. package/SVF-doxygen/html/search/files_0.js +14 -14
  364. package/SVF-doxygen/html/search/files_1.js +7 -7
  365. package/SVF-doxygen/html/search/files_10.js +8 -8
  366. package/SVF-doxygen/html/search/files_11.js +8 -8
  367. package/SVF-doxygen/html/search/files_12.js +2 -2
  368. package/SVF-doxygen/html/search/files_2.js +58 -57
  369. package/SVF-doxygen/html/search/files_3.js +14 -14
  370. package/SVF-doxygen/html/search/files_4.js +5 -5
  371. package/SVF-doxygen/html/search/files_5.js +13 -13
  372. package/SVF-doxygen/html/search/files_6.js +9 -9
  373. package/SVF-doxygen/html/search/files_7.js +15 -14
  374. package/SVF-doxygen/html/search/files_8.js +13 -13
  375. package/SVF-doxygen/html/search/files_9.js +18 -18
  376. package/SVF-doxygen/html/search/files_a.js +3 -3
  377. package/SVF-doxygen/html/search/files_b.js +2 -2
  378. package/SVF-doxygen/html/search/files_c.js +20 -20
  379. package/SVF-doxygen/html/search/files_d.js +4 -4
  380. package/SVF-doxygen/html/search/files_e.js +62 -62
  381. package/SVF-doxygen/html/search/files_f.js +8 -8
  382. package/SVF-doxygen/html/search/functions_0.js +13 -13
  383. package/SVF-doxygen/html/search/functions_1.js +365 -364
  384. package/SVF-doxygen/html/search/functions_10.js +139 -140
  385. package/SVF-doxygen/html/search/functions_11.js +140 -140
  386. package/SVF-doxygen/html/search/functions_12.js +289 -289
  387. package/SVF-doxygen/html/search/functions_13.js +71 -72
  388. package/SVF-doxygen/html/search/functions_14.js +39 -39
  389. package/SVF-doxygen/html/search/functions_15.js +71 -71
  390. package/SVF-doxygen/html/search/functions_16.js +36 -32
  391. package/SVF-doxygen/html/search/functions_17.js +3 -3
  392. package/SVF-doxygen/html/search/functions_18.js +175 -175
  393. package/SVF-doxygen/html/search/functions_2.js +90 -91
  394. package/SVF-doxygen/html/search/functions_3.js +260 -262
  395. package/SVF-doxygen/html/search/functions_4.js +78 -78
  396. package/SVF-doxygen/html/search/functions_5.js +53 -53
  397. package/SVF-doxygen/html/search/functions_6.js +61 -60
  398. package/SVF-doxygen/html/search/functions_7.js +854 -857
  399. package/SVF-doxygen/html/search/functions_8.js +148 -148
  400. package/SVF-doxygen/html/search/functions_9.js +422 -421
  401. package/SVF-doxygen/html/search/functions_a.js +30 -30
  402. package/SVF-doxygen/html/search/functions_b.js +2 -2
  403. package/SVF-doxygen/html/search/functions_c.js +25 -25
  404. package/SVF-doxygen/html/search/functions_d.js +79 -79
  405. package/SVF-doxygen/html/search/functions_e.js +35 -35
  406. package/SVF-doxygen/html/search/functions_f.js +56 -56
  407. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  408. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  409. package/SVF-doxygen/html/search/related_0.js +2 -2
  410. package/SVF-doxygen/html/search/related_1.js +2 -2
  411. package/SVF-doxygen/html/search/related_2.js +3 -3
  412. package/SVF-doxygen/html/search/related_3.js +2 -2
  413. package/SVF-doxygen/html/search/related_4.js +2 -2
  414. package/SVF-doxygen/html/search/related_5.js +1 -1
  415. package/SVF-doxygen/html/search/related_6.js +2 -2
  416. package/SVF-doxygen/html/search/related_7.js +4 -4
  417. package/SVF-doxygen/html/search/related_8.js +2 -2
  418. package/SVF-doxygen/html/search/related_9.js +4 -4
  419. package/SVF-doxygen/html/search/related_a.js +19 -19
  420. package/SVF-doxygen/html/search/related_b.js +4 -4
  421. package/SVF-doxygen/html/search/related_c.js +2 -2
  422. package/SVF-doxygen/html/search/related_d.js +12 -12
  423. package/SVF-doxygen/html/search/related_e.js +2 -2
  424. package/SVF-doxygen/html/search/related_f.js +2 -2
  425. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  426. package/SVF-doxygen/html/search/typedefs_1.js +27 -26
  427. package/SVF-doxygen/html/search/typedefs_10.js +63 -62
  428. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  429. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  430. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  431. package/SVF-doxygen/html/search/typedefs_14.js +11 -8
  432. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  433. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  434. package/SVF-doxygen/html/search/typedefs_4.js +18 -17
  435. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  436. package/SVF-doxygen/html/search/typedefs_6.js +57 -56
  437. package/SVF-doxygen/html/search/typedefs_7.js +47 -44
  438. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  439. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  440. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  441. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  442. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  443. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  444. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  445. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  446. package/SVF-doxygen/html/search/variables_0.js +148 -151
  447. package/SVF-doxygen/html/search/variables_1.js +76 -76
  448. package/SVF-doxygen/html/search/variables_10.js +99 -98
  449. package/SVF-doxygen/html/search/variables_11.js +45 -45
  450. package/SVF-doxygen/html/search/variables_12.js +91 -91
  451. package/SVF-doxygen/html/search/variables_13.js +73 -74
  452. package/SVF-doxygen/html/search/variables_14.js +14 -14
  453. package/SVF-doxygen/html/search/variables_15.js +49 -49
  454. package/SVF-doxygen/html/search/variables_16.js +10 -9
  455. package/SVF-doxygen/html/search/variables_17.js +1 -1
  456. package/SVF-doxygen/html/search/variables_18.js +2 -2
  457. package/SVF-doxygen/html/search/variables_2.js +38 -38
  458. package/SVF-doxygen/html/search/variables_3.js +142 -142
  459. package/SVF-doxygen/html/search/variables_4.js +50 -50
  460. package/SVF-doxygen/html/search/variables_5.js +37 -37
  461. package/SVF-doxygen/html/search/variables_6.js +66 -66
  462. package/SVF-doxygen/html/search/variables_7.js +34 -34
  463. package/SVF-doxygen/html/search/variables_8.js +8 -7
  464. package/SVF-doxygen/html/search/variables_9.js +78 -78
  465. package/SVF-doxygen/html/search/variables_a.js +4 -4
  466. package/SVF-doxygen/html/search/variables_b.js +10 -10
  467. package/SVF-doxygen/html/search/variables_c.js +45 -45
  468. package/SVF-doxygen/html/search/variables_d.js +55 -55
  469. package/SVF-doxygen/html/search/variables_e.js +123 -123
  470. package/SVF-doxygen/html/search/variables_f.js +30 -30
  471. package/SVF-doxygen/html/structSVF_1_1has__edgetype.html +97 -0
  472. package/SVF-doxygen/html/structSVF_1_1has__edgetype.png +0 -0
  473. package/SVF-doxygen/html/structSVF_1_1has__edgetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1EdgeType_01_4_01_4.html +97 -0
  474. package/SVF-doxygen/html/structSVF_1_1has__edgetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1EdgeType_01_4_01_4.png +0 -0
  475. package/SVF-doxygen/html/structSVF_1_1has__nodetype.html +97 -0
  476. package/SVF-doxygen/html/structSVF_1_1has__nodetype.png +0 -0
  477. package/SVF-doxygen/html/structSVF_1_1has__nodetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1NodeType_01_4_01_4.html +97 -0
  478. package/SVF-doxygen/html/structSVF_1_1has__nodetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1NodeType_01_4_01_4.png +0 -0
  479. package/SVF-doxygen/html/svf-ex_8cpp.html +2 -2
  480. package/SVF-doxygen/html/svf-ex_8cpp_source.html +3 -3
  481. package/package.json +1 -1
  482. package/svf/include/AbstractExecution/CFBasicBlockGWTO.h +83 -0
  483. package/svf/include/AbstractExecution/ICFGWTO.h +78 -0
  484. package/svf/include/DDA/DDAPass.h +2 -2
  485. package/svf/include/DDA/DDAVFSolver.h +2 -2
  486. package/svf/include/Graphs/SVFGStat.h +1 -1
  487. package/svf/include/Graphs/WTO.h +859 -0
  488. package/svf/include/MSSA/MemRegion.h +3 -3
  489. package/svf/include/MTA/TCT.h +2 -2
  490. package/svf/include/MemoryModel/PointerAnalysis.h +5 -14
  491. package/svf/include/Util/SVFStat.h +3 -0
  492. package/svf/include/WPA/CSC.h +3 -3
  493. package/svf/lib/DDA/DDAStat.cpp +2 -2
  494. package/svf/lib/Graphs/SVFGStat.cpp +2 -4
  495. package/svf/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  496. package/svf/lib/Util/PTAStat.cpp +14 -4
  497. package/svf/lib/Util/SVFStat.cpp +13 -3
  498. package/svf/lib/WPA/AndersenStat.cpp +3 -8
  499. package/svf/lib/WPA/FlowSensitiveStat.cpp +1 -2
  500. package/svf/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -2
  501. package/svf/include/AbstractExecution/WTO.h +0 -897
  502. /package/svf/include/{Util → Graphs}/SCC.h +0 -0
@@ -151,6 +151,9 @@ Public Attributes</h2></td></tr>
151
151
  </table><table class="memberdecls">
152
152
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
153
153
  Static Public Attributes</h2></td></tr>
154
+ <tr class="memitem:a218fc579a41983cad3f17f90e656ee72"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a218fc579a41983cad3f17f90e656ee72">printGeneralStats</a> = <a class="el" href="cJSON_8cpp.html#a930920b2bc42824a5c03be681830f4b2">true</a></td></tr>
155
+ <tr class="memdesc:a218fc579a41983cad3f17f90e656ee72"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a>'s general statistics are only printed once even if you run multiple anayses. <a href="classSVF_1_1SVFStat.html#a218fc579a41983cad3f17f90e656ee72">More...</a><br /></td></tr>
156
+ <tr class="separator:a218fc579a41983cad3f17f90e656ee72"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
157
  <tr class="memitem:aa4950ec26b66a085ad38ac154b789db5"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">timeOfBuildingLLVMModule</a> = 0</td></tr>
155
158
  <tr class="separator:aa4950ec26b66a085ad38ac154b789db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
156
159
  <tr class="memitem:ae89293bc063bdc74a988e9c37c70321e"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">timeOfBuildingSymbolTable</a> = 0</td></tr>
@@ -307,30 +310,30 @@ Private Attributes</h2></td></tr>
307
310
  </table>
308
311
  </div><div class="memdoc">
309
312
 
310
- <p class="definition">Definition at line <a class="el" href="SVFStat_8cpp_source.html#l00205">205</a> of file <a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a>.</p>
311
- <div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;{</div>
312
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>();</div>
313
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfBB_2Succ = 0;</div>
314
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfBB_3Succ = 0;</div>
315
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> funIter = module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), funEiter = module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>();</div>
316
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; funIter != funEiter; ++funIter)</div>
317
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
318
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func = *funIter;</div>
319
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVFFunction::const_iterator</a> bbIt = func-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae">begin</a>(), bbEit = func-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7">end</a>();</div>
320
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; bbIt != bbEit; ++bbIt)</div>
321
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
322
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb = *bbIt;</div>
323
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfSucc = bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">getNumSuccessors</a>();</div>
324
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (numOfSucc == 2)</div>
325
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; numOfBB_2Succ++;</div>
326
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (numOfSucc &gt; 2)</div>
327
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; numOfBB_3Succ++;</div>
328
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
329
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
330
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
331
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;BBWith2Succ&quot;</span>] = numOfBB_2Succ;</div>
332
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;BBWith3Succ&quot;</span>] = numOfBB_3Succ;</div>
333
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;}</div>
313
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8cpp_source.html#l00215">215</a> of file <a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a>.</p>
314
+ <div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;{</div>
315
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>();</div>
316
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfBB_2Succ = 0;</div>
317
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfBB_3Succ = 0;</div>
318
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> funIter = module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), funEiter = module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>();</div>
319
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; funIter != funEiter; ++funIter)</div>
320
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div>
321
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func = *funIter;</div>
322
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVFFunction::const_iterator</a> bbIt = func-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae">begin</a>(), bbEit = func-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7">end</a>();</div>
323
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; bbIt != bbEit; ++bbIt)</div>
324
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
325
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb = *bbIt;</div>
326
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfSucc = bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">getNumSuccessors</a>();</div>
327
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (numOfSucc == 2)</div>
328
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; numOfBB_2Succ++;</div>
329
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (numOfSucc &gt; 2)</div>
330
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; numOfBB_3Succ++;</div>
331
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
332
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div>
333
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
334
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;BBWith2Succ&quot;</span>] = numOfBB_2Succ;</div>
335
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;BBWith3Succ&quot;</span>] = numOfBB_3Succ;</div>
336
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
334
337
  </div><!-- fragment -->
335
338
  </div>
336
339
  </div>
@@ -359,8 +362,8 @@ Private Attributes</h2></td></tr>
359
362
 
360
363
  <p>Reimplemented in <a class="el" href="classSVF_1_1PTAStat.html#af2eb88d1563be9e6290a5fc69bec3bbe">SVF::PTAStat</a>.</p>
361
364
 
362
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00088">88</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
363
- <div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{}</div>
365
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00091">91</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
366
+ <div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{}</div>
364
367
  </div><!-- fragment -->
365
368
  </div>
366
369
  </div>
@@ -462,108 +465,113 @@ Private Attributes</h2></td></tr>
462
465
  </tr>
463
466
  </table>
464
467
  </div><div class="memdoc">
468
+ <p><a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a>'s general statistics are only printed once even if you run multiple anayses</p>
465
469
 
466
470
  <p>Implemented in <a class="el" href="classSVF_1_1SVFGStat.html#a037600bfff11659542f8595d8700dec4">SVF::SVFGStat</a>, <a class="el" href="classSVF_1_1MemSSAStat.html#a8b4b9466a676d2391c71d38e8be16bc9">SVF::MemSSAStat</a>, <a class="el" href="classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c">SVF::DDAStat</a>, <a class="el" href="classSVF_1_1PTAStat.html#ad6de9d3f25c20705768000c987af0eb6">SVF::PTAStat</a>, <a class="el" href="classSVF_1_1VersionedFlowSensitiveStat.html#af202623692135ad746aed1be995c55fb">SVF::VersionedFlowSensitiveStat</a>, <a class="el" href="classSVF_1_1FlowSensitiveStat.html#a059047d05e9873a624e333162a460571">SVF::FlowSensitiveStat</a>, <a class="el" href="classSVF_1_1ICFGStat.html#aabe0779dc44ddc4e06300ea912cca39f">SVF::ICFGStat</a>, <a class="el" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">SVF::AndersenStat</a>, and <a class="el" href="classSVF_1_1CFLStat.html#a1d85a7c4b2c22d3d8e0115212362d83b">SVF::CFLStat</a>.</p>
467
471
 
468
- <p class="definition">Definition at line <a class="el" href="SVFStat_8cpp_source.html#l00104">104</a> of file <a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a>.</p>
469
- <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div>
470
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
471
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>();</div>
472
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfFunction = 0;</div>
473
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfGlobal = 0;</div>
474
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfStack = 0;</div>
475
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHeap = 0;</div>
476
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasVarArray = 0;</div>
477
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasVarStruct = 0;</div>
478
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasConstArray = 0;</div>
479
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasConstStruct = 0;</div>
480
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfScalar = 0;</div>
481
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfConstant = 0;</div>
482
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fiObjNumber = 0;</div>
483
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fsObjNumber = 0;</div>
484
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;SymID&gt;</a> memObjSet;</div>
485
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> it = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div>
486
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
487
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = it-&gt;second;</div>
488
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a>* obj = SVFUtil::dyn_cast&lt;ObjVar&gt;(node))</div>
489
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
490
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = obj-&gt;getMemObj();</div>
491
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span> (memObjSet.insert(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">getId</a>()).second == <span class="keyword">false</span>)</div>
492
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">continue</span>;</div>
493
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7b890ca9e93b1c61cc6437b7e6a82a8c">isBlackHoleObj</a>())</div>
494
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">continue</span>;</div>
495
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">isFunction</a>())</div>
496
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; numOfFunction++;</div>
497
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a40462512a99eb258d8cd442c38d812b4">isGlobalObj</a>())</div>
498
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; numOfGlobal++;</div>
499
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#af7316c697eafc71d5fc93108da4e2cee">isStack</a>())</div>
500
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; numOfStack++;</div>
501
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>())</div>
502
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; numOfHeap++;</div>
503
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a616e9f4d6f82a253f94391c47668b9a6">isVarArray</a>())</div>
504
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; numOfHasVarArray++;</div>
505
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#ad1966c52f95775ac7d65c0ba6632c3cf">isVarStruct</a>())</div>
506
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; numOfHasVarStruct++;</div>
507
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>())</div>
508
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; numOfHasConstArray++;</div>
509
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
510
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; numOfHasConstStruct++;</div>
511
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a16dbca26cbb5af9be4a0b0aa04325810">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>() == <span class="keyword">false</span>)</div>
512
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; numOfScalar++;</div>
513
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>())</div>
514
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; numOfConstant++;</div>
515
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
516
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>())</div>
517
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; fiObjNumber++;</div>
518
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">else</span></div>
519
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; fsObjNumber++;</div>
520
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
521
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div>
522
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
523
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
472
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8cpp_source.html#l00109">109</a> of file <a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a>.</p>
473
+ <div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;{</div>
474
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
475
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SVFStat.html#a218fc579a41983cad3f17f90e656ee72">printGeneralStats</a> == <span class="keyword">false</span>)</div>
476
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span>;</div>
477
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
478
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>();</div>
479
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfFunction = 0;</div>
480
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfGlobal = 0;</div>
481
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfStack = 0;</div>
482
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHeap = 0;</div>
483
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasVarArray = 0;</div>
484
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasVarStruct = 0;</div>
485
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasConstArray = 0;</div>
486
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfHasConstStruct = 0;</div>
487
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfScalar = 0;</div>
488
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfConstant = 0;</div>
489
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fiObjNumber = 0;</div>
490
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fsObjNumber = 0;</div>
491
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;SymID&gt;</a> memObjSet;</div>
492
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> it = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div>
493
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
494
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = it-&gt;second;</div>
495
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a>* obj = SVFUtil::dyn_cast&lt;ObjVar&gt;(node))</div>
496
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
497
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = obj-&gt;getMemObj();</div>
498
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (memObjSet.insert(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">getId</a>()).second == <span class="keyword">false</span>)</div>
499
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">continue</span>;</div>
500
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7b890ca9e93b1c61cc6437b7e6a82a8c">isBlackHoleObj</a>())</div>
501
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">continue</span>;</div>
502
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">isFunction</a>())</div>
503
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; numOfFunction++;</div>
504
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a40462512a99eb258d8cd442c38d812b4">isGlobalObj</a>())</div>
505
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; numOfGlobal++;</div>
506
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#af7316c697eafc71d5fc93108da4e2cee">isStack</a>())</div>
507
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; numOfStack++;</div>
508
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>())</div>
509
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; numOfHeap++;</div>
510
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a616e9f4d6f82a253f94391c47668b9a6">isVarArray</a>())</div>
511
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; numOfHasVarArray++;</div>
512
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#ad1966c52f95775ac7d65c0ba6632c3cf">isVarStruct</a>())</div>
513
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; numOfHasVarStruct++;</div>
514
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>())</div>
515
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; numOfHasConstArray++;</div>
516
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
517
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; numOfHasConstStruct++;</div>
518
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a16dbca26cbb5af9be4a0b0aa04325810">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>() == <span class="keyword">false</span>)</div>
519
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; numOfScalar++;</div>
520
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span>(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>())</div>
521
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; numOfConstant++;</div>
524
522
  <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
525
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalPointers&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div>
526
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>();</div>
527
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalFieldObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</div>
528
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;MaxStructSize&quot;</span>] = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#abc7e567209010286a68634c700d76cca">getMaxStructSize</a>();</div>
529
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalSVFStmts&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a821df0fcb66e4f0a5b10c295c24b7c2c">getPAGEdgeNum</a>();</div>
530
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalPTASVFStmts&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a51485004eb28aab6620801205d13ef1b">getPTAPAGEdgeNum</a>();</div>
531
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;FIObjNum&quot;</span>] = fiObjNumber;</div>
532
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;FSObjNum&quot;</span>] = fsObjNumber;</div>
523
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>())</div>
524
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; fiObjNumber++;</div>
525
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">else</span></div>
526
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; fsObjNumber++;</div>
527
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
528
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
529
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
530
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
533
531
  <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
534
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;AddrsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>).size();</div>
535
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;LoadsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVFStmt::Load</a>).size();</div>
536
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;StoresNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>).size();</div>
537
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;CopysNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad3469cdfb64f05163b5310b731b221da">SVFStmt::Copy</a>).size();</div>
538
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;GepsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVFStmt::Gep</a>).size();</div>
539
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;CallsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a>).size();</div>
540
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ReturnsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">SVFStmt::Ret</a>).size();</div>
541
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
542
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;FunctionObjs&quot;</span>] = numOfFunction;</div>
543
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;GlobalObjs&quot;</span>] = numOfGlobal;</div>
544
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;HeapObjs&quot;</span>] = numOfHeap;</div>
545
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;StackObjs&quot;</span>] = numOfStack;</div>
546
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
547
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;VarStructObj&quot;</span>] = numOfHasVarStruct;</div>
548
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;VarArrayObj&quot;</span>] = numOfHasVarArray;</div>
549
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ConstStructObj&quot;</span>] = numOfHasConstStruct;</div>
550
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ConstArrayObj&quot;</span>] = numOfHasConstArray;</div>
551
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;NonPtrObj&quot;</span>] = numOfScalar;</div>
552
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ConstantObj&quot;</span>] = numOfConstant;</div>
553
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
554
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;IndCallSites&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>().size();</div>
555
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalCallSite&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa530e33657f68fc2e8eae9435ce430cb">getCallSiteSet</a>().size();</div>
556
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
557
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;LLVMIRTime&quot;</span>] = <a class="code" href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">SVFStat::timeOfBuildingLLVMModule</a>;</div>
558
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SymbolTableTime&quot;</span>] = <a class="code" href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">SVFStat::timeOfBuildingSymbolTable</a>;</div>
559
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SVFIRTime&quot;</span>] = <a class="code" href="classSVF_1_1SVFStat.html#aea75388c973674686d1f2b7498b4095c">SVFStat::timeOfBuildingSVFIR</a>;</div>
560
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; </div>
561
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// REFACTOR-TODO bitcastInstStat();</span></div>
562
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a17c8ea68bf1341ab80f71fff76a9ffce">branchStat</a>();</div>
563
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
564
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">printStat</a>(<span class="stringliteral">&quot;General Stats&quot;</span>);</div>
532
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalPointers&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div>
533
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>();</div>
534
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalFieldObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</div>
535
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;MaxStructSize&quot;</span>] = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#abc7e567209010286a68634c700d76cca">getMaxStructSize</a>();</div>
536
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalSVFStmts&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a821df0fcb66e4f0a5b10c295c24b7c2c">getPAGEdgeNum</a>();</div>
537
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalPTASVFStmts&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a51485004eb28aab6620801205d13ef1b">getPTAPAGEdgeNum</a>();</div>
538
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;FIObjNum&quot;</span>] = fiObjNumber;</div>
539
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;FSObjNum&quot;</span>] = fsObjNumber;</div>
540
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
541
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;AddrsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>).size();</div>
542
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;LoadsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVFStmt::Load</a>).size();</div>
543
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;StoresNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>).size();</div>
544
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;CopysNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad3469cdfb64f05163b5310b731b221da">SVFStmt::Copy</a>).size();</div>
545
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;GepsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVFStmt::Gep</a>).size();</div>
546
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;CallsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a>).size();</div>
547
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ReturnsNum&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">SVFStmt::Ret</a>).size();</div>
548
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
549
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;FunctionObjs&quot;</span>] = numOfFunction;</div>
550
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;GlobalObjs&quot;</span>] = numOfGlobal;</div>
551
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;HeapObjs&quot;</span>] = numOfHeap;</div>
552
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;StackObjs&quot;</span>] = numOfStack;</div>
553
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
554
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;VarStructObj&quot;</span>] = numOfHasVarStruct;</div>
555
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;VarArrayObj&quot;</span>] = numOfHasVarArray;</div>
556
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ConstStructObj&quot;</span>] = numOfHasConstStruct;</div>
557
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ConstArrayObj&quot;</span>] = numOfHasConstArray;</div>
558
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;NonPtrObj&quot;</span>] = numOfScalar;</div>
559
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ConstantObj&quot;</span>] = numOfConstant;</div>
560
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
561
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;IndCallSites&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>().size();</div>
562
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;TotalCallSite&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa530e33657f68fc2e8eae9435ce430cb">getCallSiteSet</a>().size();</div>
565
563
  <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
566
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;}</div>
564
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;LLVMIRTime&quot;</span>] = <a class="code" href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">SVFStat::timeOfBuildingLLVMModule</a>;</div>
565
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SymbolTableTime&quot;</span>] = <a class="code" href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">SVFStat::timeOfBuildingSymbolTable</a>;</div>
566
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SVFIRTime&quot;</span>] = <a class="code" href="classSVF_1_1SVFStat.html#aea75388c973674686d1f2b7498b4095c">SVFStat::timeOfBuildingSVFIR</a>;</div>
567
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
568
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="comment">// REFACTOR-TODO bitcastInstStat();</span></div>
569
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a17c8ea68bf1341ab80f71fff76a9ffce">branchStat</a>();</div>
570
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
571
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">printStat</a>(<span class="stringliteral">&quot;General Stats&quot;</span>);</div>
572
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
573
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a218fc579a41983cad3f17f90e656ee72">printGeneralStats</a> = <span class="keyword">false</span>;</div>
574
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;}</div>
567
575
  </div><!-- fragment -->
568
576
  </div>
569
577
  </div>
@@ -593,8 +601,8 @@ Private Attributes</h2></td></tr>
593
601
 
594
602
  <p>Reimplemented in <a class="el" href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11">SVF::DDAStat</a>.</p>
595
603
 
596
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00084">84</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
597
- <div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{}</div>
604
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00087">87</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
605
+ <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{}</div>
598
606
  </div><!-- fragment -->
599
607
  </div>
600
608
  </div>
@@ -638,29 +646,34 @@ Private Attributes</h2></td></tr>
638
646
  <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;################ (program : &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> &lt;&lt; <span class="stringliteral">&quot;)###############\n&quot;</span>;</div>
639
647
  <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flags(std::ios::left);</div>
640
648
  <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">unsigned</span> field_width = 20;</div>
641
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">for</span>(NUMStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.end(); it!=eit; ++it)</div>
642
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
643
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
644
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
645
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
646
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;-------------------------------------------------------\n&quot;</span>;</div>
647
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span>(TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.end(); it!=eit; ++it)</div>
648
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
649
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
650
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
651
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
652
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">for</span>(NUMStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.end(); it!=eit; ++it)</div>
653
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
654
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
655
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
656
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
657
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
658
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;#######################################################&quot;</span> &lt;&lt; std::endl;</div>
659
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div>
660
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.clear();</div>
661
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.clear();</div>
662
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.clear();</div>
663
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
649
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
650
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">for</span>(NUMStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.end(); it!=eit; ++it)</div>
651
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div>
652
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
653
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
654
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
655
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
656
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.empty())</div>
657
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;----------------Time and memory stats--------------------\n&quot;</span>;</div>
658
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">for</span>(TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.end(); it!=eit; ++it)</div>
659
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
660
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
661
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
662
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
663
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
664
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.empty())</div>
665
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;----------------Numbers stats----------------------------\n&quot;</span>;</div>
666
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span>(NUMStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.end(); it!=eit; ++it)</div>
667
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div>
668
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
669
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
670
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
671
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;#######################################################&quot;</span> &lt;&lt; std::endl;</div>
672
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div>
673
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.clear();</div>
674
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>.clear();</div>
675
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.clear();</div>
676
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;}</div>
664
677
  </div><!-- fragment -->
665
678
  </div>
666
679
  </div>
@@ -700,8 +713,8 @@ Private Attributes</h2></td></tr>
700
713
 
701
714
  <p>Reimplemented in <a class="el" href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff">SVF::DDAStat</a>.</p>
702
715
 
703
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00086">86</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
704
- <div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;{}</div>
716
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00089">89</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
717
+ <div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{}</div>
705
718
  </div><!-- fragment -->
706
719
  </div>
707
720
  </div>
@@ -748,7 +761,7 @@ Private Attributes</h2></td></tr>
748
761
  </table>
749
762
  </div><div class="memdoc">
750
763
 
751
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00078">78</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
764
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00081">81</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
752
765
 
753
766
  </div>
754
767
  </div>
@@ -764,7 +777,7 @@ Private Attributes</h2></td></tr>
764
777
  </table>
765
778
  </div><div class="memdoc">
766
779
 
767
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00073">73</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
780
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00076">76</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
768
781
 
769
782
  </div>
770
783
  </div>
@@ -788,7 +801,33 @@ Private Attributes</h2></td></tr>
788
801
  </table>
789
802
  </div><div class="memdoc">
790
803
 
791
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00096">96</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
804
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00099">99</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
805
+
806
+ </div>
807
+ </div>
808
+ <a id="a218fc579a41983cad3f17f90e656ee72"></a>
809
+ <h2 class="memtitle"><span class="permalink"><a href="#a218fc579a41983cad3f17f90e656ee72">&#9670;&nbsp;</a></span>printGeneralStats</h2>
810
+
811
+ <div class="memitem">
812
+ <div class="memproto">
813
+ <table class="mlabels">
814
+ <tr>
815
+ <td class="mlabels-left">
816
+ <table class="memname">
817
+ <tr>
818
+ <td class="memname">bool SVFStat::printGeneralStats = <a class="el" href="cJSON_8cpp.html#a930920b2bc42824a5c03be681830f4b2">true</a></td>
819
+ </tr>
820
+ </table>
821
+ </td>
822
+ <td class="mlabels-right">
823
+ <span class="mlabels"><span class="mlabel">static</span></span> </td>
824
+ </tr>
825
+ </table>
826
+ </div><div class="memdoc">
827
+
828
+ <p><a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a>'s general statistics are only printed once even if you run multiple anayses. </p>
829
+
830
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00074">74</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
792
831
 
793
832
  </div>
794
833
  </div>
@@ -804,7 +843,7 @@ Private Attributes</h2></td></tr>
804
843
  </table>
805
844
  </div><div class="memdoc">
806
845
 
807
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00074">74</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
846
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00077">77</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
808
847
 
809
848
  </div>
810
849
  </div>
@@ -820,7 +859,7 @@ Private Attributes</h2></td></tr>
820
859
  </table>
821
860
  </div><div class="memdoc">
822
861
 
823
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00077">77</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
862
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00080">80</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
824
863
 
825
864
  </div>
826
865
  </div>
@@ -844,7 +883,7 @@ Private Attributes</h2></td></tr>
844
883
  </table>
845
884
  </div><div class="memdoc">
846
885
 
847
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00090">90</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
886
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00093">93</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
848
887
 
849
888
  </div>
850
889
  </div>
@@ -868,7 +907,7 @@ Private Attributes</h2></td></tr>
868
907
  </table>
869
908
  </div><div class="memdoc">
870
909
 
871
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00092">92</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
910
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00095">95</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
872
911
 
873
912
  </div>
874
913
  </div>
@@ -892,7 +931,7 @@ Private Attributes</h2></td></tr>
892
931
  </table>
893
932
  </div><div class="memdoc">
894
933
 
895
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00091">91</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
934
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00094">94</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
896
935
 
897
936
  </div>
898
937
  </div>
@@ -908,7 +947,7 @@ Private Attributes</h2></td></tr>
908
947
  </table>
909
948
  </div><div class="memdoc">
910
949
 
911
- <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00075">75</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
950
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00078">78</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
912
951
 
913
952
  </div>
914
953
  </div>
@@ -917,26 +956,27 @@ Private Attributes</h2></td></tr>
917
956
  <li>/home/runner/work/SVF/SVF/svf/lib/Util/<a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a></li>
918
957
  </ul>
919
958
  </div><!-- contents -->
959
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a218fc579a41983cad3f17f90e656ee72"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a218fc579a41983cad3f17f90e656ee72">SVF::SVFStat::printGeneralStats</a></div><div class="ttdeci">static bool printGeneralStats</div><div class="ttdoc">SVF's general statistics are only printed once even if you run multiple anayses.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00074">SVFStat.h:74</a></div></div>
920
960
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00435">SymbolTableInfo.cpp:435</a></div></div>
921
961
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap &amp; getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00337">SVFIR.h:337</a></div></div>
922
962
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00384">GenericGraph.h:384</a></div></div>
923
963
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdeci">@ Call</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00067">SVFStatements.h:67</a></div></div>
924
964
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdeci">@ Addr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00063">SVFStatements.h:63</a></div></div>
925
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_abd7a79d1fe50110a0c1d448027492669"><div class="ttname"><a href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">SVF::SVFStat::startTime</a></div><div class="ttdeci">double startTime</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00077">SVFStat.h:77</a></div></div>
965
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_abd7a79d1fe50110a0c1d448027492669"><div class="ttname"><a href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">SVF::SVFStat::startTime</a></div><div class="ttdeci">double startTime</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00080">SVFStat.h:80</a></div></div>
926
966
  <div class="ttc" id="anamespaceSVF_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="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
927
967
  <div class="ttc" id="aclassSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00315">SVFVariables.h:315</a></div></div>
928
968
  <div class="ttc" id="aclassSVF_1_1MemObj_html_ad1966c52f95775ac7d65c0ba6632c3cf"><div class="ttname"><a href="classSVF_1_1MemObj.html#ad1966c52f95775ac7d65c0ba6632c3cf">SVF::MemObj::isVarStruct</a></div><div class="ttdeci">bool isVarStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00481">SymbolTableInfo.cpp:481</a></div></div>
929
969
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00325">SVFIR.h:325</a></div></div>
930
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_a11c34e8ba16769d218432d9504ba26a0"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">SVF::SVFStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00074">SVFStat.h:74</a></div></div>
970
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a11c34e8ba16769d218432d9504ba26a0"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">SVF::SVFStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00077">SVFStat.h:77</a></div></div>
931
971
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a616e9f4d6f82a253f94391c47668b9a6"><div class="ttname"><a href="classSVF_1_1MemObj.html#a616e9f4d6f82a253f94391c47668b9a6">SVF::MemObj::isVarArray</a></div><div class="ttdeci">bool isVarArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00486">SymbolTableInfo.cpp:486</a></div></div>
932
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_a17c8ea68bf1341ab80f71fff76a9ffce"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a17c8ea68bf1341ab80f71fff76a9ffce">SVF::SVFStat::branchStat</a></div><div class="ttdeci">void branchStat()</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00205">SVFStat.cpp:205</a></div></div>
972
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a17c8ea68bf1341ab80f71fff76a9ffce"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a17c8ea68bf1341ab80f71fff76a9ffce">SVF::SVFStat::branchStat</a></div><div class="ttdeci">void branchStat()</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00215">SVFStat.cpp:215</a></div></div>
933
973
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a821df0fcb66e4f0a5b10c295c24b7c2c"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a821df0fcb66e4f0a5b10c295c24b7c2c">SVF::IRGraph::getPAGEdgeNum</a></div><div class="ttdeci">u32_t getPAGEdgeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00208">IRGraph.h:208</a></div></div>
934
974
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00141">SVFModule.h:141</a></div></div>
935
975
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a1a4ff4aaaf2573240a318e1b79328cd0"><div class="ttname"><a href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">SVF::MemObj::isConstDataOrConstGlobal</a></div><div class="ttdeci">bool isConstDataOrConstGlobal() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00501">SymbolTableInfo.cpp:501</a></div></div>
936
976
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a3ab6f65ffbf6442daac4d3f70f2d3cb1"><div class="ttname"><a href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">SVF::MemObj::getId</a></div><div class="ttdeci">SymID getId() const</div><div class="ttdoc">Get the memory object id.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00412">SymbolTableInfo.h:412</a></div></div>
937
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_aa4950ec26b66a085ad38ac154b789db5"><div class="ttname"><a href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">SVF::SVFStat::timeOfBuildingLLVMModule</a></div><div class="ttdeci">static double timeOfBuildingLLVMModule</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00090">SVFStat.h:90</a></div></div>
977
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_aa4950ec26b66a085ad38ac154b789db5"><div class="ttname"><a href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">SVF::SVFStat::timeOfBuildingLLVMModule</a></div><div class="ttdeci">static double timeOfBuildingLLVMModule</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00093">SVFStat.h:93</a></div></div>
938
978
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00321">SVFIR.h:321</a></div></div>
939
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_aea75388c973674686d1f2b7498b4095c"><div class="ttname"><a href="classSVF_1_1SVFStat.html#aea75388c973674686d1f2b7498b4095c">SVF::SVFStat::timeOfBuildingSVFIR</a></div><div class="ttdeci">static double timeOfBuildingSVFIR</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00092">SVFStat.h:92</a></div></div>
979
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_aea75388c973674686d1f2b7498b4095c"><div class="ttname"><a href="classSVF_1_1SVFStat.html#aea75388c973674686d1f2b7498b4095c">SVF::SVFStat::timeOfBuildingSVFIR</a></div><div class="ttdeci">static double timeOfBuildingSVFIR</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00095">SVFStat.h:95</a></div></div>
940
980
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a0212f3fe2f37363e8060f292c8cf7668"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">SVF::IRGraph::getValueNodeNum</a></div><div class="ttdeci">u32_t getValueNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00187">IRGraph.h:187</a></div></div>
941
981
  <div class="ttc" id="aclassSVF_1_1SVFStat_html_a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa">SVF::SVFStat::CPU</a></div><div class="ttdeci">@ CPU</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00051">SVFStat.h:51</a></div></div>
942
982
  <div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
@@ -954,7 +994,7 @@ Private Attributes</h2></td></tr>
954
994
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_aa530e33657f68fc2e8eae9435ce430cb"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa530e33657f68fc2e8eae9435ce430cb">SVF::SVFIR::getCallSiteSet</a></div><div class="ttdeci">const CallSiteSet &amp; getCallSiteSet() const</div><div class="ttdoc">Get all callsites.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00241">SVFIR.h:241</a></div></div>
955
995
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">SVF::SVFStmt::Ret</a></div><div class="ttdeci">@ Ret</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00068">SVFStatements.h:68</a></div></div>
956
996
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a7b890ca9e93b1c61cc6437b7e6a82a8c"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7b890ca9e93b1c61cc6437b7e6a82a8c">SVF::MemObj::isBlackHoleObj</a></div><div class="ttdeci">bool isBlackHoleObj() const</div><div class="ttdoc">Whether it is a black hole object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00384">SymbolTableInfo.cpp:384</a></div></div>
957
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_a07b6f8cb424b84b468c4518140fa3a41"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">SVF::SVFStat::generalNumMap</a></div><div class="ttdeci">NUMStatMap generalNumMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00073">SVFStat.h:73</a></div></div>
997
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a07b6f8cb424b84b468c4518140fa3a41"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">SVF::SVFStat::generalNumMap</a></div><div class="ttdeci">NUMStatMap generalNumMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00076">SVFStat.h:76</a></div></div>
958
998
  <div class="ttc" id="aclassSVF_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>
959
999
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a51485004eb28aab6620801205d13ef1b"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a51485004eb28aab6620801205d13ef1b">SVF::IRGraph::getPTAPAGEdgeNum</a></div><div class="ttdeci">u32_t getPTAPAGEdgeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00212">IRGraph.h:212</a></div></div>
960
1000
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00133">SVFModule.h:133</a></div></div>
@@ -967,12 +1007,12 @@ Private Attributes</h2></td></tr>
967
1007
  <div class="ttc" id="aclassSVF_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#l00040">SVFModule.h:40</a></div></div>
968
1008
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a82528aff779ccf8f723f57507dd2d991"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">SVF::IRGraph::getObjectNodeNum</a></div><div class="ttdeci">u32_t getObjectNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00191">IRGraph.h:191</a></div></div>
969
1009
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
970
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_ae89293bc063bdc74a988e9c37c70321e"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">SVF::SVFStat::timeOfBuildingSymbolTable</a></div><div class="ttdeci">static double timeOfBuildingSymbolTable</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00091">SVFStat.h:91</a></div></div>
971
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_a5383691a34426a1a997b5eed387f1831"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">SVF::SVFStat::timeStatMap</a></div><div class="ttdeci">TIMEStatMap timeStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00075">SVFStat.h:75</a></div></div>
1010
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_ae89293bc063bdc74a988e9c37c70321e"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">SVF::SVFStat::timeOfBuildingSymbolTable</a></div><div class="ttdeci">static double timeOfBuildingSymbolTable</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00094">SVFStat.h:94</a></div></div>
1011
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a5383691a34426a1a997b5eed387f1831"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">SVF::SVFStat::timeStatMap</a></div><div class="ttdeci">TIMEStatMap timeStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00078">SVFStat.h:78</a></div></div>
972
1012
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00496">SymbolTableInfo.cpp:496</a></div></div>
973
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_a3333e45303dcc9c3da00858628cdbbff"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">SVF::SVFStat::moduleName</a></div><div class="ttdeci">std::string moduleName</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00096">SVFStat.h:96</a></div></div>
1013
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a3333e45303dcc9c3da00858628cdbbff"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">SVF::SVFStat::moduleName</a></div><div class="ttdeci">std::string moduleName</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00099">SVFStat.h:99</a></div></div>
974
1014
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00359">GenericGraph.h:359</a></div></div>
975
- <div class="ttc" id="aclassSVF_1_1SVFStat_html_a8b01f1564408b51f28c107454bf9068d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">SVF::SVFStat::endTime</a></div><div class="ttdeci">double endTime</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00078">SVFStat.h:78</a></div></div>
1015
+ <div class="ttc" id="aclassSVF_1_1SVFStat_html_a8b01f1564408b51f28c107454bf9068d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">SVF::SVFStat::endTime</a></div><div class="ttdeci">double endTime</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00081">SVFStat.h:81</a></div></div>
976
1016
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_aebc0d1aa674dec207a99c7fc148c9c36"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">SVF::SVFBasicBlock::getNumSuccessors</a></div><div class="ttdeci">u32_t getNumSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00616">SVFValue.h:616</a></div></div>
977
1017
  <div class="ttc" id="aclassSVF_1_1Options_html_a28af43961cb29a7dea50be2ab332cc75"><div class="ttname"><a href="classSVF_1_1Options.html#a28af43961cb29a7dea50be2ab332cc75">SVF::Options::ClockType</a></div><div class="ttdeci">static const OptionMap&lt; enum PTAStat::ClockType &gt; ClockType</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00024">Options.h:24</a></div></div>
978
1018
  <div class="ttc" id="aclassSVF_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#l00188">SVFIR.h:188</a></div></div>