svf-tools 1.0.560 → 1.0.563

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 (348) hide show
  1. package/README.md +1 -1
  2. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +43 -43
  3. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +17 -17
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +18 -18
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +56 -56
  9. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  11. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +45 -45
  12. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +43 -43
  13. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +12 -12
  14. package/SVF-doxygen/html/html/DDAClient_8h_source.html +36 -36
  15. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +19 -19
  16. package/SVF-doxygen/html/html/DDAPass_8h_source.html +21 -21
  17. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +53 -53
  18. package/SVF-doxygen/html/html/DDAStat_8h_source.html +51 -51
  19. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +112 -112
  20. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +17 -17
  23. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +17 -17
  24. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +40 -40
  25. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +52 -52
  26. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/FileChecker_8h_source.html +2 -2
  28. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +42 -42
  30. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
  32. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +6 -6
  33. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
  34. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +10 -10
  35. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  36. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
  37. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +35 -35
  40. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +114 -114
  41. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +7 -7
  43. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  44. package/SVF-doxygen/html/html/MHP_8cpp_source.html +95 -95
  45. package/SVF-doxygen/html/html/MHP_8h_source.html +135 -135
  46. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +6 -6
  47. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
  50. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +6 -6
  51. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +34 -34
  52. package/SVF-doxygen/html/html/MTAStat_8h_source.html +14 -14
  53. package/SVF-doxygen/html/html/MTA_8cpp_source.html +29 -29
  54. package/SVF-doxygen/html/html/MTA_8h_source.html +24 -24
  55. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +6 -6
  56. package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
  57. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +50 -50
  58. package/SVF-doxygen/html/html/MemRegion_8h_source.html +93 -93
  59. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +60 -60
  60. package/SVF-doxygen/html/html/MemSSA_8h_source.html +103 -103
  61. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +185 -185
  62. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/PCG_8cpp_source.html +14 -14
  66. package/SVF-doxygen/html/html/PCG_8h_source.html +52 -52
  67. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +7 -4
  68. package/SVF-doxygen/html/html/PTAStat_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +40 -40
  70. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +181 -181
  71. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
  72. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +30 -30
  73. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  74. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  75. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  76. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +60 -60
  77. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  79. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  80. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  81. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
  82. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +20 -20
  83. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +2 -2
  84. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +12 -12
  85. package/SVF-doxygen/html/html/SVFG_8h_source.html +5 -5
  86. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -1
  87. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +37 -37
  88. package/SVF-doxygen/html/html/SVFModule_8cpp.html +1 -0
  89. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +6 -2
  90. package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
  91. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +6 -3
  92. package/SVF-doxygen/html/html/SVFStat_8h_source.html +7 -4
  93. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  94. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +7 -7
  95. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +3 -3
  96. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/SaberCheckerAPI_8cpp_source.html +1 -1
  98. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  99. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +1 -1
  101. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  102. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
  104. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +66 -66
  105. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +1 -1
  106. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +4 -4
  107. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +6 -6
  108. package/SVF-doxygen/html/html/TCT_8cpp_source.html +44 -44
  109. package/SVF-doxygen/html/html/TCT_8h_source.html +93 -93
  110. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  111. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
  112. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  113. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +26 -26
  114. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +38 -38
  115. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  116. package/SVF-doxygen/html/html/WPAStat_8h_source.html +2 -2
  117. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  118. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +22 -22
  122. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +106 -106
  123. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +43 -43
  124. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +24 -24
  125. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -6
  126. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat-members.html +15 -12
  127. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +25 -18
  128. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +21 -21
  129. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +39 -39
  130. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +101 -101
  136. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +51 -51
  137. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +58 -58
  138. package/SVF-doxygen/html/html/classSVF_1_1DDAStat-members.html +14 -11
  139. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +173 -166
  140. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +288 -288
  141. package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +26 -26
  142. package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +11 -11
  143. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
  144. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +4 -4
  145. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +50 -50
  147. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +30 -30
  148. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +3 -3
  149. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +72 -72
  150. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +20 -20
  151. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat-members.html +15 -12
  152. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +9 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +218 -218
  154. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  155. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +19 -19
  157. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat-members.html +14 -11
  158. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +7 -0
  159. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +7 -7
  161. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +36 -33
  162. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +17 -17
  163. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +337 -337
  165. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +9 -9
  166. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +248 -248
  167. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
  168. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +200 -200
  169. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
  170. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
  172. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  174. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +54 -54
  175. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  176. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +22 -22
  177. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +181 -181
  178. package/SVF-doxygen/html/html/classSVF_1_1MTAStat-members.html +13 -10
  179. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +54 -47
  180. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +23 -23
  181. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +269 -269
  182. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat-members.html +19 -16
  183. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +26 -19
  184. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +128 -128
  185. package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +55 -55
  186. package/SVF-doxygen/html/html/classSVF_1_1MutableIncDFPTData.html +88 -88
  187. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +78 -78
  188. package/SVF-doxygen/html/html/classSVF_1_1MutableVersionedPTData.html +77 -77
  189. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +131 -131
  191. package/SVF-doxygen/html/html/classSVF_1_1PTAStat-members.html +14 -11
  192. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +23 -12
  193. package/SVF-doxygen/html/html/classSVF_1_1PTData.html +32 -32
  194. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +107 -107
  195. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +66 -66
  196. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +84 -84
  197. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +77 -77
  198. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +134 -134
  199. package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +77 -77
  200. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
  201. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +161 -161
  202. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +7 -7
  203. package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
  204. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +22 -22
  205. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  206. package/SVF-doxygen/html/html/classSVF_1_1SVFGNodeLockSpan.html +23 -23
  207. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat-members.html +26 -23
  208. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +19 -12
  209. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +128 -122
  210. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +5 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1SVFStat-members.html +6 -3
  212. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +89 -7
  213. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +5 -5
  214. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +157 -157
  216. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +15 -15
  217. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +264 -264
  219. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +13 -13
  220. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +20 -20
  221. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +106 -106
  223. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +18 -15
  224. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +16 -9
  225. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +11 -11
  227. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
  228. package/SVF-doxygen/html/html/dda_8cpp.html +3 -3
  229. package/SVF-doxygen/html/html/dda_8cpp_source.html +3 -3
  230. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  231. package/SVF-doxygen/html/html/functions_i.html +3 -3
  232. package/SVF-doxygen/html/html/functions_l.html +6 -6
  233. package/SVF-doxygen/html/html/functions_o.html +15 -15
  234. package/SVF-doxygen/html/html/functions_p.html +1 -1
  235. package/SVF-doxygen/html/html/functions_s.html +9 -11
  236. package/SVF-doxygen/html/html/functions_t.html +17 -10
  237. package/SVF-doxygen/html/html/functions_v.html +6 -6
  238. package/SVF-doxygen/html/html/functions_vars_t.html +9 -0
  239. package/SVF-doxygen/html/html/functions_w.html +11 -11
  240. package/SVF-doxygen/html/html/mta_8cpp.html +3 -3
  241. package/SVF-doxygen/html/html/mta_8cpp_source.html +3 -3
  242. package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
  243. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  244. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  245. package/SVF-doxygen/html/html/search/all_10.js +3 -3
  246. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  247. package/SVF-doxygen/html/html/search/all_12.js +6 -6
  248. package/SVF-doxygen/html/html/search/all_13.js +9 -6
  249. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  250. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  251. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  252. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  253. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  254. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  255. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  256. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  257. package/SVF-doxygen/html/html/search/variables_13.js +5 -2
  258. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  259. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  260. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  261. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
  262. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +4 -4
  263. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +15 -15
  264. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +1 -1
  265. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +1 -1
  266. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +2 -2
  267. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
  268. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  269. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  270. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  271. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  272. package/include/DDA/ContextDDA.h +29 -0
  273. package/include/DDA/DDAClient.h +23 -0
  274. package/include/DDA/DDAPass.h +22 -0
  275. package/include/DDA/DDAStat.h +22 -0
  276. package/include/DDA/DDAVFSolver.h +26 -4
  277. package/include/DDA/FlowDDA.h +29 -0
  278. package/include/MSSA/MSSAMuChi.h +1 -1
  279. package/include/MSSA/MemPartition.h +1 -1
  280. package/include/MSSA/MemRegion.h +5 -1
  281. package/include/MSSA/MemSSA.h +7 -1
  282. package/include/MSSA/SVFGBuilder.h +1 -1
  283. package/include/MTA/FSMPTA.h +26 -0
  284. package/include/MTA/LockAnalysis.h +22 -0
  285. package/include/MTA/MHP.h +22 -0
  286. package/include/MTA/MTA.h +27 -1
  287. package/include/MTA/MTAStat.h +22 -0
  288. package/include/MTA/PCG.h +22 -0
  289. package/include/MTA/TCT.h +22 -0
  290. package/include/MemoryModel/AbstractPointsToDS.h +34 -0
  291. package/include/MemoryModel/ConditionalPT.h +1 -1
  292. package/include/MemoryModel/LocationSet.h +1 -1
  293. package/include/MemoryModel/MutablePointsToDS.h +32 -0
  294. package/include/MemoryModel/PAGBuilderFromFile.h +2 -2
  295. package/include/MemoryModel/PersistentPointsToCache.h +3 -1
  296. package/include/MemoryModel/PersistentPointsToDS.h +10 -0
  297. package/include/MemoryModel/PointerAnalysis.h +1 -1
  298. package/include/MemoryModel/PointerAnalysisImpl.h +1 -1
  299. package/include/MemoryModel/SVFStatements.h +1 -1
  300. package/include/SABER/DoubleFreeChecker.h +1 -1
  301. package/include/SABER/FileChecker.h +1 -1
  302. package/include/SABER/LeakChecker.h +1 -1
  303. package/include/SABER/ProgSlice.h +8 -1
  304. package/include/SABER/SaberAnnotator.h +1 -1
  305. package/include/SABER/SaberCheckerAPI.h +1 -1
  306. package/include/SABER/SaberCondAllocator.h +1 -1
  307. package/include/SABER/SaberSVFGBuilder.h +1 -1
  308. package/include/SABER/SrcSnkDDA.h +8 -1
  309. package/include/SABER/SrcSnkSolver.h +1 -1
  310. package/include/Util/SVFStat.h +4 -0
  311. package/include/WPA/Andersen.h +5 -0
  312. package/include/WPA/TypeAnalysis.h +1 -1
  313. package/include/WPA/VersionedFlowSensitive.h +4 -0
  314. package/lib/DDA/ContextDDA.cpp +22 -0
  315. package/lib/DDA/DDAClient.cpp +22 -0
  316. package/lib/DDA/DDAPass.cpp +23 -0
  317. package/lib/DDA/DDAStat.cpp +22 -0
  318. package/lib/DDA/FlowDDA.cpp +22 -0
  319. package/lib/MTA/FSMPTA.cpp +22 -0
  320. package/lib/MTA/LockAnalysis.cpp +26 -4
  321. package/lib/MTA/MHP.cpp +25 -3
  322. package/lib/MTA/MTA.cpp +23 -0
  323. package/lib/MTA/MTAStat.cpp +22 -0
  324. package/lib/MTA/PCG.cpp +22 -0
  325. package/lib/MTA/TCT.cpp +23 -0
  326. package/lib/MemoryModel/LocationSet.cpp +1 -1
  327. package/lib/MemoryModel/PAGBuilderFromFile.cpp +1 -1
  328. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  329. package/lib/MemoryModel/PointerAnalysisImpl.cpp +23 -0
  330. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  331. package/lib/SABER/FileChecker.cpp +1 -1
  332. package/lib/SABER/LeakChecker.cpp +1 -1
  333. package/lib/SABER/ProgSlice.cpp +1 -1
  334. package/lib/SABER/SaberAnnotator.cpp +1 -1
  335. package/lib/SABER/SaberCheckerAPI.cpp +1 -1
  336. package/lib/SABER/SaberCondAllocator.cpp +1 -1
  337. package/lib/SABER/SaberSVFGBuilder.cpp +1 -1
  338. package/lib/SABER/SrcSnkDDA.cpp +1 -1
  339. package/lib/SVF-FE/LLVMModule.cpp +5 -0
  340. package/lib/SVF-FE/SVFIRBuilder.cpp +26 -0
  341. package/lib/Util/ExtAPI.cpp +42 -0
  342. package/lib/Util/PTAStat.cpp +5 -0
  343. package/lib/Util/SVFModule.cpp +4 -0
  344. package/lib/Util/SVFStat.cpp +5 -0
  345. package/lib/WPA/Steensgaard.cpp +22 -0
  346. package/lib/WPA/TypeAnalysis.cpp +1 -1
  347. package/lib/WPA/WPAPass.cpp +1 -1
  348. package/package.json +1 -1
@@ -970,7 +970,7 @@ Additional Inherited Members</h2></td></tr>
970
970
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a88a111b6bc347d6562db7af8bd8f2f0e"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a88a111b6bc347d6562db7af8bd8f2f0e">SVF::FlowSensitive::numOfProcessedGep</a></div><div class="ttdeci">u32_t numOfProcessedGep</div><div class="ttdoc">Number of processed Copy node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00289">FlowSensitive.h:289</a></div></div>
971
971
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_af71a5ae3aef022c569e89f40515072cf"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af71a5ae3aef022c569e89f40515072cf">SVF::FlowSensitive::numOfProcessedMSSANode</a></div><div class="ttdeci">u32_t numOfProcessedMSSANode</div><div class="ttdoc">Number of processed formal ret node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00295">FlowSensitive.h:295</a></div></div>
972
972
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a888d6334e5e226c634680e4c0674dcfb"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb">SVF::FlowSensitive::copyTime</a></div><div class="ttdeci">double copyTime</div><div class="ttdoc">time of handling copy edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00309">FlowSensitive.h:309</a></div></div>
973
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab0e1242aadfe1e16a2bd1445658a5476"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl::BVDataPTAImpl</a></div><div class="ttdeci">BVDataPTAImpl(SVFIR *pag, PointerAnalysis::PTATY type, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00025">PointerAnalysisImpl.cpp:25</a></div></div>
973
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab0e1242aadfe1e16a2bd1445658a5476"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab0e1242aadfe1e16a2bd1445658a5476">SVF::BVDataPTAImpl::BVDataPTAImpl</a></div><div class="ttdeci">BVDataPTAImpl(SVFIR *pag, PointerAnalysis::PTATY type, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00048">PointerAnalysisImpl.cpp:48</a></div></div>
974
974
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ac4d4b42bb96006801597f81ed3c4b337"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ac4d4b42bb96006801597f81ed3c4b337">SVF::FlowSensitive::propagationTime</a></div><div class="ttdeci">double propagationTime</div><div class="ttdoc">time of points-to propagation. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00304">FlowSensitive.h:304</a></div></div>
975
975
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a19e017f3ed6429fa30687018e64dae54"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a19e017f3ed6429fa30687018e64dae54">SVF::FlowSensitive::numOfProcessedCopy</a></div><div class="ttdeci">u32_t numOfProcessedCopy</div><div class="ttdoc">Number of processed Addr node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00288">FlowSensitive.h:288</a></div></div>
976
976
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a82b76087363b26fbe749653935569de7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">SVF::FlowSensitive::storeTime</a></div><div class="ttdeci">double storeTime</div><div class="ttdoc">time of store edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00312">FlowSensitive.h:312</a></div></div>
@@ -1057,7 +1057,7 @@ Additional Inherited Members</h2></td></tr>
1057
1057
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a757815a2c758695176120509ceb0ce70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVF::SVFUtil::startAnalysisLimitTimer</a></div><div class="ttdeci">bool startAnalysisLimitTimer(unsigned timeLimit)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00430">SVFUtil.cpp:430</a></div></div>
1058
1058
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae3b651799345d9d92b6d736dafb03f63"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">SVF::PointerAnalysis::callGraphSCC</a></div><div class="ttdeci">CallGraphSCC * callGraphSCC</div><div class="ttdoc">SCC for CallGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00154">PointerAnalysis.h:154</a></div></div>
1059
1059
  <div class="ttc" id="namespaceSVF_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#l00049">SVFUtil.h:49</a></div></div>
1060
- <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>
1060
+ <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#l00046">SVFStat.cpp:46</a></div></div>
1061
1061
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1062
1062
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a4202f837e863a48712765cc346d8b514"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514">SVF::FlowSensitive::solveTime</a></div><div class="ttdeci">double solveTime</div><div class="ttdoc">time of solve. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00301">FlowSensitive.h:301</a></div></div>
1063
1063
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
@@ -1290,7 +1290,7 @@ Additional Inherited Members</h2></td></tr>
1290
1290
  <div class="fragment"><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;{</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;NodeID, NodeID&gt; locPA : cmp)</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">// loc doesn&#39;t make a difference for FSPTA.</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> = locPA.second;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;NodeID, NodeID&gt; locPB : cmp)</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; {</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">if</span> (locPB == locPA) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> q = locPB.second;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="classSVF_1_1BVDataPTAImpl.html#adaba5a41a60e32d18d964bdb8ae5b2df">alias</a>(p, q))</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; {</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>:</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; ++(*noAliases);</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>:</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; ++(*mayAliases);</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; assert(<span class="stringliteral">&quot;Not May/NoAlias?&quot;</span>);</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; }</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; }</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;}</div><div class="ttc" id="cJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
1291
1291
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1292
1292
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">SVF::MayAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00199">SVFBasicTypes.h:199</a></div></div>
1293
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_adaba5a41a60e32d18d964bdb8ae5b2df"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#adaba5a41a60e32d18d964bdb8ae5b2df">SVF::BVDataPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00493">PointerAnalysisImpl.cpp:493</a></div></div>
1293
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_adaba5a41a60e32d18d964bdb8ae5b2df"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#adaba5a41a60e32d18d964bdb8ae5b2df">SVF::BVDataPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00516">PointerAnalysisImpl.cpp:516</a></div></div>
1294
1294
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00198">SVFBasicTypes.h:198</a></div></div>
1295
1295
  </div><!-- fragment -->
1296
1296
  </div>
@@ -1362,7 +1362,7 @@ Additional Inherited Members</h2></td></tr>
1362
1362
  <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">Options::DumpVFG</a>)</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="stringliteral">&quot;fs_solved&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>&amp; <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a> = <a class="code" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">WPASolver&lt;SVFG*&gt;::SCCDetect</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">while</span> (nodeStack.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = nodeStack.top();</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; nodeStack.pop();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>&amp; subNodes = <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">subNodes</a>(rep);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (subNodes.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>() &gt; <a class="code" href="classSVF_1_1FlowSensitive.html#aa3d4703756a6297ab5c0756172024fe4">maxSCCSize</a>)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#aa3d4703756a6297ab5c0756172024fe4">maxSCCSize</a> = subNodes.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (subNodes.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>() &gt; 1)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a9f3fe97202db8170fa9f47c5684bce75">numOfNodesInSCC</a> += subNodes.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3">numOfSCC</a>++;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// TODO: check -stat too.</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">Options::ClusterFs</a>)</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, std::string&gt;</a> stats;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a> *ptd = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">getPTDataTy</a>();</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="comment">// TODO: should we use liveOnly?</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;PointsTo, unsigned&gt;</a> allPts = ptd-&gt;getAllPts(<span class="keyword">true</span>);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="comment">// TODO: parameterise final arg.</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">NodeIDAllocator::Clusterer::evaluate</a>(*<a class="code" href="classSVF_1_1PointsTo.html#a6c1885ddfcc72604463f7c4ea94d2f74">PointsTo::getCurrentBestNodeMapping</a>(), allPts, stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main: best&quot;</span>, stats);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// Do the same for the candidates. TODO: probably temporary for eval. purposes.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector&lt;NodeID&gt;&gt; &amp;candidate : <a class="code" href="classSVF_1_1FlowSensitive.html#adba7ffe68ae7edce9b3aa896f978da6b">candidateMappings</a>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// Can reuse stats, since we&#39;re always filling it with `evaluate`, it will always be overwritten.</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">NodeIDAllocator::Clusterer::evaluate</a>(candidate.second, allPts, stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main: candidate &quot;</span> + <a class="code" href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">SVFUtil::hclustMethodToString</a>(candidate.first), stats);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">BVDataPTAImpl::finalize</a>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00573">SVFG.cpp:573</a></div></div>
1363
1363
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ae94cea78b71fb75837ee2a17b5ed0e81"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">SVF::BVDataPTAImpl::getPTDataTy</a></div><div class="ttdeci">PTDataTy * getPTDataTy() const</div><div class="ttdoc">Get points-to data structure. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00162">PointerAnalysisImpl.h:162</a></div></div>
1364
1364
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00246">FlowSensitive.h:246</a></div></div>
1365
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a57ff2bf45ede7a730a8adaba8e61179d"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00072">PointerAnalysisImpl.cpp:72</a></div></div>
1365
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a57ff2bf45ede7a730a8adaba8e61179d"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00095">PointerAnalysisImpl.cpp:95</a></div></div>
1366
1366
  <div class="ttc" id="classSVF_1_1SCCDetection_html_a6ab5eff6a576e6d8703c1ea29b7f425d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">SVF::SCCDetection::subNodes</a></div><div class="ttdeci">const NodeBS &amp; subNodes(NodeID n) const</div><div class="ttdoc">get all subnodes in one scc, if size is empty insert itself into the set </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00173">SCC.h:173</a></div></div>
1367
1367
  <div class="ttc" id="classSVF_1_1Options_html_a9dc372635fc6f5ea2d902fc5c49fca8a"><div class="ttname"><a href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">SVF::Options::ClusterFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterFs</div><div class="ttdoc">Whether to cluster FS or VFS with the auxiliary Andersen&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00043">Options.h:43</a></div></div>
1368
1368
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aa3d4703756a6297ab5c0756172024fe4"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aa3d4703756a6297ab5c0756172024fe4">SVF::FlowSensitive::maxSCCSize</a></div><div class="ttdeci">u32_t maxSCCSize</div><div class="ttdoc">Number of processed mssa node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00297">FlowSensitive.h:297</a></div></div>
@@ -1455,7 +1455,7 @@ Additional Inherited Members</h2></td></tr>
1455
1455
 
1456
1456
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00262">262</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1457
1457
  <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1MutableDFPTData.html#ae999df6f94a097f1fcb36979327790de">getDFIn</a>();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acbb979edee9427efa2a7c0dbd881c483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl::getMutDFPTDataTy</a></div><div class="ttdeci">MutDFPTDataTy * getMutDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00192">PointerAnalysisImpl.h:192</a></div></div>
1458
- <div class="ttc" id="classSVF_1_1MutableDFPTData_html_ae999df6f94a097f1fcb36979327790de"><div class="ttname"><a href="classSVF_1_1MutableDFPTData.html#ae999df6f94a097f1fcb36979327790de">SVF::MutableDFPTData::getDFIn</a></div><div class="ttdeci">const DFPtsMap &amp; getDFIn()</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00422">MutablePointsToDS.h:422</a></div></div>
1458
+ <div class="ttc" id="classSVF_1_1MutableDFPTData_html_ae999df6f94a097f1fcb36979327790de"><div class="ttname"><a href="classSVF_1_1MutableDFPTData.html#ae999df6f94a097f1fcb36979327790de">SVF::MutableDFPTData::getDFIn</a></div><div class="ttdeci">const DFPtsMap &amp; getDFIn()</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00454">MutablePointsToDS.h:454</a></div></div>
1459
1459
  </div><!-- fragment -->
1460
1460
  </div>
1461
1461
  </div>
@@ -1524,7 +1524,7 @@ Additional Inherited Members</h2></td></tr>
1524
1524
 
1525
1525
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00266">266</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1526
1526
  <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1MutableDFPTData.html#a6d02392602cf7956ff41e345518d683c">getDFOut</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acbb979edee9427efa2a7c0dbd881c483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl::getMutDFPTDataTy</a></div><div class="ttdeci">MutDFPTDataTy * getMutDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00192">PointerAnalysisImpl.h:192</a></div></div>
1527
- <div class="ttc" id="classSVF_1_1MutableDFPTData_html_a6d02392602cf7956ff41e345518d683c"><div class="ttname"><a href="classSVF_1_1MutableDFPTData.html#a6d02392602cf7956ff41e345518d683c">SVF::MutableDFPTData::getDFOut</a></div><div class="ttdeci">const DFPtsMap &amp; getDFOut()</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00426">MutablePointsToDS.h:426</a></div></div>
1527
+ <div class="ttc" id="classSVF_1_1MutableDFPTData_html_a6d02392602cf7956ff41e345518d683c"><div class="ttname"><a href="classSVF_1_1MutableDFPTData.html#a6d02392602cf7956ff41e345518d683c">SVF::MutableDFPTData::getDFOut</a></div><div class="ttdeci">const DFPtsMap &amp; getDFOut()</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00458">MutablePointsToDS.h:458</a></div></div>
1528
1528
  </div><!-- fragment -->
1529
1529
  </div>
1530
1530
  </div>
@@ -1600,7 +1600,7 @@ Additional Inherited Members</h2></td></tr>
1600
1600
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a5a8688102f3675cf414b01dc2ae51c6b"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b">SVF::FlowSensitive::plainMap</a></div><div class="ttdeci">virtual void plainMap(void) const</div><div class="ttdoc">Sets the global best mapping as a plain mapping, i.e. n -&gt; n. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00792">FlowSensitive.cpp:792</a></div></div>
1601
1601
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1602
1602
  <div class="ttc" id="classSVF_1_1Options_html_a75a38fff97f7f18f3945c953cabc168b"><div class="ttname"><a href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">SVF::Options::PlainMappingFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PlainMappingFs</div><div class="ttdoc">Use an explicitly plain mapping with flow-sensitive (not null). </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00046">Options.h:46</a></div></div>
1603
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00384">Andersen.h:384</a></div></div>
1603
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00389">Andersen.h:389</a></div></div>
1604
1604
  <div class="ttc" id="classSVF_1_1Options_html_a8459d43a21bcf8a50fc55d14fcf5a81e"><div class="ttname"><a href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&amp;#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00040">Options.h:40</a></div></div>
1605
1605
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a5cfee013a1a5821ef0c449842dd8690d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">SVF::FlowSensitive::ander</a></div><div class="ttdeci">AndersenWaveDiff * ander</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00280">FlowSensitive.h:280</a></div></div>
1606
1606
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a76f6f19ac2b58ab4a10a2d7e6e24e42a"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a76f6f19ac2b58ab4a10a2d7e6e24e42a">SVF::FlowSensitive::memSSA</a></div><div class="ttdeci">SVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00279">FlowSensitive.h:279</a></div></div>
@@ -1730,7 +1730,7 @@ Additional Inherited Members</h2></td></tr>
1730
1730
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a38f3ed35185addf701d4401bfdd5f29b"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a38f3ed35185addf701d4401bfdd5f29b">SVF::FlowSensitive::addrTime</a></div><div class="ttdeci">double addrTime</div><div class="ttdoc">time of handling address edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00308">FlowSensitive.h:308</a></div></div>
1731
1731
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_af68485a2208553579f9c2e4b2cb20cff"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">SVF::BVDataPTAImpl::addPts</a></div><div class="ttdeci">virtual bool addPts(NodeID id, NodeID ptd)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00132">PointerAnalysisImpl.h:132</a></div></div>
1732
1732
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
1733
- <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>
1733
+ <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#l00046">SVFStat.cpp:46</a></div></div>
1734
1734
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1735
1735
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
1736
1736
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00354">PointerAnalysis.h:354</a></div></div>
@@ -1767,7 +1767,7 @@ Additional Inherited Members</h2></td></tr>
1767
1767
  <div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;{</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordtype">bool</span> changed = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">unionPts</a>(copy-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#a04986961ad507be9fcf141ab51787da8">getPAGDstNodeID</a>(), copy-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">getPAGSrcNodeID</a>());</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb">copyTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;}</div><div class="ttc" id="classSVF_1_1StmtVFGNode_html_a04986961ad507be9fcf141ab51787da8"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a04986961ad507be9fcf141ab51787da8">SVF::StmtVFGNode::getPAGDstNodeID</a></div><div class="ttdeci">NodeID getPAGDstNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00146">VFGNode.h:146</a></div></div>
1768
1768
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ae7073c07bfd7912f888d54d4652c7cc2"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">SVF::BVDataPTAImpl::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &amp;target)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00124">PointerAnalysisImpl.h:124</a></div></div>
1769
1769
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
1770
- <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>
1770
+ <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#l00046">SVFStat.cpp:46</a></div></div>
1771
1771
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1772
1772
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
1773
1773
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a888d6334e5e226c634680e4c0674dcfb"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb">SVF::FlowSensitive::copyTime</a></div><div class="ttdeci">double copyTime</div><div class="ttdoc">time of handling copy edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00309">FlowSensitive.h:309</a></div></div>
@@ -1809,7 +1809,7 @@ Additional Inherited Members</h2></td></tr>
1809
1809
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1810
1810
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00349">PointerAnalysis.h:349</a></div></div>
1811
1811
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
1812
- <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>
1812
+ <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#l00046">SVFStat.cpp:46</a></div></div>
1813
1813
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1814
1814
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a45462312a746339fff8b990a093d9a1b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b">SVF::PointerAnalysis::isBlkObjOrConstantObj</a></div><div class="ttdeci">virtual bool isBlkObjOrConstantObj(NodeID ptd) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00300">PointerAnalysis.h:300</a></div></div>
1815
1815
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
@@ -1864,7 +1864,7 @@ Additional Inherited Members</h2></td></tr>
1864
1864
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1865
1865
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
1866
1866
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a1b5abe09fd0fcd337385653cb47343c1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">SVF::SparseBitVector::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01118">SparseBitVector.h:1118</a></div></div>
1867
- <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>
1867
+ <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#l00046">SVFStat.cpp:46</a></div></div>
1868
1868
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1869
1869
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
1870
1870
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_abf76d8157c49ddba24bdc9dab3655772"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">SVF::SparseBitVector::begin</a></div><div class="ttdeci">iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01113">SparseBitVector.h:1113</a></div></div>
@@ -1951,7 +1951,7 @@ Additional Inherited Members</h2></td></tr>
1951
1951
  <div class="ttc" id="classSVF_1_1PHIVFGNode_html_a2e00f6d582aa4ac9aa116cc6d5c79369"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#a2e00f6d582aa4ac9aa116cc6d5c79369">SVF::PHIVFGNode::opVerBegin</a></div><div class="ttdeci">OPVers::const_iterator opVerBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00674">VFGNode.h:674</a></div></div>
1952
1952
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1953
1953
  <div class="ttc" id="classSVF_1_1PHIVFGNode_html_abd54e567a0826bbec277302e0c4f78a2"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#abd54e567a0826bbec277302e0c4f78a2">SVF::PHIVFGNode::getRes</a></div><div class="ttdeci">const PAGNode * getRes() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00666">VFGNode.h:666</a></div></div>
1954
- <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>
1954
+ <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#l00046">SVFStat.cpp:46</a></div></div>
1955
1955
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
1956
1956
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
1957
1957
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
@@ -2003,7 +2003,7 @@ Additional Inherited Members</h2></td></tr>
2003
2003
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
2004
2004
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
2005
2005
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
2006
- <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>
2006
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2007
2007
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2008
2008
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a43e8ca2e69e6e8643c9abd1fa231d305"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">SVF::FlowSensitive::svfgHasSU</a></div><div class="ttdeci">NodeBS svfgHasSU</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00316">FlowSensitive.h:316</a></div></div>
2009
2009
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
@@ -2059,7 +2059,7 @@ Additional Inherited Members</h2></td></tr>
2059
2059
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a0e1a0bdbf4f81a3600ac26ac011ac268"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a0e1a0bdbf4f81a3600ac26ac011ac268">SVF::FlowSensitive::numOfProcessedLoad</a></div><div class="ttdeci">u32_t numOfProcessedLoad</div><div class="ttdoc">Number of processed Phi node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00291">FlowSensitive.h:291</a></div></div>
2060
2060
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_abb37c5e4e6fa4742e8dbcf397aea086e"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#abb37c5e4e6fa4742e8dbcf397aea086e">SVF::FlowSensitive::processAddr</a></div><div class="ttdeci">virtual bool processAddr(const AddrSVFGNode *addr)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00407">FlowSensitive.cpp:407</a></div></div>
2061
2061
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ae017c39ac471727d06868e0eacafd791"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae017c39ac471727d06868e0eacafd791">SVF::FlowSensitive::processGep</a></div><div class="ttdeci">virtual bool processGep(const GepSVFGNode *edge)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00457">FlowSensitive.cpp:457</a></div></div>
2062
- <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>
2062
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2063
2063
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2064
2064
  <div class="ttc" id="classSVF_1_1LoadVFGNode_html"><div class="ttname"><a href="classSVF_1_1LoadVFGNode.html">SVF::LoadVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00199">VFGNode.h:199</a></div></div>
2065
2065
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
@@ -2201,7 +2201,7 @@ Additional Inherited Members</h2></td></tr>
2201
2201
  <div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;{</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* src = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dst = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="comment">// If this is an actual-param or formal-ret, top-level pointer&#39;s pts must be</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="comment">// propagated from src to dst.</span></div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ActualParmVFGNode.html">ActualParmSVFGNode</a>* ap = SVFUtil::dyn_cast&lt;ActualParmSVFGNode&gt;(src))</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; changed = <a class="code" href="classSVF_1_1FlowSensitive.html#a3574977acd161925cadcb05de6d3247d">propagateFromAPToFP</a>(ap, dst);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FormalRetVFGNode.html">FormalRetSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalRetSVFGNode&gt;(src))</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; changed = <a class="code" href="classSVF_1_1FlowSensitive.html#a3abffe1434386b1ce349fbed0cfe0967">propagateFromFRToAR</a>(fp, dst);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// Direct SVFG edge links between def and use of a top-level pointer.</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="comment">// There&#39;s no points-to information propagated along direct edge.</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// Since the top-level pointer&#39;s value has been changed at src node,</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// return TRUE to put dst node into the work list.</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ae086de68233375be42185f0af706687a">directPropaTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;}</div><div class="ttc" id="classSVF_1_1FlowSensitive_html_a3574977acd161925cadcb05de6d3247d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a3574977acd161925cadcb05de6d3247d">SVF::FlowSensitive::propagateFromAPToFP</a></div><div class="ttdeci">virtual bool propagateFromAPToFP(const ActualParmSVFGNode *ap, const SVFGNode *dst)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00317">FlowSensitive.cpp:317</a></div></div>
2202
2202
  <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00846">VFGNode.h:846</a></div></div>
2203
2203
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
2204
- <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>
2204
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2205
2205
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2206
2206
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
2207
2207
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
@@ -2249,7 +2249,7 @@ Additional Inherited Members</h2></td></tr>
2249
2249
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5dddd53b4ca9d7cc23d88ed9f3de9fde"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">SVF::PointerAnalysis::getAllFieldsObjVars</a></div><div class="ttdeci">virtual const NodeBS &amp; getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00345">PointerAnalysis.h:345</a></div></div>
2250
2250
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
2251
2251
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a1b5abe09fd0fcd337385653cb47343c1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">SVF::SparseBitVector::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01118">SparseBitVector.h:1118</a></div></div>
2252
- <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>
2252
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2253
2253
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2254
2254
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
2255
2255
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
@@ -2401,7 +2401,7 @@ Additional Inherited Members</h2></td></tr>
2401
2401
  <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DirectSVFGEdge.html">DirectSVFGEdge</a>* dirEdge = SVFUtil::dyn_cast&lt;DirectSVFGEdge&gt;(edge))</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; changed = <a class="code" href="classSVF_1_1FlowSensitive.html#ad3518931d3b8a0671cbeb975f853b956">propAlongDirectEdge</a>(dirEdge);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* indEdge = SVFUtil::dyn_cast&lt;IndirectSVFGEdge&gt;(edge))</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; changed = <a class="code" href="classSVF_1_1FlowSensitive.html#aeb1e002519123a67f8d18f78cda04bac">propAlongIndirectEdge</a>(indEdge);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;new kind of svfg edge?&quot;</span>);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ac4d4b42bb96006801597f81ed3c4b337">propagationTime</a> += (end - start) /<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div><div class="ttc" id="classSVF_1_1FlowSensitive_html_aeb1e002519123a67f8d18f78cda04bac"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aeb1e002519123a67f8d18f78cda04bac">SVF::FlowSensitive::propAlongIndirectEdge</a></div><div class="ttdeci">virtual bool propAlongIndirectEdge(const IndirectSVFGEdge *edge)</div><div class="ttdoc">Propagate points-to information along an INDIRECT SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00348">FlowSensitive.cpp:348</a></div></div>
2402
2402
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ad3518931d3b8a0671cbeb975f853b956"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ad3518931d3b8a0671cbeb975f853b956">SVF::FlowSensitive::propAlongDirectEdge</a></div><div class="ttdeci">virtual bool propAlongDirectEdge(const DirectSVFGEdge *edge)</div><div class="ttdoc">Propagate points-to information along a DIRECT SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00286">FlowSensitive.cpp:286</a></div></div>
2403
2403
  <div class="ttc" id="classSVF_1_1DirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1DirectSVFGEdge.html">SVF::DirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00141">VFGEdge.h:141</a></div></div>
2404
- <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>
2404
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2405
2405
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2406
2406
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
2407
2407
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ac4d4b42bb96006801597f81ed3c4b337"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ac4d4b42bb96006801597f81ed3c4b337">SVF::FlowSensitive::propagationTime</a></div><div class="ttdeci">double propagationTime</div><div class="ttdoc">time of points-to propagation. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00304">FlowSensitive.h:304</a></div></div>
@@ -2631,7 +2631,7 @@ Additional Inherited Members</h2></td></tr>
2631
2631
  <div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;{</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>&amp; <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a> = <a class="code" href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">WPASVFGFSSolver::SCCDetect</a>();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#af496fa9aa2f4d59594950b2ad121deff">sccTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00127">SVFBasicTypes.h:127</a></div></div>
2632
2632
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_af496fa9aa2f4d59594950b2ad121deff"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af496fa9aa2f4d59594950b2ad121deff">SVF::FlowSensitive::sccTime</a></div><div class="ttdeci">double sccTime</div><div class="ttdoc">time of SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00302">FlowSensitive.h:302</a></div></div>
2633
2633
  <div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2d4cfae34bd4a55f1fe03881c87f8708"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SVF::WPAFSSolver::SCCDetect</a></div><div class="ttdeci">virtual NodeStack &amp; SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00067">WPAFSSolver.h:67</a></div></div>
2634
- <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>
2634
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2635
2635
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2636
2636
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
2637
2637
  <div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2cb80102611c663c4daddd68b4f4b75f"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">SVF::WPAFSSolver::nodeStack</a></div><div class="ttdeci">NodeStack nodeStack</div><div class="ttdoc">stack used for processing nodes. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00064">WPAFSSolver.h:64</a></div></div>
@@ -2829,13 +2829,13 @@ Additional Inherited Members</h2></td></tr>
2829
2829
 
2830
2830
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00639">639</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
2831
2831
  <div class="fragment"><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;{</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> newEdges;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">onTheFlyCallGraphSolve</a>(callsites, newEdges);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="comment">// Bound the new edges by the Andersen&#39;s call graph.</span></div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="comment">// TODO: we want this to be an assertion eventually.</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> &amp;andersCallEdgeMap = <a class="code" href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">ander</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>();</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">typename</span> CallEdgeMap::value_type &amp;csfs : newEdges)</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *potentialCallSite = csfs.first;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a> &amp;potentialFunctionSet = csfs.second;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="comment">// Check this callsite even calls anything per Andersen&#39;s.</span></div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keyword">typename</span> CallEdgeMap::const_iterator andersFunctionSetIt</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; = andersCallEdgeMap.find(potentialCallSite);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">if</span> (andersFunctionSetIt == andersCallEdgeMap.end())</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; potentialFunctionSet.clear();</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a> &amp;andersFunctionSet = andersFunctionSetIt-&gt;second;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">for</span> (FunctionSet::iterator potentialFunctionIt = potentialFunctionSet.begin();</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; potentialFunctionIt != potentialFunctionSet.end(); )</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *potentialFunction = *potentialFunctionIt;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">if</span> (andersFunctionSet.find(potentialFunction) == andersFunctionSet.end())</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="comment">// potentialFunction is not in the Andersen&#39;s call graph -- remove it.</span></div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; potentialFunctionIt = potentialFunctionSet.erase(potentialFunctionIt);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; {</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="comment">// potentialFunction is in the Andersen&#39;s call graph -- keep it..</span></div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; ++potentialFunctionIt;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; }</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVFGEdgeSetTy</a> svfgEdges;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ad7640ada31b5cb542e492e27ab4fe1af">connectCallerAndCallee</a>(newEdges, svfgEdges);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a1886b4964efa92cfff761493d12768b8">updateConnectedNodes</a>(svfgEdges);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07">updateCallGraphTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span> (!newEdges.empty());</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;}</div><div class="ttc" id="classSVF_1_1FlowSensitive_html_a1886b4964efa92cfff761493d12768b8"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a1886b4964efa92cfff761493d12768b8">SVF::FlowSensitive::updateConnectedNodes</a></div><div class="ttdeci">virtual void updateConnectedNodes(const SVFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Update nodes connected during updating call graph. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00712">FlowSensitive.cpp:712</a></div></div>
2832
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a9830d4676fd424b633f8e4d918734296"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">SVF::BVDataPTAImpl::onTheFlyCallGraphSolve</a></div><div class="ttdeci">virtual void onTheFlyCallGraphSolve(const CallSiteToFunPtrMap &amp;callsites, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">On the fly call graph construction. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00413">PointerAnalysisImpl.cpp:413</a></div></div>
2832
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a9830d4676fd424b633f8e4d918734296"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">SVF::BVDataPTAImpl::onTheFlyCallGraphSolve</a></div><div class="ttdeci">virtual void onTheFlyCallGraphSolve(const CallSiteToFunPtrMap &amp;callsites, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">On the fly call graph construction. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00436">PointerAnalysisImpl.cpp:436</a></div></div>
2833
2833
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
2834
2834
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_afc140b6c8e78dc2d962f64fdf53b1e07"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07">SVF::FlowSensitive::updateCallGraphTime</a></div><div class="ttdeci">double updateCallGraphTime</div><div class="ttdoc">time of updating call graph </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00314">FlowSensitive.h:314</a></div></div>
2835
2835
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a35bd5f0fb2c146199e9f1aa6a19b4062"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap&lt; const CallICFGNode *, FunctionSet &gt; CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00106">PointerAnalysis.h:106</a></div></div>
2836
2836
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac1422cd8b449fdb4a1f7c539364e4c41"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">SVF::PointerAnalysis::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00105">PointerAnalysis.h:105</a></div></div>
2837
2837
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1ca30dfa42702071b65d363c76d25cbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">SVF::PointerAnalysis::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap &amp; getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00375">PointerAnalysis.h:375</a></div></div>
2838
- <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>
2838
+ <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#l00046">SVFStat.cpp:46</a></div></div>
2839
2839
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
2840
2840
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
2841
2841
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
@@ -178,18 +178,21 @@ $(function() {
178
178
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html#a36f7be42772b2df6f7594c51b7dc4770">statNullPtr</a>()</td><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html">SVF::FlowSensitiveStat</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
179
179
  <tr><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html#af51e5b90f7bc52e3657a708c7bc5bb75">statPtsSize</a>()</td><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html">SVF::FlowSensitiveStat</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
180
180
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#ad22433722f7c71df19a891a5b5039d26">SVFStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
181
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">TIMEStatMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
182
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
183
- <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a25001a6d794d91056f37d954d9660910">TotalAnalysisTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
184
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a3afc0a36232a0388d8aa42c68219cb26">TotalNumOfEdges</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
185
- <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#ac0e0a1c49d33e02f5cc0f21565ce627d">TotalNumOfFieldObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
186
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#acd9848f15aa359550e86c7b857df84ed">TotalNumOfObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
187
- <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1a4d418fd9e5413e7ffbbfe57f5e0560">TotalNumOfPointers</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
188
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894">UpdateCallGraphTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
189
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc">Wall</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
190
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html#a308c187020098a7f421592e8baa98967">~FlowSensitiveStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html">SVF::FlowSensitiveStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
191
- <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1e5294c49b8bd8a850e938dccd5800a5">~PTAStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
192
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a135ac9973ebfef4680d343320453ff52">~SVFStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
181
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">timeOfBuildingLLVMModule</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
182
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#aea75388c973674686d1f2b7498b4095c">timeOfBuildingSVFIR</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
183
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">timeOfBuildingSymbolTable</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
184
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">TIMEStatMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
185
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
186
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a25001a6d794d91056f37d954d9660910">TotalAnalysisTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
187
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a3afc0a36232a0388d8aa42c68219cb26">TotalNumOfEdges</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
188
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#ac0e0a1c49d33e02f5cc0f21565ce627d">TotalNumOfFieldObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
189
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#acd9848f15aa359550e86c7b857df84ed">TotalNumOfObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
190
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1a4d418fd9e5413e7ffbbfe57f5e0560">TotalNumOfPointers</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
191
+ <tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894">UpdateCallGraphTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
192
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc">Wall</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
193
+ <tr><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html#a308c187020098a7f421592e8baa98967">~FlowSensitiveStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1FlowSensitiveStat.html">SVF::FlowSensitiveStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
194
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1e5294c49b8bd8a850e938dccd5800a5">~PTAStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
195
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a135ac9973ebfef4680d343320453ff52">~SVFStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
193
196
  </table></div><!-- contents -->
194
197
  <!-- start footer part -->
195
198
  <hr class="footer"/><address class="footer"><small>