svf-tools 1.0.595 → 1.0.596

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 (629) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -5
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +3 -3
  6. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +3 -3
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
  10. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +8 -5
  11. package/SVF-doxygen/html/html/CFLGraph_8h.html +1 -1
  12. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +18 -16
  13. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
  14. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +3 -3
  16. package/SVF-doxygen/html/html/CHG_8cpp.html +1 -1
  17. package/SVF-doxygen/html/html/CHG_8cpp_source.html +11 -8
  18. package/SVF-doxygen/html/html/CHG_8h.html +1 -1
  19. package/SVF-doxygen/html/html/CHG_8h_source.html +9 -7
  20. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  21. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
  22. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +18 -16
  23. package/SVF-doxygen/html/html/ConsG_8h.html +1 -1
  24. package/SVF-doxygen/html/html/ConsG_8h_source.html +8 -6
  25. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
  26. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +15 -13
  28. package/SVF-doxygen/html/html/DCHG_8h.html +1 -1
  29. package/SVF-doxygen/html/html/DCHG_8h_source.html +12 -10
  30. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +8 -8
  33. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  35. package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +96 -0
  36. package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +102 -0
  37. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +11 -11
  39. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  40. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
  41. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +5 -5
  42. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/GenericGraph_8h.html +11 -1
  44. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +127 -114
  45. package/SVF-doxygen/html/html/GraphPrinter_8h.html +2 -4
  46. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +8 -5
  47. package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +2 -1
  48. package/SVF-doxygen/html/html/GraphTraits_8h.html +117 -0
  49. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +91 -0
  50. package/SVF-doxygen/html/html/GraphWriter_8cpp.html +81 -0
  51. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +80 -0
  52. package/SVF-doxygen/html/html/GraphWriter_8h.html +137 -0
  53. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +129 -0
  54. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +6 -6
  56. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  57. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  58. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +9 -7
  59. package/SVF-doxygen/html/html/ICFG_8h.html +1 -1
  60. package/SVF-doxygen/html/html/ICFG_8h_source.html +11 -9
  61. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  62. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +8 -5
  63. package/SVF-doxygen/html/html/IRGraph_8h.html +1 -1
  64. package/SVF-doxygen/html/html/IRGraph_8h_source.html +7 -5
  65. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +4 -3
  66. package/SVF-doxygen/html/html/LLVMModule_8cpp.html +4 -3
  67. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +31 -31
  68. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +28 -28
  69. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +7 -7
  72. package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
  73. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  74. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  75. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
  76. package/SVF-doxygen/html/html/PCG_8cpp_source.html +6 -6
  77. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +17 -14
  78. package/SVF-doxygen/html/html/PTACallGraph_8h.html +1 -1
  79. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +15 -13
  80. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  81. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  82. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  83. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +5 -5
  84. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
  85. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  86. package/SVF-doxygen/html/html/SCC_8h_source.html +3 -1
  87. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  88. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +2 -2
  89. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
  90. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
  91. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  93. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +10 -9
  94. package/SVF-doxygen/html/html/SVFG_8h_source.html +11 -10
  95. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +6 -6
  96. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  97. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  98. package/SVF-doxygen/html/html/SVFIR_8h_source.html +3 -3
  99. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +3 -3
  100. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +8 -8
  101. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
  102. package/SVF-doxygen/html/html/SVFValue_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +4 -4
  104. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +7 -7
  105. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +7 -7
  106. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  107. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  108. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +2 -1
  109. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
  110. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  111. package/SVF-doxygen/html/html/TCT_8cpp_source.html +18 -16
  112. package/SVF-doxygen/html/html/TCT_8h.html +1 -1
  113. package/SVF-doxygen/html/html/TCT_8h_source.html +19 -17
  114. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +1 -1
  115. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  116. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
  117. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  118. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
  119. package/SVF-doxygen/html/html/VFGNode_8h_source.html +6 -6
  120. package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -8
  121. package/SVF-doxygen/html/html/VFG_8h.html +1 -1
  122. package/SVF-doxygen/html/html/VFG_8h_source.html +11 -9
  123. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  124. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +9 -9
  125. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -2
  126. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  127. package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -1
  128. package/SVF-doxygen/html/html/annotated.html +55 -42
  129. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
  132. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  137. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +25 -25
  138. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -5
  139. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +7 -7
  140. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  141. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +15 -15
  142. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
  145. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
  146. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  147. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +3 -3
  148. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +5 -5
  150. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
  151. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -3
  152. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
  154. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +10 -10
  156. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +10 -9
  157. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  159. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +30 -29
  164. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  165. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  166. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +8 -8
  167. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  169. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +27 -24
  170. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  171. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +14 -14
  172. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  174. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  175. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +4 -4
  176. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -2
  180. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +2 -2
  181. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  182. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +17 -17
  183. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +15 -15
  184. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
  185. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
  188. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
  189. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
  192. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  193. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +96 -97
  194. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  195. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +4 -4
  200. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +16 -15
  201. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
  202. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
  203. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  204. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  205. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +11 -10
  206. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  207. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +2 -2
  210. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  214. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  215. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +4 -3
  216. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +103 -103
  217. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  218. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +8 -8
  220. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +11 -11
  221. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +9 -9
  222. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +5 -5
  225. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +28 -28
  226. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  229. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
  232. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  233. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +23 -22
  234. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  235. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +6 -6
  236. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  237. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +12 -12
  239. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
  240. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  241. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +2 -2
  242. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  243. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +4 -4
  247. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +11 -11
  248. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
  249. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
  250. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  251. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +19 -19
  252. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +3 -3
  253. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
  254. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +9 -9
  256. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +12 -12
  257. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +7 -7
  260. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +4 -4
  261. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +12 -12
  262. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +4 -4
  263. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +7 -7
  264. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
  265. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  266. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  267. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +35 -35
  268. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +2 -2
  270. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  271. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  272. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  273. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  274. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +6 -6
  275. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +4 -4
  276. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  277. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +19 -18
  278. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
  279. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  280. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +32 -32
  283. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  284. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  285. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
  286. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +4 -3
  287. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +4 -4
  288. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
  289. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +4 -4
  290. package/SVF-doxygen/html/html/classes.html +105 -102
  291. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +9 -7
  292. package/SVF-doxygen/html/html/classllvm_1_1GraphWriter-members.html +100 -0
  293. package/SVF-doxygen/html/html/classllvm_1_1GraphWriter.html +882 -0
  294. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base-members.html +112 -0
  295. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.html +633 -0
  296. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.png +0 -0
  297. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base-members.html +102 -0
  298. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.html +787 -0
  299. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.png +0 -0
  300. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy-members.html +84 -0
  301. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy.html +229 -0
  302. package/SVF-doxygen/html/html/classllvm_1_1iterator__range-members.html +87 -0
  303. package/SVF-doxygen/html/html/classllvm_1_1iterator__range.html +342 -0
  304. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter-members.html +112 -0
  305. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.html +322 -0
  306. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.png +0 -0
  307. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator-members.html +113 -0
  308. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.html +343 -0
  309. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.png +0 -0
  310. package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -0
  311. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +4 -0
  312. package/SVF-doxygen/html/html/dir_fa02919a30fec2d2c2d591b4d920d648.html +6 -0
  313. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -1
  314. package/SVF-doxygen/html/html/files.html +42 -36
  315. package/SVF-doxygen/html/html/functions_a.html +11 -8
  316. package/SVF-doxygen/html/html/functions_b.html +20 -13
  317. package/SVF-doxygen/html/html/functions_c.html +36 -37
  318. package/SVF-doxygen/html/html/functions_d.html +16 -4
  319. package/SVF-doxygen/html/html/functions_e.html +16 -2
  320. package/SVF-doxygen/html/html/functions_eval_b.html +4 -4
  321. package/SVF-doxygen/html/html/functions_eval_i.html +6 -0
  322. package/SVF-doxygen/html/html/functions_f.html +21 -18
  323. package/SVF-doxygen/html/html/functions_func.html +13 -10
  324. package/SVF-doxygen/html/html/functions_func_b.html +3 -2
  325. package/SVF-doxygen/html/html/functions_func_d.html +7 -3
  326. package/SVF-doxygen/html/html/functions_func_e.html +12 -1
  327. package/SVF-doxygen/html/html/functions_func_g.html +54 -22
  328. package/SVF-doxygen/html/html/functions_func_h.html +7 -4
  329. package/SVF-doxygen/html/html/functions_func_i.html +22 -8
  330. package/SVF-doxygen/html/html/functions_func_m.html +3 -0
  331. package/SVF-doxygen/html/html/functions_func_n.html +3 -0
  332. package/SVF-doxygen/html/html/functions_func_o.html +42 -8
  333. package/SVF-doxygen/html/html/functions_func_p.html +7 -1
  334. package/SVF-doxygen/html/html/functions_func_r.html +7 -1
  335. package/SVF-doxygen/html/html/functions_func_w.html +21 -0
  336. package/SVF-doxygen/html/html/functions_g.html +60 -21
  337. package/SVF-doxygen/html/html/functions_h.html +8 -5
  338. package/SVF-doxygen/html/html/functions_i.html +50 -19
  339. package/SVF-doxygen/html/html/functions_l.html +3 -3
  340. package/SVF-doxygen/html/html/functions_m.html +4 -1
  341. package/SVF-doxygen/html/html/functions_n.html +9 -3
  342. package/SVF-doxygen/html/html/functions_o.html +53 -20
  343. package/SVF-doxygen/html/html/functions_p.html +31 -21
  344. package/SVF-doxygen/html/html/functions_r.html +13 -10
  345. package/SVF-doxygen/html/html/functions_rela.html +6 -3
  346. package/SVF-doxygen/html/html/functions_s.html +8 -10
  347. package/SVF-doxygen/html/html/functions_t.html +9 -9
  348. package/SVF-doxygen/html/html/functions_type_b.html +3 -0
  349. package/SVF-doxygen/html/html/functions_type_c.html +4 -3
  350. package/SVF-doxygen/html/html/functions_type_d.html +6 -1
  351. package/SVF-doxygen/html/html/functions_type_g.html +2 -1
  352. package/SVF-doxygen/html/html/functions_type_i.html +2 -1
  353. package/SVF-doxygen/html/html/functions_type_n.html +6 -3
  354. package/SVF-doxygen/html/html/functions_type_p.html +2 -1
  355. package/SVF-doxygen/html/html/functions_type_r.html +2 -1
  356. package/SVF-doxygen/html/html/functions_type_v.html +2 -1
  357. package/SVF-doxygen/html/html/functions_v.html +6 -5
  358. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  359. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  360. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  361. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  362. package/SVF-doxygen/html/html/functions_vars_g.html +6 -0
  363. package/SVF-doxygen/html/html/functions_vars_i.html +10 -0
  364. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  365. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  366. package/SVF-doxygen/html/html/functions_w.html +30 -9
  367. package/SVF-doxygen/html/html/hierarchy.html +444 -397
  368. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
  369. package/SVF-doxygen/html/html/iterator_8h.html +123 -0
  370. package/SVF-doxygen/html/html/iterator_8h_source.html +134 -0
  371. package/SVF-doxygen/html/html/iterator__range_8h.html +109 -0
  372. package/SVF-doxygen/html/html/iterator__range_8h_source.html +90 -0
  373. package/SVF-doxygen/html/html/menudata.js +17 -16
  374. package/SVF-doxygen/html/html/namespacellvm.html +488 -11
  375. package/SVF-doxygen/html/html/namespacellvm_1_1DOT.html +107 -0
  376. package/SVF-doxygen/html/html/namespacellvm_1_1GraphProgram.html +122 -0
  377. package/SVF-doxygen/html/html/namespacemembers_c.html +9 -0
  378. package/SVF-doxygen/html/html/namespacemembers_d.html +5 -2
  379. package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
  380. package/SVF-doxygen/html/html/namespacemembers_enum.html +3 -0
  381. package/SVF-doxygen/html/html/namespacemembers_eval.html +15 -0
  382. package/SVF-doxygen/html/html/namespacemembers_f.html +3 -0
  383. package/SVF-doxygen/html/html/namespacemembers_func.html +0 -495
  384. package/SVF-doxygen/html/html/namespacemembers_func_b.html +88 -0
  385. package/SVF-doxygen/html/html/namespacemembers_func_c.html +97 -0
  386. package/SVF-doxygen/html/html/namespacemembers_func_d.html +97 -0
  387. package/SVF-doxygen/html/html/namespacemembers_func_e.html +82 -0
  388. package/SVF-doxygen/html/html/namespacemembers_func_f.html +76 -0
  389. package/SVF-doxygen/html/html/namespacemembers_func_g.html +186 -0
  390. package/SVF-doxygen/html/html/namespacemembers_func_h.html +76 -0
  391. package/SVF-doxygen/html/html/namespacemembers_func_i.html +250 -0
  392. package/SVF-doxygen/html/html/namespacemembers_func_m.html +91 -0
  393. package/SVF-doxygen/html/html/namespacemembers_func_n.html +76 -0
  394. package/SVF-doxygen/html/html/namespacemembers_func_o.html +94 -0
  395. package/SVF-doxygen/html/html/namespacemembers_func_p.html +82 -0
  396. package/SVF-doxygen/html/html/namespacemembers_func_r.html +79 -0
  397. package/SVF-doxygen/html/html/namespacemembers_func_s.html +91 -0
  398. package/SVF-doxygen/html/html/namespacemembers_func_t.html +76 -0
  399. package/SVF-doxygen/html/html/namespacemembers_func_v.html +85 -0
  400. package/SVF-doxygen/html/html/namespacemembers_func_w.html +82 -0
  401. package/SVF-doxygen/html/html/namespacemembers_i.html +8 -2
  402. package/SVF-doxygen/html/html/namespacemembers_m.html +12 -0
  403. package/SVF-doxygen/html/html/namespacemembers_n.html +9 -0
  404. package/SVF-doxygen/html/html/namespacemembers_r.html +4 -1
  405. package/SVF-doxygen/html/html/namespacemembers_t.html +3 -0
  406. package/SVF-doxygen/html/html/namespacemembers_type_r.html +3 -0
  407. package/SVF-doxygen/html/html/namespacemembers_v.html +3 -0
  408. package/SVF-doxygen/html/html/namespacemembers_w.html +3 -0
  409. package/SVF-doxygen/html/html/namespaces.html +3 -1
  410. package/SVF-doxygen/html/html/search/all_1.js +1 -0
  411. package/SVF-doxygen/html/html/search/all_10.js +13 -10
  412. package/SVF-doxygen/html/html/search/all_11.js +5 -2
  413. package/SVF-doxygen/html/html/search/all_12.js +4 -4
  414. package/SVF-doxygen/html/html/search/all_13.js +7 -6
  415. package/SVF-doxygen/html/html/search/all_15.js +4 -3
  416. package/SVF-doxygen/html/html/search/all_16.js +9 -2
  417. package/SVF-doxygen/html/html/search/all_2.js +6 -4
  418. package/SVF-doxygen/html/html/search/all_3.js +8 -5
  419. package/SVF-doxygen/html/html/search/all_4.js +9 -2
  420. package/SVF-doxygen/html/html/search/all_5.js +7 -2
  421. package/SVF-doxygen/html/html/search/all_6.js +3 -1
  422. package/SVF-doxygen/html/html/search/all_7.js +51 -7
  423. package/SVF-doxygen/html/html/search/all_8.js +1 -0
  424. package/SVF-doxygen/html/html/search/all_9.js +24 -6
  425. package/SVF-doxygen/html/html/search/all_c.js +4 -2
  426. package/SVF-doxygen/html/html/search/all_d.js +6 -1
  427. package/SVF-doxygen/html/html/search/all_e.js +7 -4
  428. package/SVF-doxygen/html/html/search/all_f.js +17 -13
  429. package/SVF-doxygen/html/html/search/classes_3.js +4 -0
  430. package/SVF-doxygen/html/html/search/classes_6.js +33 -1
  431. package/SVF-doxygen/html/html/search/classes_8.js +11 -1
  432. package/SVF-doxygen/html/html/search/classes_a.js +1 -0
  433. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  434. package/SVF-doxygen/html/html/search/classes_e.js +1 -0
  435. package/SVF-doxygen/html/html/search/enums_8.js +1 -6
  436. package/SVF-doxygen/html/html/search/enums_9.js +6 -1
  437. package/SVF-doxygen/html/html/search/enums_a.js +1 -4
  438. package/SVF-doxygen/html/html/search/enums_b.js +4 -2
  439. package/SVF-doxygen/html/html/search/enums_c.js +2 -4
  440. package/SVF-doxygen/html/html/search/enums_d.js +4 -1
  441. package/SVF-doxygen/html/html/search/enums_e.html +26 -0
  442. package/SVF-doxygen/html/html/search/enums_e.js +4 -0
  443. package/SVF-doxygen/html/html/search/enumvalues_1.js +3 -3
  444. package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -0
  445. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -0
  446. package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -0
  447. package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -0
  448. package/SVF-doxygen/html/html/search/enumvalues_8.js +3 -1
  449. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -0
  450. package/SVF-doxygen/html/html/search/files_3.js +1 -0
  451. package/SVF-doxygen/html/html/search/files_6.js +4 -1
  452. package/SVF-doxygen/html/html/search/files_7.js +3 -1
  453. package/SVF-doxygen/html/html/search/functions_0.js +1 -0
  454. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  455. package/SVF-doxygen/html/html/search/functions_10.js +2 -0
  456. package/SVF-doxygen/html/html/search/functions_14.js +1 -0
  457. package/SVF-doxygen/html/html/search/functions_15.js +7 -0
  458. package/SVF-doxygen/html/html/search/functions_2.js +2 -0
  459. package/SVF-doxygen/html/html/search/functions_3.js +2 -1
  460. package/SVF-doxygen/html/html/search/functions_4.js +6 -2
  461. package/SVF-doxygen/html/html/search/functions_6.js +15 -6
  462. package/SVF-doxygen/html/html/search/functions_7.js +1 -0
  463. package/SVF-doxygen/html/html/search/functions_8.js +9 -3
  464. package/SVF-doxygen/html/html/search/functions_c.js +5 -0
  465. package/SVF-doxygen/html/html/search/functions_d.js +2 -0
  466. package/SVF-doxygen/html/html/search/functions_e.js +14 -8
  467. package/SVF-doxygen/html/html/search/functions_f.js +3 -1
  468. package/SVF-doxygen/html/html/search/namespaces_0.js +2 -0
  469. package/SVF-doxygen/html/html/search/related_9.js +3 -3
  470. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  471. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -0
  472. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  473. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
  474. package/SVF-doxygen/html/html/search/typedefs_3.js +2 -1
  475. package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
  476. package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
  477. package/SVF-doxygen/html/html/search/typedefs_c.js +3 -3
  478. package/SVF-doxygen/html/html/search/typedefs_e.js +1 -1
  479. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -1
  480. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  481. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  482. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  483. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  484. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  485. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  486. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  487. package/SVF-doxygen/html/html/search/variables_7.js +2 -1
  488. package/SVF-doxygen/html/html/search/variables_9.js +5 -2
  489. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  490. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  491. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  492. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +3 -3
  493. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +46 -46
  494. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits-members.html +99 -0
  495. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.html +193 -0
  496. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.png +0 -0
  497. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +22 -4
  498. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +67 -10
  499. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  500. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +21 -3
  501. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +65 -8
  502. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  503. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +22 -4
  504. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +72 -12
  505. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  506. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +23 -5
  507. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +70 -10
  508. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  509. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +23 -5
  510. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +68 -11
  511. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  512. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +23 -5
  513. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +68 -11
  514. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  515. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +24 -6
  516. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +76 -15
  517. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  518. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +22 -4
  519. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +67 -10
  520. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  521. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +24 -6
  522. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +73 -12
  523. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  524. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits-members.html +99 -0
  525. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.html +855 -0
  526. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.png +0 -0
  527. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits-members.html +81 -0
  528. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits.html +116 -0
  529. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  530. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  531. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  532. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  533. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +12 -2
  534. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  535. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  536. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +12 -2
  537. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  538. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  539. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +12 -2
  540. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  541. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  542. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +12 -2
  543. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  544. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +1 -1
  545. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +33 -31
  546. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  547. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +12 -2
  548. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  549. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  550. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +12 -2
  551. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  552. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  553. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +12 -2
  554. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  555. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  556. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +12 -2
  557. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  558. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  559. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +12 -2
  560. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  561. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +5 -1
  562. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  563. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  564. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +10 -0
  565. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  566. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +5 -1
  567. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  568. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  569. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +10 -0
  570. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  571. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +5 -1
  572. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  573. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  574. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +10 -0
  575. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  576. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +5 -1
  577. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  578. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  579. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +10 -0
  580. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  581. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +2 -2
  582. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +46 -44
  583. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +1 -1
  584. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +38 -34
  585. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  586. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +10 -0
  587. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  588. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +5 -1
  589. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  590. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +5 -1
  591. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  592. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  593. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +10 -0
  594. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  595. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +5 -1
  596. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  597. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +5 -1
  598. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  599. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  600. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +10 -0
  601. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  602. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  603. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +10 -0
  604. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  605. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +5 -1
  606. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  607. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  608. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +10 -0
  609. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  610. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +5 -1
  611. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  612. package/SVF-doxygen/html/html/structllvm_1_1Inverse-members.html +82 -0
  613. package/SVF-doxygen/html/html/structllvm_1_1Inverse.html +154 -0
  614. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator-members.html +111 -0
  615. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.html +279 -0
  616. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.png +0 -0
  617. package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -8
  618. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +4 -4
  619. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
  620. package/include/Graphs/DOTGraphTraits.h +188 -0
  621. package/include/Graphs/GenericGraph.h +50 -11
  622. package/include/Graphs/GraphPrinter.h +12 -20
  623. package/include/Graphs/GraphTraits.h +150 -0
  624. package/include/Graphs/GraphWriter.h +380 -0
  625. package/include/Util/iterator.h +407 -0
  626. package/include/Util/iterator_range.h +76 -0
  627. package/lib/Graphs/GraphWriter.cpp +53 -0
  628. package/lib/SVF-LLVM/LLVMModule.cpp +1 -0
  629. package/package.json +1 -1
@@ -266,7 +266,7 @@ Additional Inherited Members</h2></td></tr>
266
266
 
267
267
  <p class="definition">Definition at line <a class="el" href="AndersenStat_8cpp_source.html#l00060">60</a> of file <a class="el" href="AndersenStat_8cpp_source.html">AndersenStat.cpp</a>.</p>
268
268
  <div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">_NumOfCycles</a> = 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">_NumOfPWCCycles</a> = 0;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">_NumOfNodesInCycles</a> = 0;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> repNodes;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; repNodes.clear();</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">ConstraintGraph::iterator</a> it = consCG-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = consCG-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// sub nodes have been removed from the constraint graph, only rep nodes are left.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> repNode = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(it-&gt;first);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>&amp; subNodes = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aed605b010e313f4b11e95b83fe50e3b3">sccSubNodes</a>(repNode);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> clone = subNodes;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">NodeBS::iterator</a> it = subNodes.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), eit = subNodes.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>(); it != eit; ++it)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> nodeId = *it;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(nodeId);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ObjVar&gt;(pagNode) &amp;&amp; <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(nodeId))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> baseId = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a6e8c46641da751fe3369c9d5407ce415">getBaseObjVar</a>(nodeId);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; clone.<a class="code" href="classSVF_1_1SparseBitVector.html#ad5337b5aeed50f8b7ffd56b14ee25c9f">reset</a>(nodeId);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; clone.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(baseId);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = clone.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (num &gt; 1)</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span>(repNodes.insert(repNode).second)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">_NumOfNodesInCycles</a> += num;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span>(consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a84468bc9355d31e8c3e18369036ddf5c">isPWCNode</a>(repNode))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">_NumOfPWCCycles</a> ++;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span>( num &gt; <a class="code" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">_MaxNumOfNodesInSCC</a>)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">_MaxNumOfNodesInSCC</a> = num;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">_NumOfCycles</a> += repNodes.size();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div><div class="ttc" id="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00536">SparseBitVector.h:536</a></div></div>
269
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00367">GenericGraph.h:367</a></div></div>
269
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00368">GenericGraph.h:368</a></div></div>
270
270
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a6e58c88a4118d368955dee5bbb0ccd21"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">SVF::AndersenStat::_NumOfCycles</a></div><div class="ttdeci">static u32_t _NumOfCycles</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00058">WPAStat.h:58</a></div></div>
271
271
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a8af8dd60987c4c99ea3727d9db87c187"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">SVF::AndersenStat::pta</a></div><div class="ttdeci">AndersenBase * pta</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00052">WPAStat.h:52</a></div></div>
272
272
  <div class="ttc" id="classSVF_1_1AndersenStat_html_ac16491cbf4bcd22dc1a8acd25db20e10"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">SVF::AndersenStat::_MaxNumOfNodesInSCC</a></div><div class="ttdeci">static u32_t _MaxNumOfNodesInSCC</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00061">WPAStat.h:61</a></div></div>
@@ -278,8 +278,8 @@ Additional Inherited Members</h2></td></tr>
278
278
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a9f96e6a886fa69e07cda5dbfaed8b7c9"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">SVF::SparseBitVector::count</a></div><div class="ttdeci">unsigned count() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01104">SparseBitVector.h:1104</a></div></div>
279
279
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00050">SVFType.h:50</a></div></div>
280
280
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a84468bc9355d31e8c3e18369036ddf5c"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a84468bc9355d31e8c3e18369036ddf5c">SVF::ConstraintGraph::isPWCNode</a></div><div class="ttdeci">bool isPWCNode(NodeID nodeId)</div><div class="ttdoc">Check/Set PWC (positive weight cycle) flag. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00348">ConsG.h:348</a></div></div>
281
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00371">GenericGraph.h:371</a></div></div>
282
- <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; ConstraintNode, ConstraintEdge &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00344">GenericGraph.h:344</a></div></div>
281
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00372">GenericGraph.h:372</a></div></div>
282
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; ConstraintNode, ConstraintEdge &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00345">GenericGraph.h:345</a></div></div>
283
283
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
284
284
  <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#l01120">SparseBitVector.h:1120</a></div></div>
285
285
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a39b973543acdcdc5493832cc9d0f586f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">SVF::ConstraintGraph::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC rep/sub nodes methods. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00233">ConsG.h:233</a></div></div>
@@ -289,7 +289,7 @@ Additional Inherited Members</h2></td></tr>
289
289
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a6e8c46641da751fe3369c9d5407ce415"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a6e8c46641da751fe3369c9d5407ce415">SVF::ConstraintGraph::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00318">ConsG.h:318</a></div></div>
290
290
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
291
291
  <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>
292
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00393">GenericGraph.h:393</a></div></div>
292
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00394">GenericGraph.h:394</a></div></div>
293
293
  <div class="ttc" id="classSVF_1_1AndersenStat_html_aa2e3a589d376de12a1cbfb0d1ebcacb9"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">SVF::AndersenStat::_NumOfNodesInCycles</a></div><div class="ttdeci">static u32_t _NumOfNodesInCycles</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00060">WPAStat.h:60</a></div></div>
294
294
  </div><!-- fragment -->
295
295
  </div>
@@ -310,7 +310,7 @@ Additional Inherited Members</h2></td></tr>
310
310
  </div><div class="memdoc">
311
311
 
312
312
  <p class="definition">Definition at line <a class="el" href="AndersenStat_8cpp_source.html#l00100">100</a> of file <a class="el" href="AndersenStat_8cpp_source.html">AndersenStat.cpp</a>.</p>
313
- <div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>* consCG = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">getConstraintGraph</a>();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfCopys = 0;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfGeps = 0;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// collect copy and gep edges</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span>(ConstraintEdge::ConstraintEdgeSetTy::iterator it = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">getDirectCGEdges</a>().begin(),</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; eit = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">getDirectCGEdges</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;CopyCGEdge&gt;(*it))</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; numOfCopys++;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;GepCGEdge&gt;(*it))</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; numOfGeps++;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else!!&quot;</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalNodeNumber = 0;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cgNodeNumber = 0;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objNodeNumber = 0;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addrtotalIn = 0;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addrmaxIn = 0;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addrmaxOut = 0;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> copytotalIn = 0;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> copymaxIn = 0;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> copymaxOut = 0;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> loadtotalIn = 0;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> loadmaxIn = 0;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> loadmaxOut = 0;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> storetotalIn = 0;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> storemaxIn = 0;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> storemaxOut = 0;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</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; <span class="keywordflow">for</span> (ConstraintGraph::ConstraintNodeIDToNodeMapTy::iterator nodeIt = consCG-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), nodeEit = consCG-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; nodeIt != nodeEit; nodeIt++)</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; totalNodeNumber++;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span>(nodeIt-&gt;second-&gt;getInEdges().empty() &amp;&amp; nodeIt-&gt;second-&gt;getOutEdges().empty())</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; cgNodeNumber++;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ObjVar&gt;(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(nodeIt-&gt;first)))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; objNodeNumber++;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nCopyIn = nodeIt-&gt;second-&gt;getDirectInEdges().size();</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span>(nCopyIn &gt; copymaxIn)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; copymaxIn = nCopyIn;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; copytotalIn +=nCopyIn;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nCopyOut = nodeIt-&gt;second-&gt;getDirectOutEdges().size();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(nCopyOut &gt; copymaxOut)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; copymaxOut = nCopyOut;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nLoadIn = nodeIt-&gt;second-&gt;getLoadInEdges().size();</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span>(nLoadIn &gt; loadmaxIn)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; loadmaxIn = nLoadIn;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; loadtotalIn +=nLoadIn;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nLoadOut = nodeIt-&gt;second-&gt;getLoadOutEdges().size();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span>(nLoadOut &gt; loadmaxOut)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; loadmaxOut = nLoadOut;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nStoreIn = nodeIt-&gt;second-&gt;getStoreInEdges().size();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span>(nStoreIn &gt; storemaxIn)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; storemaxIn = nStoreIn;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; storetotalIn +=nStoreIn;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nStoreOut = nodeIt-&gt;second-&gt;getStoreOutEdges().size();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">if</span>(nStoreOut &gt; storemaxOut)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; storemaxOut = nStoreOut;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nAddrIn = nodeIt-&gt;second-&gt;getAddrInEdges().size();</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span>(nAddrIn &gt; addrmaxIn)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; addrmaxIn = nAddrIn;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; addrtotalIn +=nAddrIn;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nAddrOut = nodeIt-&gt;second-&gt;getAddrOutEdges().size();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(nAddrOut &gt; addrmaxOut)</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; addrmaxOut = nAddrOut;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">double</span> storeavgIn = (double)storetotalIn/cgNodeNumber;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">double</span> loadavgIn = (double)loadtotalIn/cgNodeNumber;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordtype">double</span> copyavgIn = (double)copytotalIn/cgNodeNumber;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">double</span> addravgIn = (double)addrtotalIn/cgNodeNumber;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordtype">double</span> avgIn = (double)(addrtotalIn + copytotalIn + loadtotalIn + storetotalIn)/cgNodeNumber;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfCGNode&quot;</span>] = totalNodeNumber;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalValidNode&quot;</span>] = cgNodeNumber;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalValidObjNode&quot;</span>] = objNodeNumber;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfCGEdge&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">getLoadCGEdges</a>().size() + consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">getStoreCGEdges</a>().size()</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; + numOfCopys + numOfGeps;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfAddrs&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#adee52f15f5ff58dd455e419c2643f89b">getAddrCGEdges</a>().size();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfCopys&quot;</span>] = numOfCopys;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfGeps&quot;</span>] = numOfGeps;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfLoads&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">getLoadCGEdges</a>().size();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStores&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">getStoreCGEdges</a>().size();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInCopyEdge&quot;</span>] = copymaxIn;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutCopyEdge&quot;</span>] = copymaxOut;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInLoadEdge&quot;</span>] = loadmaxIn;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutLoadEdge&quot;</span>] = loadmaxOut;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInStoreEdge&quot;</span>] = storemaxIn;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutStoreEdge&quot;</span>] = storemaxOut;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutStoreEdge&quot;</span>] = storeavgIn;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInAddrEdge&quot;</span>] = addrmaxIn;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutAddrEdge&quot;</span>] = addrmaxOut;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutCopyEdge&quot;</span>] = copyavgIn;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutLoadEdge&quot;</span>] = loadavgIn;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutAddrEdge&quot;</span>] = addravgIn;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutEdge&quot;</span>] = avgIn;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">PTAStat::printStat</a>(<span class="stringliteral">&quot;Constraint Graph Stats&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00367">GenericGraph.h:367</a></div></div>
313
+ <div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>* consCG = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">getConstraintGraph</a>();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfCopys = 0;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> numOfGeps = 0;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// collect copy and gep edges</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span>(ConstraintEdge::ConstraintEdgeSetTy::iterator it = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">getDirectCGEdges</a>().begin(),</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; eit = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">getDirectCGEdges</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;CopyCGEdge&gt;(*it))</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; numOfCopys++;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;GepCGEdge&gt;(*it))</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; numOfGeps++;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else!!&quot;</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalNodeNumber = 0;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cgNodeNumber = 0;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objNodeNumber = 0;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addrtotalIn = 0;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addrmaxIn = 0;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addrmaxOut = 0;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> copytotalIn = 0;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> copymaxIn = 0;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> copymaxOut = 0;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> loadtotalIn = 0;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> loadmaxIn = 0;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> loadmaxOut = 0;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> storetotalIn = 0;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> storemaxIn = 0;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> storemaxOut = 0;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</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; <span class="keywordflow">for</span> (ConstraintGraph::ConstraintNodeIDToNodeMapTy::iterator nodeIt = consCG-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), nodeEit = consCG-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; nodeIt != nodeEit; nodeIt++)</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; totalNodeNumber++;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span>(nodeIt-&gt;second-&gt;getInEdges().empty() &amp;&amp; nodeIt-&gt;second-&gt;getOutEdges().empty())</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; cgNodeNumber++;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ObjVar&gt;(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(nodeIt-&gt;first)))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; objNodeNumber++;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nCopyIn = nodeIt-&gt;second-&gt;getDirectInEdges().size();</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span>(nCopyIn &gt; copymaxIn)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; copymaxIn = nCopyIn;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; copytotalIn +=nCopyIn;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nCopyOut = nodeIt-&gt;second-&gt;getDirectOutEdges().size();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(nCopyOut &gt; copymaxOut)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; copymaxOut = nCopyOut;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nLoadIn = nodeIt-&gt;second-&gt;getLoadInEdges().size();</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span>(nLoadIn &gt; loadmaxIn)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; loadmaxIn = nLoadIn;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; loadtotalIn +=nLoadIn;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nLoadOut = nodeIt-&gt;second-&gt;getLoadOutEdges().size();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span>(nLoadOut &gt; loadmaxOut)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; loadmaxOut = nLoadOut;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nStoreIn = nodeIt-&gt;second-&gt;getStoreInEdges().size();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span>(nStoreIn &gt; storemaxIn)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; storemaxIn = nStoreIn;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; storetotalIn +=nStoreIn;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nStoreOut = nodeIt-&gt;second-&gt;getStoreOutEdges().size();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">if</span>(nStoreOut &gt; storemaxOut)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; storemaxOut = nStoreOut;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nAddrIn = nodeIt-&gt;second-&gt;getAddrInEdges().size();</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span>(nAddrIn &gt; addrmaxIn)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; addrmaxIn = nAddrIn;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; addrtotalIn +=nAddrIn;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nAddrOut = nodeIt-&gt;second-&gt;getAddrOutEdges().size();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(nAddrOut &gt; addrmaxOut)</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; addrmaxOut = nAddrOut;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">double</span> storeavgIn = (double)storetotalIn/cgNodeNumber;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">double</span> loadavgIn = (double)loadtotalIn/cgNodeNumber;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordtype">double</span> copyavgIn = (double)copytotalIn/cgNodeNumber;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">double</span> addravgIn = (double)addrtotalIn/cgNodeNumber;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordtype">double</span> avgIn = (double)(addrtotalIn + copytotalIn + loadtotalIn + storetotalIn)/cgNodeNumber;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfCGNode&quot;</span>] = totalNodeNumber;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalValidNode&quot;</span>] = cgNodeNumber;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalValidObjNode&quot;</span>] = objNodeNumber;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfCGEdge&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">getLoadCGEdges</a>().size() + consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">getStoreCGEdges</a>().size()</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; + numOfCopys + numOfGeps;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfAddrs&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#adee52f15f5ff58dd455e419c2643f89b">getAddrCGEdges</a>().size();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfCopys&quot;</span>] = numOfCopys;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfGeps&quot;</span>] = numOfGeps;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfLoads&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">getLoadCGEdges</a>().size();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfStores&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">getStoreCGEdges</a>().size();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInCopyEdge&quot;</span>] = copymaxIn;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutCopyEdge&quot;</span>] = copymaxOut;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInLoadEdge&quot;</span>] = loadmaxIn;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutLoadEdge&quot;</span>] = loadmaxOut;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInStoreEdge&quot;</span>] = storemaxIn;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutStoreEdge&quot;</span>] = storemaxOut;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutStoreEdge&quot;</span>] = storeavgIn;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxInAddrEdge&quot;</span>] = addrmaxIn;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxOutAddrEdge&quot;</span>] = addrmaxOut;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutCopyEdge&quot;</span>] = copyavgIn;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutLoadEdge&quot;</span>] = loadavgIn;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutAddrEdge&quot;</span>] = addravgIn;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgIn/OutEdge&quot;</span>] = avgIn;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">PTAStat::printStat</a>(<span class="stringliteral">&quot;Constraint Graph Stats&quot;</span>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00368">GenericGraph.h:368</a></div></div>
314
314
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_afb849d8f3425ff36497d062ecefd2cc1"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">SVF::ConstraintGraph::getLoadCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy &amp; getLoadCGEdges()</div><div class="ttdoc">Get Load edges. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00204">ConsG.h:204</a></div></div>
315
315
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a8af8dd60987c4c99ea3727d9db87c187"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">SVF::AndersenStat::pta</a></div><div class="ttdeci">AndersenBase * pta</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00052">WPAStat.h:52</a></div></div>
316
316
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html">SVF::ConstraintGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00044">ConsG.h:44</a></div></div>
@@ -318,13 +318,13 @@ Additional Inherited Members</h2></td></tr>
318
318
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_ad7196d5f05192d9468ee0ca93b6b66ee"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">SVF::ConstraintGraph::getDirectCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy &amp; getDirectCGEdges()</div><div class="ttdoc">Get Copy/call/ret/gep edges. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00199">ConsG.h:199</a></div></div>
319
319
  <div class="ttc" id="classSVF_1_1AndersenBase_html_aaec5125db063f8c1e7431ac7fe7a70f2"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">SVF::AndersenBase::getConstraintGraph</a></div><div class="ttdeci">ConstraintGraph * getConstraintGraph()</div><div class="ttdoc">Get constraint graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00103">Andersen.h:103</a></div></div>
320
320
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00050">SVFType.h:50</a></div></div>
321
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00371">GenericGraph.h:371</a></div></div>
321
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00372">GenericGraph.h:372</a></div></div>
322
322
  <div class="ttc" id="classSVF_1_1SVFStat_html_a178fcefed6ffffc78bbe9b23e0e1babe"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">SVF::SVFStat::printStat</a></div><div class="ttdeci">virtual void printStat(std::string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00066">SVFStat.cpp:66</a></div></div>
323
323
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
324
324
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_adee52f15f5ff58dd455e419c2643f89b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#adee52f15f5ff58dd455e419c2643f89b">SVF::ConstraintGraph::getAddrCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy &amp; getAddrCGEdges()</div><div class="ttdoc">Get SVFIR edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00194">ConsG.h:194</a></div></div>
325
325
  <div class="ttc" id="classSVF_1_1SVFStat_html_a5383691a34426a1a997b5eed387f1831"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">SVF::SVFStat::timeStatMap</a></div><div class="ttdeci">TIMEStatMap timeStatMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00075">SVFStat.h:75</a></div></div>
326
326
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a61ef90be6ccc01634e5440f22a0f746e"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">SVF::ConstraintGraph::getStoreCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy &amp; getStoreCGEdges()</div><div class="ttdoc">Get Store edges. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00209">ConsG.h:209</a></div></div>
327
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00393">GenericGraph.h:393</a></div></div>
327
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00394">GenericGraph.h:394</a></div></div>
328
328
  </div><!-- fragment -->
329
329
  </div>
330
330
  </div>
@@ -355,7 +355,7 @@ Additional Inherited Members</h2></td></tr>
355
355
  <p>Reimplemented from <a class="el" href="classSVF_1_1PTAStat.html#ad6de9d3f25c20705768000c987af0eb6">SVF::PTAStat</a>.</p>
356
356
 
357
357
  <p class="definition">Definition at line <a class="el" href="AndersenStat_8cpp_source.html#l00266">266</a> of file <a class="el" href="AndersenStat_8cpp_source.html">AndersenStat.cpp</a>.</p>
358
- <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;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; assert(SVFUtil::isa&lt;AndersenBase&gt;(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>) &amp;&amp; <span class="stringliteral">&quot;not an andersen pta pass!! what else??&quot;</span>);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a1b7f1e3381de87f75f06cddb9c6c1ec1">endClk</a>();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>* consCG = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">getConstraintGraph</a>();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="comment">// collect constraint graph cycles</span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#ae35507bebe6a1a9a64ab379473c85cad">collectCycleInfo</a>(consCG);</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="comment">// stat null ptr number</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>();</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalPointers = 0;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalTopLevPointers = 0;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalPtsSize = 0;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalTopLevPtsSize = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eiter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; iter != eiter; ++iter)</div><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; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> node = iter-&gt;first;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(node);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size = pts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; totalPointers++;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; totalPtsSize+=size;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node)))</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; totalTopLevPointers++;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; totalTopLevPtsSize+=size;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span>(size &gt; <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a> )</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a> = size;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#ad6de9d3f25c20705768000c987af0eb6">PTAStat::performStat</a>();</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; <a class="code" href="classSVF_1_1AndersenStat.html#a5ad75166a80052f9e6fdd14ff7c8b948">constraintGraphStat</a>();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;TotalTime&quot;</span>] = (<a class="code" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a> - <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a>)/<a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SCCDetectTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">Andersen::timeOfSCCDetection</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SCCMergeTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">Andersen::timeOfSCCMerges</a>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<a class="code" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15">CollapseTime</a>] = <a class="code" href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">Andersen::timeOfCollapse</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;LoadStoreTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">Andersen::timeOfProcessLoadStore</a>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;CopyGepTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">Andersen::timeOfProcessCopyGep</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;UpdateCGTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">Andersen::timeOfUpdateCallGraph</a>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalPointers&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;AddrProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a4acad18a6eb585ba9e3d2276dd591067">Andersen::numOfProcessedAddr</a>;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;CopyProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a04acd871bd1b98cd9e83e395334ac130">Andersen::numOfProcessedCopy</a>;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;GepProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#aa1246b392aeae1fd10c8a9ebedcc2dd9">Andersen::numOfProcessedGep</a>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;LoadProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a69aae96fc1c99bf108075e5061f50f9e">Andersen::numOfProcessedLoad</a>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;StoreProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a2b763519509ce21cf40893c01f8357b6">Andersen::numOfProcessedStore</a>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfSFRs&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a25b00d9ca71cbdd27530fc5d0dc84ee5">Andersen::numOfSfrs</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfFieldExpand&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a9f453ec1b4236b8194ae590981217259">Andersen::numOfFieldExpand</a>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;Pointers&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>();</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MemObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>();</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;DummyFieldPtrs&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;FieldObjs&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgPtsSetSize&quot;</span>] = (double)totalPtsSize/totalPointers;;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgTopLvlPtsSize&quot;</span>] = (double)totalTopLevPtsSize/totalTopLevPointers;;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxPtsSetSize&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;SolveIterations&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;IndCallSites&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a48a71f212e368769218a6f332822c976">getIndirectCallsites</a>().size();</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;IndEdgeSolved&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfSCCDetect&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a0d7298cbf83568f24fd2bd1926a32968">Andersen::numOfSCCDetection</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalCycleNum&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">_NumOfCycles</a>;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalPWCCycleNum&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">_NumOfPWCCycles</a>;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NodesInCycles&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">_NumOfNodesInCycles</a>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxNodesInSCC&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">_MaxNumOfNodesInSCC</a>;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NullPointer&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToConstPtr&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToBlkPtr&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">PTAStat::printStat</a>(<span class="stringliteral">&quot;Andersen Pointer Analysis Stats&quot;</span>);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00367">GenericGraph.h:367</a></div></div>
358
+ <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;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; assert(SVFUtil::isa&lt;AndersenBase&gt;(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>) &amp;&amp; <span class="stringliteral">&quot;not an andersen pta pass!! what else??&quot;</span>);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a1b7f1e3381de87f75f06cddb9c6c1ec1">endClk</a>();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>* consCG = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">getConstraintGraph</a>();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="comment">// collect constraint graph cycles</span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#ae35507bebe6a1a9a64ab379473c85cad">collectCycleInfo</a>(consCG);</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="comment">// stat null ptr number</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>();</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalPointers = 0;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalTopLevPointers = 0;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalPtsSize = 0;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalTopLevPtsSize = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eiter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; iter != eiter; ++iter)</div><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; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> node = iter-&gt;first;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(node);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size = pts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; totalPointers++;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; totalPtsSize+=size;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node)))</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; totalTopLevPointers++;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; totalTopLevPtsSize+=size;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span>(size &gt; <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a> )</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a> = size;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#ad6de9d3f25c20705768000c987af0eb6">PTAStat::performStat</a>();</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; <a class="code" href="classSVF_1_1AndersenStat.html#a5ad75166a80052f9e6fdd14ff7c8b948">constraintGraphStat</a>();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;TotalTime&quot;</span>] = (<a class="code" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a> - <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a>)/<a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SCCDetectTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">Andersen::timeOfSCCDetection</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;SCCMergeTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">Andersen::timeOfSCCMerges</a>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<a class="code" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15">CollapseTime</a>] = <a class="code" href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">Andersen::timeOfCollapse</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;LoadStoreTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">Andersen::timeOfProcessLoadStore</a>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;CopyGepTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">Andersen::timeOfProcessCopyGep</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;UpdateCGTime&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">Andersen::timeOfUpdateCallGraph</a>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalPointers&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;AddrProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a4acad18a6eb585ba9e3d2276dd591067">Andersen::numOfProcessedAddr</a>;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;CopyProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a04acd871bd1b98cd9e83e395334ac130">Andersen::numOfProcessedCopy</a>;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;GepProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#aa1246b392aeae1fd10c8a9ebedcc2dd9">Andersen::numOfProcessedGep</a>;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;LoadProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a69aae96fc1c99bf108075e5061f50f9e">Andersen::numOfProcessedLoad</a>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;StoreProcessed&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a2b763519509ce21cf40893c01f8357b6">Andersen::numOfProcessedStore</a>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfSFRs&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a25b00d9ca71cbdd27530fc5d0dc84ee5">Andersen::numOfSfrs</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfFieldExpand&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a9f453ec1b4236b8194ae590981217259">Andersen::numOfFieldExpand</a>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;Pointers&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>();</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MemObjects&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>();</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;DummyFieldPtrs&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;FieldObjs&quot;</span>] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgPtsSetSize&quot;</span>] = (double)totalPtsSize/totalPointers;;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;AvgTopLvlPtsSize&quot;</span>] = (double)totalTopLevPtsSize/totalTopLevPointers;;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxPtsSetSize&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a85960b98981d0514a72b40306a7f08d3">_MaxPtsSize</a>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;SolveIterations&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;IndCallSites&quot;</span>] = consCG-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a48a71f212e368769218a6f332822c976">getIndirectCallsites</a>().size();</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;IndEdgeSolved&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NumOfSCCDetect&quot;</span>] = <a class="code" href="classSVF_1_1AndersenBase.html#a0d7298cbf83568f24fd2bd1926a32968">Andersen::numOfSCCDetection</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalCycleNum&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">_NumOfCycles</a>;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;TotalPWCCycleNum&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">_NumOfPWCCycles</a>;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NodesInCycles&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">_NumOfNodesInCycles</a>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;MaxNodesInSCC&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">_MaxNumOfNodesInSCC</a>;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;NullPointer&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToConstPtr&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a11c34e8ba16769d218432d9504ba26a0">PTNumStatMap</a>[<span class="stringliteral">&quot;PointsToBlkPtr&quot;</span>] = <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">PTAStat::printStat</a>(<span class="stringliteral">&quot;Andersen Pointer Analysis Stats&quot;</span>);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00368">GenericGraph.h:368</a></div></div>
359
359
  <div class="ttc" id="classSVF_1_1AndersenBase_html_aae14de6fbca9280d8d0290326aa493f0"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">SVF::AndersenBase::timeOfProcessCopyGep</a></div><div class="ttdeci">static double timeOfProcessCopyGep</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00137">Andersen.h:137</a></div></div>
360
360
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a6e58c88a4118d368955dee5bbb0ccd21"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a6e58c88a4118d368955dee5bbb0ccd21">SVF::AndersenStat::_NumOfCycles</a></div><div class="ttdeci">static u32_t _NumOfCycles</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00058">WPAStat.h:58</a></div></div>
361
361
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a8af8dd60987c4c99ea3727d9db87c187"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">SVF::AndersenStat::pta</a></div><div class="ttdeci">AndersenBase * pta</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00052">WPAStat.h:52</a></div></div>
@@ -383,8 +383,8 @@ Additional Inherited Members</h2></td></tr>
383
383
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a25b00d9ca71cbdd27530fc5d0dc84ee5"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a25b00d9ca71cbdd27530fc5d0dc84ee5">SVF::AndersenBase::numOfSfrs</a></div><div class="ttdeci">static u32_t numOfSfrs</div><div class="ttdoc">Number of processed Store edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00128">Andersen.h:128</a></div></div>
384
384
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a2b763519509ce21cf40893c01f8357b6"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a2b763519509ce21cf40893c01f8357b6">SVF::AndersenBase::numOfProcessedStore</a></div><div class="ttdeci">static u32_t numOfProcessedStore</div><div class="ttdoc">Number of processed Load edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00127">Andersen.h:127</a></div></div>
385
385
  <div class="ttc" id="classSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00309">SVFIR.h:309</a></div></div>
386
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00371">GenericGraph.h:371</a></div></div>
387
- <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00344">GenericGraph.h:344</a></div></div>
386
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00372">GenericGraph.h:372</a></div></div>
387
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00345">GenericGraph.h:345</a></div></div>
388
388
  <div class="ttc" id="classSVF_1_1SVFStat_html_a178fcefed6ffffc78bbe9b23e0e1babe"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">SVF::SVFStat::printStat</a></div><div class="ttdeci">virtual void printStat(std::string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00066">SVFStat.cpp:66</a></div></div>
389
389
  <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>
390
390
  <div class="ttc" id="classSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00305">SVFIR.h:305</a></div></div>
@@ -404,7 +404,7 @@ Additional Inherited Members</h2></td></tr>
404
404
  <div class="ttc" id="classSVF_1_1PTAStat_html_ad6de9d3f25c20705768000c987af0eb6"><div class="ttname"><a href="classSVF_1_1PTAStat.html#ad6de9d3f25c20705768000c987af0eb6">SVF::PTAStat::performStat</a></div><div class="ttdeci">void performStat() override</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00043">PTAStat.cpp:43</a></div></div>
405
405
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ad40b196c2c699bd115529b806d20de25"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">SVF::AndersenBase::timeOfCollapse</a></div><div class="ttdeci">static double timeOfCollapse</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00134">Andersen.h:134</a></div></div>
406
406
  <div class="ttc" id="classSVF_1_1AndersenBase_html_aa1246b392aeae1fd10c8a9ebedcc2dd9"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aa1246b392aeae1fd10c8a9ebedcc2dd9">SVF::AndersenBase::numOfProcessedGep</a></div><div class="ttdeci">static u32_t numOfProcessedGep</div><div class="ttdoc">Number of processed Copy edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00125">Andersen.h:125</a></div></div>
407
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00393">GenericGraph.h:393</a></div></div>
407
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00394">GenericGraph.h:394</a></div></div>
408
408
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
409
409
  <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
410
410
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a9fe738f1e11c80006d540f246a80bfdf"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">SVF::AndersenBase::timeOfProcessLoadStore</a></div><div class="ttdeci">static double timeOfProcessLoadStore</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00138">Andersen.h:138</a></div></div>
@@ -432,7 +432,7 @@ Additional Inherited Members</h2></td></tr>
432
432
  <p>TODO: change the condition here to fetch the points-to set </p>
433
433
 
434
434
  <p class="definition">Definition at line <a class="el" href="AndersenStat_8cpp_source.html#l00212">212</a> of file <a class="el" href="AndersenStat_8cpp_source.html">AndersenStat.cpp</a>.</p>
435
- <div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;{</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eiter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; iter != eiter; ++iter)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> pagNodeId = iter-&gt;first;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = iter-&gt;second;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValVar&gt;(pagNode) == <span class="keyword">false</span>)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>&amp; inComingStore = pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a76964ef7d4842a469d7720881499d8a6">getIncomingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>&amp; outGoingLoad = pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">getOutgoingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVFStmt::Load</a>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">if</span> (inComingStore.empty()==<span class="keyword">false</span> || outGoingLoad.empty()==<span class="keyword">false</span>)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(pagNodeId);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(pts))</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>++;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(pts))</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; std::stringstream rawstr(str);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(pagNode) &amp;&amp; !SVFUtil::isa&lt;DummyObjVar&gt;(pagNode) )</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="comment">// if a pointer is in dead function, we do not care</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span>(pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">ptrInUncalledFunction</a>() == <span class="keyword">false</span>)</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;##Null Pointer : (NodeID &quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; &lt;&lt; <span class="stringliteral">&quot;) PtrName:&quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>();</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(rawstr.str());</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">//pagNode-&gt;getValue()-&gt;dump();</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;##Null Pointer : (NodeID &quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(rawstr.str());</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00367">GenericGraph.h:367</a></div></div>
435
+ <div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;{</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eiter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; iter != eiter; ++iter)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> pagNodeId = iter-&gt;first;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = iter-&gt;second;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValVar&gt;(pagNode) == <span class="keyword">false</span>)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>&amp; inComingStore = pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a76964ef7d4842a469d7720881499d8a6">getIncomingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>&amp; outGoingLoad = pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">getOutgoingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVFStmt::Load</a>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">if</span> (inComingStore.empty()==<span class="keyword">false</span> || outGoingLoad.empty()==<span class="keyword">false</span>)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(pagNodeId);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(pts))</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>++;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(pts))</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; std::stringstream rawstr(str);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(pagNode) &amp;&amp; !SVFUtil::isa&lt;DummyObjVar&gt;(pagNode) )</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="comment">// if a pointer is in dead function, we do not care</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span>(pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">ptrInUncalledFunction</a>() == <span class="keyword">false</span>)</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;##Null Pointer : (NodeID &quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; &lt;&lt; <span class="stringliteral">&quot;) PtrName:&quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>();</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(rawstr.str());</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">//pagNode-&gt;getValue()-&gt;dump();</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;##Null Pointer : (NodeID &quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(rawstr.str());</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00368">GenericGraph.h:368</a></div></div>
436
436
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a8af8dd60987c4c99ea3727d9db87c187"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">SVF::AndersenStat::pta</a></div><div class="ttdeci">AndersenBase * pta</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00052">WPAStat.h:52</a></div></div>
437
437
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a56368369bc37e37b13f19e5eb1890063"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">SVF::PointerAnalysis::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const PointsTo &amp;pts)</div><div class="ttdoc">Determine whether a points-to contains a black hole or constant node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00292">PointerAnalysis.h:292</a></div></div>
438
438
  <div class="ttc" id="classSVF_1_1AndersenStat_html_ab8f8152b5e6127f2d9bdcbd22083da67"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">SVF::AndersenStat::_NumOfConstantPtr</a></div><div class="ttdeci">u32_t _NumOfConstantPtr</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00063">WPAStat.h:63</a></div></div>
@@ -444,8 +444,8 @@ Additional Inherited Members</h2></td></tr>
444
444
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
445
445
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afa7d9f6209904acd7893ae583e28dafd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">SVF::PointerAnalysis::containConstantNode</a></div><div class="ttdeci">bool containConstantNode(const PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00296">PointerAnalysis.h:296</a></div></div>
446
446
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00066">SVFUtil.cpp:66</a></div></div>
447
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00371">GenericGraph.h:371</a></div></div>
448
- <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00344">GenericGraph.h:344</a></div></div>
447
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00372">GenericGraph.h:372</a></div></div>
448
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00345">GenericGraph.h:345</a></div></div>
449
449
  <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>
450
450
  <div class="ttc" id="classSVF_1_1SVFVar_html_a927733580b47be5ffcfced44ba9fd6c3"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">SVF::SVFVar::getOutgoingEdges</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy &amp; getOutgoingEdges(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get outgoing SVFIR statements (edges) </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00147">SVFVariables.h:147</a></div></div>
451
451
  <div class="ttc" id="classSVF_1_1SVFValue_html_a3a4b04027aa67278e7b1bb1ef88cf2e6"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">SVF::SVFValue::ptrInUncalledFunction</a></div><div class="ttdeci">bool ptrInUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00228">SVFValue.h:228</a></div></div>
@@ -455,7 +455,7 @@ Additional Inherited Members</h2></td></tr>
455
455
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a27d4e2bf145226f3c2b4d46fee2311e7"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">SVF::AndersenStat::_NumOfBlackholePtr</a></div><div class="ttdeci">u32_t _NumOfBlackholePtr</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00064">WPAStat.h:64</a></div></div>
456
456
  <div class="ttc" id="classSVF_1_1SVFVar_html_a76964ef7d4842a469d7720881499d8a6"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a76964ef7d4842a469d7720881499d8a6">SVF::SVFVar::getIncomingEdges</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy &amp; getIncomingEdges(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get incoming SVFIR statements (edges) </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00142">SVFVariables.h:142</a></div></div>
457
457
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVF::SVFStmt::Store</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
458
- <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>
458
+ <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#l00170">GenericGraph.h:170</a></div></div>
459
459
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
460
460
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
461
461
  </div><!-- fragment -->