svf-tools 1.0.556 → 1.0.559

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 (202) hide show
  1. package/README.md +2 -2
  2. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +15 -15
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +12 -11
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +11 -10
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +47 -46
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +9 -8
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +35 -34
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -6
  9. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +2 -2
  10. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +19 -18
  11. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +15 -15
  12. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
  13. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +13 -12
  14. package/SVF-doxygen/html/html/DDAPass_8h_source.html +11 -11
  15. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +20 -19
  16. package/SVF-doxygen/html/html/DDAStat_8h_source.html +13 -13
  17. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -2
  19. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -2
  20. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +5 -4
  22. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  25. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +67 -69
  30. package/SVF-doxygen/html/html/PTAStat_8h.html +1 -0
  31. package/SVF-doxygen/html/html/PTAStat_8h_source.html +70 -76
  32. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  34. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +2 -1
  35. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +5 -4
  36. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +22 -21
  37. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +5 -5
  38. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
  39. package/SVF-doxygen/html/html/SVFG_8h_source.html +3 -3
  40. package/SVF-doxygen/html/html/SVFStat_8cpp.html +81 -0
  41. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +85 -0
  42. package/SVF-doxygen/html/html/SVFStat_8h.html +94 -0
  43. package/SVF-doxygen/html/html/SVFStat_8h_source.html +103 -0
  44. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  48. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/WPAStat_8h_source.html +8 -8
  50. package/SVF-doxygen/html/html/annotated.html +39 -38
  51. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +79 -79
  52. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +15 -15
  53. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +37 -37
  54. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +22 -22
  56. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat-members.html +24 -22
  57. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +97 -86
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.png +0 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +24 -24
  60. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +47 -47
  61. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  62. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +30 -30
  63. package/SVF-doxygen/html/html/classSVF_1_1DDAStat-members.html +24 -23
  64. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +80 -67
  65. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +4 -4
  67. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +5 -4
  68. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +40 -5
  69. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -4
  70. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +26 -26
  71. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat-members.html +24 -22
  72. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +67 -56
  73. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.png +0 -0
  74. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat-members.html +23 -21
  75. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +55 -42
  76. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.png +0 -0
  77. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +6 -6
  78. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +4 -4
  79. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  80. package/SVF-doxygen/html/html/classSVF_1_1MTAStat-members.html +25 -23
  81. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +59 -48
  82. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.png +0 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +5 -5
  84. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat-members.html +22 -21
  85. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +57 -44
  86. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.png +0 -0
  87. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
  88. package/SVF-doxygen/html/html/classSVF_1_1Options.html +2 -2
  89. package/SVF-doxygen/html/html/classSVF_1_1PTAStat-members.html +24 -22
  90. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +186 -420
  91. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.png +0 -0
  92. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
  93. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
  94. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat-members.html +33 -32
  95. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +100 -87
  96. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.png +0 -0
  97. package/SVF-doxygen/html/html/classSVF_1_1SVFStat-members.html +100 -0
  98. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +605 -0
  99. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.png +0 -0
  100. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
  102. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +12 -12
  103. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +26 -24
  104. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +65 -54
  105. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.png +0 -0
  106. package/SVF-doxygen/html/html/classes.html +50 -50
  107. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  108. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  109. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +2 -0
  110. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
  111. package/SVF-doxygen/html/html/files.html +10 -8
  112. package/SVF-doxygen/html/html/functions_0x7e.html +3 -0
  113. package/SVF-doxygen/html/html/functions_c.html +28 -29
  114. package/SVF-doxygen/html/html/functions_e.html +3 -2
  115. package/SVF-doxygen/html/html/functions_enum.html +1 -1
  116. package/SVF-doxygen/html/html/functions_eval_c.html +1 -1
  117. package/SVF-doxygen/html/html/functions_eval_w.html +1 -1
  118. package/SVF-doxygen/html/html/functions_func_0x7e.html +3 -0
  119. package/SVF-doxygen/html/html/functions_func_c.html +28 -27
  120. package/SVF-doxygen/html/html/functions_func_e.html +1 -1
  121. package/SVF-doxygen/html/html/functions_func_g.html +1 -1
  122. package/SVF-doxygen/html/html/functions_func_i.html +11 -8
  123. package/SVF-doxygen/html/html/functions_func_p.html +9 -7
  124. package/SVF-doxygen/html/html/functions_func_s.html +15 -12
  125. package/SVF-doxygen/html/html/functions_g.html +2 -2
  126. package/SVF-doxygen/html/html/functions_i.html +8 -5
  127. package/SVF-doxygen/html/html/functions_l.html +3 -3
  128. package/SVF-doxygen/html/html/functions_m.html +2 -1
  129. package/SVF-doxygen/html/html/functions_n.html +1 -1
  130. package/SVF-doxygen/html/html/functions_p.html +17 -13
  131. package/SVF-doxygen/html/html/functions_r.html +7 -3
  132. package/SVF-doxygen/html/html/functions_s.html +23 -21
  133. package/SVF-doxygen/html/html/functions_t.html +6 -6
  134. package/SVF-doxygen/html/html/functions_type_n.html +1 -1
  135. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  136. package/SVF-doxygen/html/html/functions_type_t.html +1 -1
  137. package/SVF-doxygen/html/html/functions_v.html +3 -3
  138. package/SVF-doxygen/html/html/functions_vars_e.html +1 -0
  139. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  140. package/SVF-doxygen/html/html/functions_vars_m.html +1 -0
  141. package/SVF-doxygen/html/html/functions_vars_s.html +1 -0
  142. package/SVF-doxygen/html/html/functions_vars_t.html +1 -1
  143. package/SVF-doxygen/html/html/functions_w.html +1 -1
  144. package/SVF-doxygen/html/html/hierarchy.html +47 -46
  145. package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
  146. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  147. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  148. package/SVF-doxygen/html/html/search/all_12.js +13 -10
  149. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  150. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  151. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  152. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  153. package/SVF-doxygen/html/html/search/all_19.js +1 -0
  154. package/SVF-doxygen/html/html/search/all_3.js +3 -3
  155. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  156. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  157. package/SVF-doxygen/html/html/search/all_9.js +1 -0
  158. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  159. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  160. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  161. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  162. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  163. package/SVF-doxygen/html/html/search/enums_1.js +1 -1
  164. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  165. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -1
  166. package/SVF-doxygen/html/html/search/files_d.js +2 -0
  167. package/SVF-doxygen/html/html/search/functions_11.js +3 -2
  168. package/SVF-doxygen/html/html/search/functions_17.js +1 -0
  169. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  170. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  171. package/SVF-doxygen/html/html/search/functions_6.js +1 -1
  172. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  173. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  174. package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
  175. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  176. package/SVF-doxygen/html/html/search/typedefs_c.js +1 -1
  177. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  178. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  179. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  180. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  181. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  182. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  183. package/include/Graphs/ICFGStat.h +1 -1
  184. package/include/Util/ExtAPI.h +3 -0
  185. package/include/Util/ExtAPI.json +1456 -44
  186. package/include/Util/PTAStat.h +6 -36
  187. package/include/Util/SVFStat.h +95 -0
  188. package/include/WPA/AndersenPWC.h +1 -1
  189. package/lib/DDA/DDAPass.cpp +1 -0
  190. package/lib/DDA/DDAStat.cpp +1 -0
  191. package/lib/Graphs/SVFGReadWrite.cpp +1 -0
  192. package/lib/Graphs/SVFGStat.cpp +1 -0
  193. package/lib/SVF-FE/CHGBuilder.cpp +1 -0
  194. package/lib/Util/ExtAPI.cpp +42 -4
  195. package/lib/Util/PTAStat.cpp +2 -21
  196. package/lib/Util/SVFStat.cpp +58 -0
  197. package/lib/WPA/Andersen.cpp +1 -0
  198. package/lib/WPA/AndersenSCD.cpp +1 -0
  199. package/lib/WPA/AndersenSFR.cpp +1 -0
  200. package/lib/WPA/AndersenStat.cpp +1 -0
  201. package/lib/WPA/AndersenWaveDiff.cpp +1 -0
  202. package/package.json +1 -1
@@ -0,0 +1,605 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: SVF::SVFStat Class Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1SVFStat.html">SVFStat</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="summary">
66
+ <a href="#pub-types">Public Types</a> &#124;
67
+ <a href="#pub-methods">Public Member Functions</a> &#124;
68
+ <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
69
+ <a href="#pub-attribs">Public Attributes</a> &#124;
70
+ <a href="#pri-attribs">Private Attributes</a> &#124;
71
+ <a href="classSVF_1_1SVFStat-members.html">List of all members</a> </div>
72
+ <div class="headertitle">
73
+ <div class="title">SVF::SVFStat Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
74
+ </div><!--header-->
75
+ <div class="contents">
76
+
77
+ <p><code>#include &lt;<a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>&gt;</code></p>
78
+ <div class="dynheader">
79
+ Inheritance diagram for SVF::SVFStat:</div>
80
+ <div class="dyncontent">
81
+ <div class="center">
82
+ <img src="classSVF_1_1SVFStat.png" usemap="#SVF::SVFStat_map" alt=""/>
83
+ <map id="SVF::SVFStat_map" name="SVF::SVFStat_map">
84
+ <area href="classSVF_1_1PTAStat.html" alt="SVF::PTAStat" shape="rect" coords="0,56,200,80"/>
85
+ <area href="classSVF_1_1AndersenStat.html" alt="SVF::AndersenStat" shape="rect" coords="210,112,410,136"/>
86
+ <area href="classSVF_1_1DDAStat.html" alt="SVF::DDAStat" shape="rect" coords="210,168,410,192"/>
87
+ <area href="classSVF_1_1FlowSensitiveStat.html" alt="SVF::FlowSensitiveStat" shape="rect" coords="210,224,410,248"/>
88
+ <area href="classSVF_1_1ICFGStat.html" alt="SVF::ICFGStat" shape="rect" coords="210,280,410,304"/>
89
+ <area href="classSVF_1_1MemSSAStat.html" alt="SVF::MemSSAStat" shape="rect" coords="210,336,410,360"/>
90
+ <area href="classSVF_1_1MTAStat.html" alt="SVF::MTAStat" shape="rect" coords="210,392,410,416"/>
91
+ <area href="classSVF_1_1SVFGStat.html" alt="SVF::SVFGStat" shape="rect" coords="210,448,410,472"/>
92
+ <area href="classSVF_1_1VersionedFlowSensitiveStat.html" alt="SVF::VersionedFlowSensitiveStat" shape="rect" coords="210,504,410,528"/>
93
+ </map>
94
+ </div></div>
95
+ <table class="memberdecls">
96
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
97
+ Public Types</h2></td></tr>
98
+ <tr class="memitem:a4f47da512cfa8f94fddaddc65334b454"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454">ClockType</a> { <a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc">Wall</a>,
99
+ <a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa">CPU</a>
100
+ }</td></tr>
101
+ <tr class="separator:a4f47da512cfa8f94fddaddc65334b454"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:ab810863d70cb2f5b4e312d07eae51227"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; const char *, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#ab810863d70cb2f5b4e312d07eae51227">NUMStatMap</a></td></tr>
103
+ <tr class="separator:ab810863d70cb2f5b4e312d07eae51227"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+ <tr class="memitem:aeded7780a3f826b3efab971807e2dd98"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; const char *, double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">TIMEStatMap</a></td></tr>
105
+ <tr class="separator:aeded7780a3f826b3efab971807e2dd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
+ </table><table class="memberdecls">
107
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
108
+ Public Member Functions</h2></td></tr>
109
+ <tr class="memitem:ad22433722f7c71df19a891a5b5039d26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#ad22433722f7c71df19a891a5b5039d26">SVFStat</a> ()</td></tr>
110
+ <tr class="separator:ad22433722f7c71df19a891a5b5039d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+ <tr class="memitem:a135ac9973ebfef4680d343320453ff52"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a135ac9973ebfef4680d343320453ff52">~SVFStat</a> ()</td></tr>
112
+ <tr class="separator:a135ac9973ebfef4680d343320453ff52"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+ <tr class="memitem:a730cc814fede3edb563aa9957c869e9e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a730cc814fede3edb563aa9957c869e9e">startClk</a> ()</td></tr>
114
+ <tr class="separator:a730cc814fede3edb563aa9957c869e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:a1b7f1e3381de87f75f06cddb9c6c1ec1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a1b7f1e3381de87f75f06cddb9c6c1ec1">endClk</a> ()</td></tr>
116
+ <tr class="separator:a1b7f1e3381de87f75f06cddb9c6c1ec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
+ <tr class="memitem:a6113f8d009c42519f3a43913a0c02b95"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a6113f8d009c42519f3a43913a0c02b95">performStat</a> ()=0</td></tr>
118
+ <tr class="separator:a6113f8d009c42519f3a43913a0c02b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
+ <tr class="memitem:a77c3cfb0c2b85a343ad0fac3682557c3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a77c3cfb0c2b85a343ad0fac3682557c3">printStat</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> str=&quot;&quot;)=0</td></tr>
120
+ <tr class="separator:a77c3cfb0c2b85a343ad0fac3682557c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
+ <tr class="memitem:ab03780f736bed7861c9be14637e37ba3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#ab03780f736bed7861c9be14637e37ba3">performStatPerQuery</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
122
+ <tr class="separator:ab03780f736bed7861c9be14637e37ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
+ <tr class="memitem:a2dd8ce8bb1970344533babb9fc8ddd02"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a2dd8ce8bb1970344533babb9fc8ddd02">printStatPerQuery</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;)</td></tr>
124
+ <tr class="separator:a2dd8ce8bb1970344533babb9fc8ddd02"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+ <tr class="memitem:a21e6767fbe2c3cdea4aac30199dfd2f0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a21e6767fbe2c3cdea4aac30199dfd2f0">callgraphStat</a> ()</td></tr>
126
+ <tr class="separator:a21e6767fbe2c3cdea4aac30199dfd2f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+ </table><table class="memberdecls">
128
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
129
+ Static Public Member Functions</h2></td></tr>
130
+ <tr class="memitem:ac9d390c417df6f6af6b274618b87010d"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a> (bool mark=<a class="el" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>)</td></tr>
131
+ <tr class="separator:ac9d390c417df6f6af6b274618b87010d"><td class="memSeparator" colspan="2">&#160;</td></tr>
132
+ </table><table class="memberdecls">
133
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
134
+ Public Attributes</h2></td></tr>
135
+ <tr class="memitem:a07b6f8cb424b84b468c4518140fa3a41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFStat.html#ab810863d70cb2f5b4e312d07eae51227">NUMStatMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a></td></tr>
136
+ <tr class="separator:a07b6f8cb424b84b468c4518140fa3a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
+ <tr class="memitem:a5383691a34426a1a997b5eed387f1831"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">TIMEStatMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a></td></tr>
138
+ <tr class="separator:a5383691a34426a1a997b5eed387f1831"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
+ <tr class="memitem:abd7a79d1fe50110a0c1d448027492669"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a></td></tr>
140
+ <tr class="separator:abd7a79d1fe50110a0c1d448027492669"><td class="memSeparator" colspan="2">&#160;</td></tr>
141
+ <tr class="memitem:a8b01f1564408b51f28c107454bf9068d"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a></td></tr>
142
+ <tr class="separator:a8b01f1564408b51f28c107454bf9068d"><td class="memSeparator" colspan="2">&#160;</td></tr>
143
+ </table><table class="memberdecls">
144
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
145
+ Private Attributes</h2></td></tr>
146
+ <tr class="memitem:a3333e45303dcc9c3da00858628cdbbff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a></td></tr>
147
+ <tr class="separator:a3333e45303dcc9c3da00858628cdbbff"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
+ </table>
149
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
150
+ <div class="textblock"><p>Pointer Analysis Statistics </p>
151
+
152
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00040">40</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
153
+ </div><h2 class="groupheader">Member Typedef Documentation</h2>
154
+ <a id="ab810863d70cb2f5b4e312d07eae51227"></a>
155
+ <h2 class="memtitle"><span class="permalink"><a href="#ab810863d70cb2f5b4e312d07eae51227">&#9670;&nbsp;</a></span>NUMStatMap</h2>
156
+
157
+ <div class="memitem">
158
+ <div class="memproto">
159
+ <table class="memname">
160
+ <tr>
161
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;const char *, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&gt; <a class="el" href="classSVF_1_1SVFStat.html#ab810863d70cb2f5b4e312d07eae51227">SVF::SVFStat::NUMStatMap</a></td>
162
+ </tr>
163
+ </table>
164
+ </div><div class="memdoc">
165
+
166
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00044">44</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
167
+
168
+ </div>
169
+ </div>
170
+ <a id="aeded7780a3f826b3efab971807e2dd98"></a>
171
+ <h2 class="memtitle"><span class="permalink"><a href="#aeded7780a3f826b3efab971807e2dd98">&#9670;&nbsp;</a></span>TIMEStatMap</h2>
172
+
173
+ <div class="memitem">
174
+ <div class="memproto">
175
+ <table class="memname">
176
+ <tr>
177
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;const char *, double&gt; <a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">SVF::SVFStat::TIMEStatMap</a></td>
178
+ </tr>
179
+ </table>
180
+ </div><div class="memdoc">
181
+
182
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00046">46</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
183
+
184
+ </div>
185
+ </div>
186
+ <h2 class="groupheader">Member Enumeration Documentation</h2>
187
+ <a id="a4f47da512cfa8f94fddaddc65334b454"></a>
188
+ <h2 class="memtitle"><span class="permalink"><a href="#a4f47da512cfa8f94fddaddc65334b454">&#9670;&nbsp;</a></span>ClockType</h2>
189
+
190
+ <div class="memitem">
191
+ <div class="memproto">
192
+ <table class="memname">
193
+ <tr>
194
+ <td class="memname">enum <a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454">SVF::SVFStat::ClockType</a></td>
195
+ </tr>
196
+ </table>
197
+ </div><div class="memdoc">
198
+ <table class="fieldtable">
199
+ <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc"></a>Wall&#160;</td><td class="fielddoc"></td></tr>
200
+ <tr><td class="fieldname"><a id="a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa"></a>CPU&#160;</td><td class="fielddoc"></td></tr>
201
+ </table>
202
+
203
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00048">48</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
204
+ <div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc">Wall</a>,</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa">CPU</a>,</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; };</div><div class="ttc" id="classSVF_1_1SVFStat_html_a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa">SVF::SVFStat::CPU</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00051">SVFStat.h:51</a></div></div>
205
+ <div class="ttc" id="classSVF_1_1SVFStat_html_a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc">SVF::SVFStat::Wall</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00050">SVFStat.h:50</a></div></div>
206
+ </div><!-- fragment -->
207
+ </div>
208
+ </div>
209
+ <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
210
+ <a id="ad22433722f7c71df19a891a5b5039d26"></a>
211
+ <h2 class="memtitle"><span class="permalink"><a href="#ad22433722f7c71df19a891a5b5039d26">&#9670;&nbsp;</a></span>SVFStat()</h2>
212
+
213
+ <div class="memitem">
214
+ <div class="memproto">
215
+ <table class="memname">
216
+ <tr>
217
+ <td class="memname">SVFStat::SVFStat </td>
218
+ <td>(</td>
219
+ <td class="paramname"></td><td>)</td>
220
+ <td></td>
221
+ </tr>
222
+ </table>
223
+ </div><div class="memdoc">
224
+
225
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8cpp_source.html#l00035">35</a> of file <a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a>.</p>
226
+ <div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; : <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a>(0), <a class="code" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a>(0)</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; assert((<a class="code" href="classSVF_1_1Options.html#a6a62b34de8ec23899a8024e0450c43df">Options::ClockType</a> == ClockType::Wall || <a class="code" href="classSVF_1_1Options.html#a6a62b34de8ec23899a8024e0450c43df">Options::ClockType</a> == ClockType::CPU)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; &amp;&amp; <span class="stringliteral">&quot;PTAStat: unknown clock type!&quot;</span>);</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div><div class="ttc" id="classSVF_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#l00076">SVFStat.h:76</a></div></div>
227
+ <div class="ttc" id="classSVF_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#l00077">SVFStat.h:77</a></div></div>
228
+ <div class="ttc" id="classSVF_1_1Options_html_a6a62b34de8ec23899a8024e0450c43df"><div class="ttname"><a href="classSVF_1_1Options.html#a6a62b34de8ec23899a8024e0450c43df">SVF::Options::ClockType</a></div><div class="ttdeci">static const llvm::cl::opt&lt; enum PTAStat::ClockType &gt; ClockType</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00023">Options.h:23</a></div></div>
229
+ </div><!-- fragment -->
230
+ </div>
231
+ </div>
232
+ <a id="a135ac9973ebfef4680d343320453ff52"></a>
233
+ <h2 class="memtitle"><span class="permalink"><a href="#a135ac9973ebfef4680d343320453ff52">&#9670;&nbsp;</a></span>~SVFStat()</h2>
234
+
235
+ <div class="memitem">
236
+ <div class="memproto">
237
+ <table class="mlabels">
238
+ <tr>
239
+ <td class="mlabels-left">
240
+ <table class="memname">
241
+ <tr>
242
+ <td class="memname">virtual SVF::SVFStat::~SVFStat </td>
243
+ <td>(</td>
244
+ <td class="paramname"></td><td>)</td>
245
+ <td></td>
246
+ </tr>
247
+ </table>
248
+ </td>
249
+ <td class="mlabels-right">
250
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
251
+ </tr>
252
+ </table>
253
+ </div><div class="memdoc">
254
+
255
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00056">56</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
256
+ <div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{}</div></div><!-- fragment -->
257
+ </div>
258
+ </div>
259
+ <h2 class="groupheader">Member Function Documentation</h2>
260
+ <a id="a21e6767fbe2c3cdea4aac30199dfd2f0"></a>
261
+ <h2 class="memtitle"><span class="permalink"><a href="#a21e6767fbe2c3cdea4aac30199dfd2f0">&#9670;&nbsp;</a></span>callgraphStat()</h2>
262
+
263
+ <div class="memitem">
264
+ <div class="memproto">
265
+ <table class="mlabels">
266
+ <tr>
267
+ <td class="mlabels-left">
268
+ <table class="memname">
269
+ <tr>
270
+ <td class="memname">virtual void SVF::SVFStat::callgraphStat </td>
271
+ <td>(</td>
272
+ <td class="paramname"></td><td>)</td>
273
+ <td></td>
274
+ </tr>
275
+ </table>
276
+ </td>
277
+ <td class="mlabels-right">
278
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
279
+ </tr>
280
+ </table>
281
+ </div><div class="memdoc">
282
+
283
+ <p>Reimplemented in <a class="el" href="classSVF_1_1PTAStat.html#af2eb88d1563be9e6290a5fc69bec3bbe">SVF::PTAStat</a>.</p>
284
+
285
+ <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>
286
+ <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{}</div></div><!-- fragment -->
287
+ </div>
288
+ </div>
289
+ <a id="a1b7f1e3381de87f75f06cddb9c6c1ec1"></a>
290
+ <h2 class="memtitle"><span class="permalink"><a href="#a1b7f1e3381de87f75f06cddb9c6c1ec1">&#9670;&nbsp;</a></span>endClk()</h2>
291
+
292
+ <div class="memitem">
293
+ <div class="memproto">
294
+ <table class="mlabels">
295
+ <tr>
296
+ <td class="mlabels-left">
297
+ <table class="memname">
298
+ <tr>
299
+ <td class="memname">virtual void SVF::SVFStat::endClk </td>
300
+ <td>(</td>
301
+ <td class="paramname"></td><td>)</td>
302
+ <td></td>
303
+ </tr>
304
+ </table>
305
+ </td>
306
+ <td class="mlabels-right">
307
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
308
+ </tr>
309
+ </table>
310
+ </div><div class="memdoc">
311
+
312
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00063">63</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
313
+ <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a> = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div><div class="ttc" id="classSVF_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#l00041">SVFStat.cpp:41</a></div></div>
314
+ <div class="ttc" id="classSVF_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#l00077">SVFStat.h:77</a></div></div>
315
+ </div><!-- fragment -->
316
+ </div>
317
+ </div>
318
+ <a id="ac9d390c417df6f6af6b274618b87010d"></a>
319
+ <h2 class="memtitle"><span class="permalink"><a href="#ac9d390c417df6f6af6b274618b87010d">&#9670;&nbsp;</a></span>getClk()</h2>
320
+
321
+ <div class="memitem">
322
+ <div class="memproto">
323
+ <table class="mlabels">
324
+ <tr>
325
+ <td class="mlabels-left">
326
+ <table class="memname">
327
+ <tr>
328
+ <td class="memname">double SVFStat::getClk </td>
329
+ <td>(</td>
330
+ <td class="paramtype">bool&#160;</td>
331
+ <td class="paramname"><em>mark</em> = <code><a class="el" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a></code></td><td>)</td>
332
+ <td></td>
333
+ </tr>
334
+ </table>
335
+ </td>
336
+ <td class="mlabels-right">
337
+ <span class="mlabels"><span class="mlabel">static</span></span> </td>
338
+ </tr>
339
+ </table>
340
+ </div><div class="memdoc">
341
+ <p>When mark is true, real clock is always returned. When mark is false, it is only returned when <a class="el" href="classSVF_1_1Options.html#a5cfcf1ddc44ff175c4766f88bf204c03">Options::MarkedClocksOnly</a> is not set. Default call for getClk is unmarked, while MarkedClocksOnly is false by default. </p>
342
+
343
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8cpp_source.html#l00041">41</a> of file <a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a>.</p>
344
+ <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a5cfcf1ddc44ff175c4766f88bf204c03">Options::MarkedClocksOnly</a> &amp;&amp; !mark) <span class="keywordflow">return</span> 0.0;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a6a62b34de8ec23899a8024e0450c43df">Options::ClockType</a> == ClockType::Wall)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">struct </span>timespec time;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; clock_gettime(CLOCK_MONOTONIC, &amp;time);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)(time.tv_nsec + time.tv_sec * 1000000000) / 1000000.0;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a6a62b34de8ec23899a8024e0450c43df">Options::ClockType</a> == ClockType::CPU)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFBasicTypes_8h.html#af091e361d7961cb895ff2101eceed953">CLOCK_IN_MS</a>();</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;PTAStat::getClk: unknown clock type&quot;</span>);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; abort();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div><div class="ttc" id="SVFBasicTypes_8h_html_af091e361d7961cb895ff2101eceed953"><div class="ttname"><a href="SVFBasicTypes_8h.html#af091e361d7961cb895ff2101eceed953">CLOCK_IN_MS</a></div><div class="ttdeci">#define CLOCK_IN_MS()</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00183">SVFBasicTypes.h:183</a></div></div>
345
+ <div class="ttc" id="classSVF_1_1Options_html_a6a62b34de8ec23899a8024e0450c43df"><div class="ttname"><a href="classSVF_1_1Options.html#a6a62b34de8ec23899a8024e0450c43df">SVF::Options::ClockType</a></div><div class="ttdeci">static const llvm::cl::opt&lt; enum PTAStat::ClockType &gt; ClockType</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00023">Options.h:23</a></div></div>
346
+ <div class="ttc" id="classSVF_1_1Options_html_a5cfcf1ddc44ff175c4766f88bf204c03"><div class="ttname"><a href="classSVF_1_1Options.html#a5cfcf1ddc44ff175c4766f88bf204c03">SVF::Options::MarkedClocksOnly</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; MarkedClocksOnly</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00030">Options.h:30</a></div></div>
347
+ </div><!-- fragment -->
348
+ </div>
349
+ </div>
350
+ <a id="a6113f8d009c42519f3a43913a0c02b95"></a>
351
+ <h2 class="memtitle"><span class="permalink"><a href="#a6113f8d009c42519f3a43913a0c02b95">&#9670;&nbsp;</a></span>performStat()</h2>
352
+
353
+ <div class="memitem">
354
+ <div class="memproto">
355
+ <table class="mlabels">
356
+ <tr>
357
+ <td class="mlabels-left">
358
+ <table class="memname">
359
+ <tr>
360
+ <td class="memname">virtual void SVF::SVFStat::performStat </td>
361
+ <td>(</td>
362
+ <td class="paramname"></td><td>)</td>
363
+ <td></td>
364
+ </tr>
365
+ </table>
366
+ </td>
367
+ <td class="mlabels-right">
368
+ <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
369
+ </tr>
370
+ </table>
371
+ </div><div class="memdoc">
372
+
373
+ <p>Implemented in <a class="el" href="classSVF_1_1VersionedFlowSensitiveStat.html#af202623692135ad746aed1be995c55fb">SVF::VersionedFlowSensitiveStat</a>, <a class="el" href="classSVF_1_1PTAStat.html#ad6de9d3f25c20705768000c987af0eb6">SVF::PTAStat</a>, <a class="el" href="classSVF_1_1SVFGStat.html#a037600bfff11659542f8595d8700dec4">SVF::SVFGStat</a>, <a class="el" href="classSVF_1_1FlowSensitiveStat.html#a059047d05e9873a624e333162a460571">SVF::FlowSensitiveStat</a>, <a class="el" href="classSVF_1_1MemSSAStat.html#a8b4b9466a676d2391c71d38e8be16bc9">SVF::MemSSAStat</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_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c">SVF::DDAStat</a>.</p>
374
+
375
+ </div>
376
+ </div>
377
+ <a id="ab03780f736bed7861c9be14637e37ba3"></a>
378
+ <h2 class="memtitle"><span class="permalink"><a href="#ab03780f736bed7861c9be14637e37ba3">&#9670;&nbsp;</a></span>performStatPerQuery()</h2>
379
+
380
+ <div class="memitem">
381
+ <div class="memproto">
382
+ <table class="mlabels">
383
+ <tr>
384
+ <td class="mlabels-left">
385
+ <table class="memname">
386
+ <tr>
387
+ <td class="memname">virtual void SVF::SVFStat::performStatPerQuery </td>
388
+ <td>(</td>
389
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
390
+ <td class="paramname"></td><td>)</td>
391
+ <td></td>
392
+ </tr>
393
+ </table>
394
+ </td>
395
+ <td class="mlabels-right">
396
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
397
+ </tr>
398
+ </table>
399
+ </div><div class="memdoc">
400
+
401
+ <p>Reimplemented in <a class="el" href="classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11">SVF::DDAStat</a>.</p>
402
+
403
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00083">83</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
404
+ <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{}</div></div><!-- fragment -->
405
+ </div>
406
+ </div>
407
+ <a id="a77c3cfb0c2b85a343ad0fac3682557c3"></a>
408
+ <h2 class="memtitle"><span class="permalink"><a href="#a77c3cfb0c2b85a343ad0fac3682557c3">&#9670;&nbsp;</a></span>printStat()</h2>
409
+
410
+ <div class="memitem">
411
+ <div class="memproto">
412
+ <table class="mlabels">
413
+ <tr>
414
+ <td class="mlabels-left">
415
+ <table class="memname">
416
+ <tr>
417
+ <td class="memname">virtual void SVF::SVFStat::printStat </td>
418
+ <td>(</td>
419
+ <td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td>
420
+ <td class="paramname"><em>str</em> = <code>&quot;&quot;</code></td><td>)</td>
421
+ <td></td>
422
+ </tr>
423
+ </table>
424
+ </td>
425
+ <td class="mlabels-right">
426
+ <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
427
+ </tr>
428
+ </table>
429
+ </div><div class="memdoc">
430
+
431
+ <p>Implemented in <a class="el" href="classSVF_1_1ICFGStat.html#af9c004e3532968ae806a3d344ef885ea">SVF::ICFGStat</a>, <a class="el" href="classSVF_1_1PTAStat.html#aca3e99ad83bddabee1dd565522691c78">SVF::PTAStat</a>, <a class="el" href="classSVF_1_1SVFGStat.html#a2e0adcfbe233523212e1ffbf5b01ba88">SVF::SVFGStat</a>, <a class="el" href="classSVF_1_1MemSSAStat.html#ad5fbe23c3374e5b3a45ac5fa4900441a">SVF::MemSSAStat</a>, and <a class="el" href="classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49">SVF::DDAStat</a>.</p>
432
+
433
+ </div>
434
+ </div>
435
+ <a id="a2dd8ce8bb1970344533babb9fc8ddd02"></a>
436
+ <h2 class="memtitle"><span class="permalink"><a href="#a2dd8ce8bb1970344533babb9fc8ddd02">&#9670;&nbsp;</a></span>printStatPerQuery()</h2>
437
+
438
+ <div class="memitem">
439
+ <div class="memproto">
440
+ <table class="mlabels">
441
+ <tr>
442
+ <td class="mlabels-left">
443
+ <table class="memname">
444
+ <tr>
445
+ <td class="memname">virtual void SVF::SVFStat::printStatPerQuery </td>
446
+ <td>(</td>
447
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
448
+ <td class="paramname">, </td>
449
+ </tr>
450
+ <tr>
451
+ <td class="paramkey"></td>
452
+ <td></td>
453
+ <td class="paramtype">const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;&#160;</td>
454
+ <td class="paramname">&#160;</td>
455
+ </tr>
456
+ <tr>
457
+ <td></td>
458
+ <td>)</td>
459
+ <td></td><td></td>
460
+ </tr>
461
+ </table>
462
+ </td>
463
+ <td class="mlabels-right">
464
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
465
+ </tr>
466
+ </table>
467
+ </div><div class="memdoc">
468
+
469
+ <p>Reimplemented in <a class="el" href="classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff">SVF::DDAStat</a>.</p>
470
+
471
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00085">85</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
472
+ <div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;{}</div></div><!-- fragment -->
473
+ </div>
474
+ </div>
475
+ <a id="a730cc814fede3edb563aa9957c869e9e"></a>
476
+ <h2 class="memtitle"><span class="permalink"><a href="#a730cc814fede3edb563aa9957c869e9e">&#9670;&nbsp;</a></span>startClk()</h2>
477
+
478
+ <div class="memitem">
479
+ <div class="memproto">
480
+ <table class="mlabels">
481
+ <tr>
482
+ <td class="mlabels-left">
483
+ <table class="memname">
484
+ <tr>
485
+ <td class="memname">virtual void SVF::SVFStat::startClk </td>
486
+ <td>(</td>
487
+ <td class="paramname"></td><td>)</td>
488
+ <td></td>
489
+ </tr>
490
+ </table>
491
+ </td>
492
+ <td class="mlabels-right">
493
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
494
+ </tr>
495
+ </table>
496
+ </div><div class="memdoc">
497
+
498
+ <p class="definition">Definition at line <a class="el" href="SVFStat_8h_source.html#l00058">58</a> of file <a class="el" href="SVFStat_8h_source.html">SVFStat.h</a>.</p>
499
+ <div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a> = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div><div class="ttc" id="classSVF_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#l00076">SVFStat.h:76</a></div></div>
500
+ <div class="ttc" id="classSVF_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#l00041">SVFStat.cpp:41</a></div></div>
501
+ </div><!-- fragment -->
502
+ </div>
503
+ </div>
504
+ <h2 class="groupheader">Member Data Documentation</h2>
505
+ <a id="a8b01f1564408b51f28c107454bf9068d"></a>
506
+ <h2 class="memtitle"><span class="permalink"><a href="#a8b01f1564408b51f28c107454bf9068d">&#9670;&nbsp;</a></span>endTime</h2>
507
+
508
+ <div class="memitem">
509
+ <div class="memproto">
510
+ <table class="memname">
511
+ <tr>
512
+ <td class="memname">double SVF::SVFStat::endTime</td>
513
+ </tr>
514
+ </table>
515
+ </div><div class="memdoc">
516
+
517
+ <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>
518
+
519
+ </div>
520
+ </div>
521
+ <a id="a07b6f8cb424b84b468c4518140fa3a41"></a>
522
+ <h2 class="memtitle"><span class="permalink"><a href="#a07b6f8cb424b84b468c4518140fa3a41">&#9670;&nbsp;</a></span>generalNumMap</h2>
523
+
524
+ <div class="memitem">
525
+ <div class="memproto">
526
+ <table class="memname">
527
+ <tr>
528
+ <td class="memname"><a class="el" href="classSVF_1_1SVFStat.html#ab810863d70cb2f5b4e312d07eae51227">NUMStatMap</a> SVF::SVFStat::generalNumMap</td>
529
+ </tr>
530
+ </table>
531
+ </div><div class="memdoc">
532
+
533
+ <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>
534
+
535
+ </div>
536
+ </div>
537
+ <a id="a3333e45303dcc9c3da00858628cdbbff"></a>
538
+ <h2 class="memtitle"><span class="permalink"><a href="#a3333e45303dcc9c3da00858628cdbbff">&#9670;&nbsp;</a></span>moduleName</h2>
539
+
540
+ <div class="memitem">
541
+ <div class="memproto">
542
+ <table class="mlabels">
543
+ <tr>
544
+ <td class="mlabels-left">
545
+ <table class="memname">
546
+ <tr>
547
+ <td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::SVFStat::moduleName</td>
548
+ </tr>
549
+ </table>
550
+ </td>
551
+ <td class="mlabels-right">
552
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
553
+ </tr>
554
+ </table>
555
+ </div><div class="memdoc">
556
+
557
+ <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>
558
+
559
+ </div>
560
+ </div>
561
+ <a id="abd7a79d1fe50110a0c1d448027492669"></a>
562
+ <h2 class="memtitle"><span class="permalink"><a href="#abd7a79d1fe50110a0c1d448027492669">&#9670;&nbsp;</a></span>startTime</h2>
563
+
564
+ <div class="memitem">
565
+ <div class="memproto">
566
+ <table class="memname">
567
+ <tr>
568
+ <td class="memname">double SVF::SVFStat::startTime</td>
569
+ </tr>
570
+ </table>
571
+ </div><div class="memdoc">
572
+
573
+ <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>
574
+
575
+ </div>
576
+ </div>
577
+ <a id="a5383691a34426a1a997b5eed387f1831"></a>
578
+ <h2 class="memtitle"><span class="permalink"><a href="#a5383691a34426a1a997b5eed387f1831">&#9670;&nbsp;</a></span>timeStatMap</h2>
579
+
580
+ <div class="memitem">
581
+ <div class="memproto">
582
+ <table class="memname">
583
+ <tr>
584
+ <td class="memname"><a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">TIMEStatMap</a> SVF::SVFStat::timeStatMap</td>
585
+ </tr>
586
+ </table>
587
+ </div><div class="memdoc">
588
+
589
+ <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>
590
+
591
+ </div>
592
+ </div>
593
+ <hr/>The documentation for this class was generated from the following files:<ul>
594
+ <li>/home/runner/work/SVF/SVF/include/Util/<a class="el" href="SVFStat_8h_source.html">SVFStat.h</a></li>
595
+ <li>/home/runner/work/SVF/SVF/lib/Util/<a class="el" href="SVFStat_8cpp_source.html">SVFStat.cpp</a></li>
596
+ </ul>
597
+ </div><!-- contents -->
598
+ <!-- start footer part -->
599
+ <hr class="footer"/><address class="footer"><small>
600
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
601
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
602
+ </a> 1.8.13
603
+ </small></address>
604
+ </body>
605
+ </html>