svf-tools 1.0.322 → 1.0.323

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 (335) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +8 -8
  5. package/SVF-doxygen/html/html/ConsG_8h_source.html +13 -13
  6. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  7. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
  8. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  9. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  13. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  16. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  17. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
  20. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
  21. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  22. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/IRGraph_8h_source.html +7 -7
  25. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  26. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  28. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +21 -21
  29. package/SVF-doxygen/html/html/MemRegion_8h_source.html +5 -5
  30. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +7 -7
  31. package/SVF-doxygen/html/html/MemSSA_8h_source.html +5 -5
  32. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +7 -7
  35. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +7 -7
  36. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  37. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +5 -5
  38. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +15 -15
  39. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  40. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +16 -16
  41. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -5
  43. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +32 -32
  44. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +51 -51
  45. package/SVF-doxygen/html/html/SVFIR_8h_source.html +146 -147
  46. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +8 -8
  47. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +133 -132
  48. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +11 -11
  49. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  50. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  52. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  53. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +6 -6
  54. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  55. package/SVF-doxygen/html/html/VFG_8cpp_source.html +37 -37
  56. package/SVF-doxygen/html/html/VFG_8h_source.html +26 -26
  57. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  58. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  59. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +20 -19
  62. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +17 -15
  63. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  64. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +3 -3
  65. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +29 -29
  66. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +3 -3
  67. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +10 -10
  68. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +6 -6
  70. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +3 -3
  71. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +6 -6
  72. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +3 -3
  73. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +6 -6
  74. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +3 -3
  75. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +6 -6
  76. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +3 -3
  77. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +9 -9
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +8 -8
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +3 -3
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -6
  81. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +3 -3
  82. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +21 -21
  83. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +26 -25
  84. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +23 -21
  85. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +20 -19
  86. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +33 -31
  87. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  88. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode-members.html +8 -8
  89. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +6 -6
  90. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +20 -19
  91. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +23 -21
  92. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +8 -8
  93. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +22 -22
  94. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +8 -8
  95. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +22 -22
  96. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +8 -8
  97. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +22 -22
  98. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +26 -25
  99. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +23 -21
  100. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +3 -3
  101. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +8 -8
  102. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +4 -4
  103. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +40 -40
  104. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +3 -3
  105. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +14 -14
  106. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +20 -19
  107. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +17 -15
  108. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  110. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -10
  111. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +13 -13
  112. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +9 -9
  113. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +8 -8
  114. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +22 -22
  115. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +8 -8
  116. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +22 -22
  117. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +8 -8
  118. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +22 -22
  119. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +3 -3
  120. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +6 -6
  121. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +3 -3
  122. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +13 -13
  123. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +17 -17
  125. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +7 -7
  126. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +7 -7
  127. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +12 -12
  128. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode-members.html +6 -6
  129. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +6 -6
  130. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode-members.html +6 -6
  131. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +6 -6
  132. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +8 -8
  134. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +22 -22
  135. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +20 -19
  136. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +17 -15
  137. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +8 -8
  138. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +22 -22
  139. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode-members.html +6 -6
  140. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +6 -6
  141. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +6 -6
  142. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +22 -22
  143. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
  144. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +8 -8
  146. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +43 -43
  147. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode-members.html +6 -6
  148. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode.html +6 -6
  149. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +14 -14
  150. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +9 -9
  151. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode-members.html +6 -6
  152. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +14 -14
  154. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +9 -9
  155. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +6 -6
  156. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +23 -22
  157. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +17 -15
  158. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +17 -17
  159. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +92 -92
  160. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +5 -5
  161. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +18 -18
  162. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +41 -41
  163. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +24 -23
  164. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +33 -31
  165. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +24 -23
  166. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +24 -22
  167. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +8 -8
  168. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +22 -22
  169. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +4 -4
  170. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +11 -11
  171. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +15 -15
  172. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +7 -7
  173. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +25 -24
  174. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +22 -20
  175. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +3 -3
  176. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -38
  177. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode-members.html +7 -7
  178. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +6 -6
  179. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +20 -19
  180. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +23 -21
  181. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +8 -8
  182. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +22 -22
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +47 -47
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +28 -28
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +59 -59
  186. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +10 -10
  187. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +136 -137
  188. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +684 -702
  189. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +2 -2
  190. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +78 -78
  191. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +23 -22
  192. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +49 -31
  193. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +8 -8
  194. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +62 -62
  195. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +8 -8
  196. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +3 -3
  198. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -6
  199. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +20 -19
  200. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +17 -15
  201. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +23 -22
  202. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +17 -15
  203. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +23 -22
  204. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +17 -15
  205. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +3 -3
  207. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +8 -8
  208. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +9 -9
  209. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +24 -23
  210. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +27 -25
  211. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +33 -33
  212. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +81 -81
  213. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +8 -8
  214. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +22 -22
  215. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +8 -8
  216. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +22 -22
  217. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +23 -22
  218. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +19 -17
  219. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +3 -3
  220. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +11 -11
  221. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  222. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
  223. package/SVF-doxygen/html/html/functions_a.html +28 -28
  224. package/SVF-doxygen/html/html/functions_c.html +25 -30
  225. package/SVF-doxygen/html/html/functions_f.html +2 -2
  226. package/SVF-doxygen/html/html/functions_func.html +28 -28
  227. package/SVF-doxygen/html/html/functions_func_g.html +50 -50
  228. package/SVF-doxygen/html/html/functions_func_h.html +6 -6
  229. package/SVF-doxygen/html/html/functions_g.html +67 -67
  230. package/SVF-doxygen/html/html/functions_h.html +6 -6
  231. package/SVF-doxygen/html/html/functions_i.html +7 -7
  232. package/SVF-doxygen/html/html/functions_k.html +9 -0
  233. package/SVF-doxygen/html/html/functions_l.html +3 -3
  234. package/SVF-doxygen/html/html/functions_o.html +4 -4
  235. package/SVF-doxygen/html/html/functions_p.html +20 -40
  236. package/SVF-doxygen/html/html/functions_r.html +1 -1
  237. package/SVF-doxygen/html/html/functions_s.html +23 -7
  238. package/SVF-doxygen/html/html/functions_t.html +5 -7
  239. package/SVF-doxygen/html/html/functions_type_c.html +1 -4
  240. package/SVF-doxygen/html/html/functions_type_f.html +2 -2
  241. package/SVF-doxygen/html/html/functions_type_g.html +2 -2
  242. package/SVF-doxygen/html/html/functions_type_i.html +1 -1
  243. package/SVF-doxygen/html/html/functions_type_k.html +3 -0
  244. package/SVF-doxygen/html/html/functions_type_p.html +2 -18
  245. package/SVF-doxygen/html/html/functions_type_s.html +16 -0
  246. package/SVF-doxygen/html/html/functions_type_v.html +1 -1
  247. package/SVF-doxygen/html/html/functions_v.html +1 -1
  248. package/SVF-doxygen/html/html/functions_vars_g.html +7 -7
  249. package/SVF-doxygen/html/html/functions_vars_i.html +5 -5
  250. package/SVF-doxygen/html/html/functions_vars_k.html +6 -0
  251. package/SVF-doxygen/html/html/functions_vars_o.html +1 -1
  252. package/SVF-doxygen/html/html/functions_vars_p.html +1 -7
  253. package/SVF-doxygen/html/html/functions_w.html +9 -5
  254. package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
  255. package/SVF-doxygen/html/html/search/all_1.js +13 -13
  256. package/SVF-doxygen/html/html/search/all_10.js +7 -13
  257. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  258. package/SVF-doxygen/html/html/search/all_13.js +7 -3
  259. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  260. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  261. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  262. package/SVF-doxygen/html/html/search/all_3.js +1 -2
  263. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  264. package/SVF-doxygen/html/html/search/all_7.js +26 -26
  265. package/SVF-doxygen/html/html/search/all_8.js +2 -2
  266. package/SVF-doxygen/html/html/search/all_9.js +4 -3
  267. package/SVF-doxygen/html/html/search/all_b.js +3 -0
  268. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  269. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  270. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  271. package/SVF-doxygen/html/html/search/functions_0.js +13 -13
  272. package/SVF-doxygen/html/html/search/functions_6.js +22 -22
  273. package/SVF-doxygen/html/html/search/functions_7.js +2 -2
  274. package/SVF-doxygen/html/html/search/typedefs_11.js +4 -0
  275. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  276. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -2
  277. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
  278. package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
  279. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  280. package/SVF-doxygen/html/html/search/typedefs_a.js +2 -1
  281. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -6
  282. package/SVF-doxygen/html/html/search/variables_10.js +1 -3
  283. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  284. package/SVF-doxygen/html/html/search/variables_7.js +3 -3
  285. package/SVF-doxygen/html/html/search/variables_9.js +3 -3
  286. package/SVF-doxygen/html/html/search/variables_b.js +3 -1
  287. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  288. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  289. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
  290. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  291. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  292. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  293. package/include/DDA/ContextDDA.h +1 -1
  294. package/include/DDA/FlowDDA.h +1 -1
  295. package/include/Graphs/ConsG.h +8 -8
  296. package/include/Graphs/ICFGNode.h +3 -3
  297. package/include/Graphs/IRGraph.h +7 -7
  298. package/include/Graphs/VFG.h +4 -4
  299. package/include/MSSA/MemRegion.h +3 -3
  300. package/include/MSSA/MemSSA.h +1 -1
  301. package/include/MemoryModel/PointerAnalysis.h +6 -6
  302. package/include/MemoryModel/PointerAnalysisImpl.h +1 -1
  303. package/include/MemoryModel/SVFIR.h +64 -65
  304. package/include/MemoryModel/SVFStatements.h +4 -3
  305. package/include/MemoryModel/SVFVariables.h +15 -15
  306. package/include/SVF-FE/SVFIRBuilder.h +14 -14
  307. package/include/Util/IRAnnotator.h +1 -1
  308. package/include/Util/TypeBasedHeapCloning.h +2 -2
  309. package/lib/DDA/ContextDDA.cpp +2 -2
  310. package/lib/DDA/DDAClient.cpp +6 -6
  311. package/lib/DDA/DDAStat.cpp +1 -1
  312. package/lib/DDA/FlowDDA.cpp +2 -2
  313. package/lib/Graphs/ConsG.cpp +22 -22
  314. package/lib/Graphs/ICFG.cpp +4 -4
  315. package/lib/Graphs/IRGraph.cpp +6 -6
  316. package/lib/Graphs/SVFG.cpp +6 -6
  317. package/lib/Graphs/VFG.cpp +37 -37
  318. package/lib/MSSA/MemRegion.cpp +17 -17
  319. package/lib/MSSA/MemSSA.cpp +9 -9
  320. package/lib/MTA/MTAAnnotator.cpp +4 -4
  321. package/lib/MemoryModel/PAGBuilderFromFile.cpp +10 -10
  322. package/lib/MemoryModel/PointerAnalysisImpl.cpp +10 -10
  323. package/lib/MemoryModel/SVFIR.cpp +58 -58
  324. package/lib/SABER/LeakChecker.cpp +2 -2
  325. package/lib/SABER/SaberSVFGBuilder.cpp +3 -3
  326. package/lib/SVF-FE/Graph2Json.cpp +2 -2
  327. package/lib/SVF-FE/SVFIRBuilder.cpp +16 -16
  328. package/lib/Util/PTAStat.cpp +7 -7
  329. package/lib/Util/TypeBasedHeapCloning.cpp +3 -3
  330. package/lib/WPA/Andersen.cpp +12 -12
  331. package/lib/WPA/AndersenSFR.cpp +1 -1
  332. package/lib/WPA/AndersenStat.cpp +3 -3
  333. package/lib/WPA/FlowSensitive.cpp +3 -3
  334. package/lib/WPA/FlowSensitiveStat.cpp +2 -2
  335. package/package.json +1 -1
@@ -69,15 +69,15 @@ $(function() {
69
69
  <a href="VersionedFlowSensitiveStat_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- VersionedFlowSensitiveStat.cpp -- Statistics for VFSPTA -//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * VersionedFlowSensitiveStat.cpp</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Created on: 25/07/2020</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * Author: mbarbar</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="WPAStat_8h.html">WPA/WPAStat.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="VersionedFlowSensitive_8h.html">WPA/VersionedFlowSensitive.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#a6664f28eab3052988ab9e89766373981"> 18</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#a6664f28eab3052988ab9e89766373981">VersionedFlowSensitiveStat::clearStat</a>()</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;{</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; _NumVersions = 0;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; _MaxVersions = 0;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; _NumNonEmptyVersions = 0;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; _NumSingleVersion = 0;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; _NumUsedVersions = 0;</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; _NumEmptyVersions = 0;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; _MaxPtsSize = 0;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; _MaxTopLvlPtsSize = 0;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; _MaxVersionPtsSize = 0;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; _TotalPtsSize = 0;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; _AvgPtsSize = 0.0;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; _AvgTopLvlPtsSize = 0.0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; _AvgVersionPtsSize = 0.0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#af202623692135ad746aed1be995c55fb"> 35</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#af202623692135ad746aed1be995c55fb">VersionedFlowSensitiveStat::performStat</a>()</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// Largely based on that in FlowSensitiveStat. Would be better to split the FSStat version</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="comment">// and reuse code rather than copy.</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;VersionedFlowSensitive&gt;(vfspta) &amp;&amp; <span class="stringliteral">&quot;VFSStat::performStat: not given VFSPTA.&quot;</span>);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; endClk();</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; clearStat();</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *pag = vfspta-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">getPAG</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; versionStat();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; ptsSizeStat();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fiObjNumber = 0;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fsObjNumber = 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;SymID&gt;</a> nodeSet;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVFIR::const_iterator</a> it = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it != pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++it)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = it-&gt;first;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = it-&gt;second;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ObjVar&gt;(pagNode))</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *memObj = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(nodeId);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespaceSVF.html#ad11fe2412b2182365a662ff0e4639b48">SymID</a> baseId = memObj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">getId</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">if</span> (nodeSet.insert(baseId).second)</div><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; <span class="keywordflow">if</span> (memObj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>()) fiObjNumber++;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">else</span> fsObjNumber++;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">unsigned</span> numOfCopy = 0;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">unsigned</span> numOfStore = 0;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">unsigned</span> numOfNode = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFG::iterator</a> it = vfspta-&gt;svfg-&gt;begin(); it != vfspta-&gt;svfg-&gt;end(); ++it)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; numOfNode++;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* svfgNode = it-&gt;second;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CopySVFGNode&gt;(svfgNode)) numOfCopy++;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreSVFGNode&gt;(svfgNode)) numOfStore++;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#acfed70588cf921694db35990ec3c7497">PTAStat::performStat</a>();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; timeStatMap[TotalAnalysisTime] = (endTime - startTime)/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; timeStatMap[<span class="stringliteral">&quot;SolveTime&quot;</span>] = vfspta-&gt;solveTime;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; timeStatMap[<span class="stringliteral">&quot;SCCTime&quot;</span>] = vfspta-&gt;sccTime;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; timeStatMap[<span class="stringliteral">&quot;ProcessTime&quot;</span>] = vfspta-&gt;processTime;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; timeStatMap[<span class="stringliteral">&quot;PropagationTime&quot;</span>] = vfspta-&gt;propagationTime;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; timeStatMap[<span class="stringliteral">&quot;DirectPropaTime&quot;</span>] = vfspta-&gt;directPropaTime;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; timeStatMap[<span class="stringliteral">&quot;IndirectPropaTime&quot;</span>] = vfspta-&gt;indirectPropaTime;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; timeStatMap[<span class="stringliteral">&quot;Strong/WeakUpdTime&quot;</span>] = vfspta-&gt;updateTime;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; timeStatMap[<span class="stringliteral">&quot;AddrTime&quot;</span>] = vfspta-&gt;addrTime;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; timeStatMap[<span class="stringliteral">&quot;CopyTime&quot;</span>] = vfspta-&gt;copyTime;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; timeStatMap[<span class="stringliteral">&quot;GepTime&quot;</span>] = vfspta-&gt;gepTime;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; timeStatMap[<span class="stringliteral">&quot;LoadTime&quot;</span>] = vfspta-&gt;loadTime;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; timeStatMap[<span class="stringliteral">&quot;StoreTime&quot;</span>] = vfspta-&gt;storeTime;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; timeStatMap[<span class="stringliteral">&quot;UpdateCGTime&quot;</span>] = vfspta-&gt;updateCallGraphTime;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; timeStatMap[<span class="stringliteral">&quot;PhiTime&quot;</span>] = vfspta-&gt;phiTime;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; timeStatMap[<span class="stringliteral">&quot;meldLabelingTime&quot;</span>] = vfspta-&gt;meldLabelingTime;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; timeStatMap[<span class="stringliteral">&quot;PrelabelingTime&quot;</span>] = vfspta-&gt;prelabelingTime;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; timeStatMap[<span class="stringliteral">&quot;VersionPropTime&quot;</span>] = vfspta-&gt;versionPropTime;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; PTNumStatMap[TotalNumOfPointers] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a4c8ef6e30a33ecbdc4024e201237ae22">getValueNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a4b4592e3187bb6583aba63b2f374754e">getFieldValNodeNum</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; PTNumStatMap[TotalNumOfObjects] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a8e9b2e37b36433c01e90d54a4edbf7f3">getObjectNodeNum</a>() + pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#af7a98a5eb789178594063140c85cd21f">getFieldObjNodeNum</a>();</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; PTNumStatMap[NumOfPointers] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a4c8ef6e30a33ecbdc4024e201237ae22">getValueNodeNum</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; PTNumStatMap[NumOfMemObjects] = pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a8e9b2e37b36433c01e90d54a4edbf7f3">getObjectNodeNum</a>();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; PTNumStatMap[NumOfGepFieldPointers] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a4b4592e3187bb6583aba63b2f374754e">getFieldValNodeNum</a>();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; PTNumStatMap[NumOfGepFieldObjects] = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#af7a98a5eb789178594063140c85cd21f">getFieldObjNodeNum</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;TotalVersions&quot;</span>] = _NumVersions;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;MaxVersionsForObj&quot;</span>] = _MaxVersions;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;TotalNonEmptyVPts&quot;</span>] = _NumNonEmptyVersions;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;TotalEmptyVPts&quot;</span>] = _NumEmptyVersions;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;TotalExistingVPts&quot;</span>] = _NumUsedVersions;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;TotalSingleVObjs&quot;</span>] = _NumSingleVersion;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; PTNumStatMap[NumOfCopys] = numOfCopy;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; PTNumStatMap[NumOfStores] = numOfStore;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; PTNumStatMap[NumOfIterations] = vfspta-&gt;numOfIteration;</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; PTNumStatMap[NumOfIndirectEdgeSolved] = vfspta-&gt;getNumOfResolvedIndCallEdge();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;StrongUpdates&quot;</span>] = vfspta-&gt;svfgHasSU.count();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;MaxPtsSize&quot;</span>] = _MaxPtsSize;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;MaxTopLvlPtsSize&quot;</span>] = _MaxTopLvlPtsSize;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;MaxVersionPtsSize&quot;</span>] = _MaxVersionPtsSize;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; timeStatMap[<span class="stringliteral">&quot;AvgPtsSize&quot;</span>] = _AvgPtsSize;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; timeStatMap[<span class="stringliteral">&quot;AvgTopLvlPtsSize&quot;</span>] = _AvgTopLvlPtsSize;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; timeStatMap[<span class="stringliteral">&quot;AvgVersionPtsSize&quot;</span>] = _AvgVersionPtsSize;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedAddr&quot;</span>] = vfspta-&gt;numOfProcessedAddr;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedCopy&quot;</span>] = vfspta-&gt;numOfProcessedCopy;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedGep&quot;</span>] = vfspta-&gt;numOfProcessedGep;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedLoad&quot;</span>] = vfspta-&gt;numOfProcessedLoad;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedStore&quot;</span>] = vfspta-&gt;numOfProcessedStore;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedPhi&quot;</span>] = vfspta-&gt;numOfProcessedPhi;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedAParam&quot;</span>] = vfspta-&gt;numOfProcessedActualParam;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedFRet&quot;</span>] = vfspta-&gt;numOfProcessedFormalRet;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;ProcessedMSSANode&quot;</span>] = vfspta-&gt;numOfProcessedMSSANode;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;NumOfNodesInSCC&quot;</span>] = vfspta-&gt;numOfNodesInSCC;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;MaxSCCSize&quot;</span>] = vfspta-&gt;maxSCCSize;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; PTNumStatMap[<span class="stringliteral">&quot;NumOfSCC&quot;</span>] = vfspta-&gt;numOfSCC;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; timeStatMap[<span class="stringliteral">&quot;AverageSCCSize&quot;</span>] = (vfspta-&gt;numOfSCC == 0) ? 0 :</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; ((<span class="keywordtype">double</span>)vfspta-&gt;numOfNodesInSCC / vfspta-&gt;numOfSCC);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\n****Versioned Flow-Sensitive Pointer Analysis Statistics****\n&quot;</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">PTAStat::printStat</a>();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#ad7fe08f5d684e3411f8f28ec346bd814"> 152</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#ad7fe08f5d684e3411f8f28ec346bd814">VersionedFlowSensitiveStat::versionStat</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// TODO! Need to merge yield/consume.</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; _NumSingleVersion = 0;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; _MaxVersions = 0;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalVersionPtsSize = 0;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296">VersionedFlowSensitive::LocVersionMap</a> *lvm : { &amp;vfspta-&gt;consume, &amp;vfspta-&gt;yield })</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0">VersionedFlowSensitive::ObjToVersionMap</a> &amp;lov : *lvm)</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> VersionedFlowSensitive::ObjToVersionMap::value_type &amp;ov : lov)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o = ov.first;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v = ov.second;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; ++_NumVersions;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// If the version was just over-approximate and never accessed, ignore.</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// TODO: with vPtD changed there is no interface to check if the PTS</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// exists; an emptiness check is *not* an existence check.</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> (vfspta-&gt;vPtD-&gt;getPts(vfspta-&gt;atKey(o, v)).<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>()) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;ovPts = vfspta-&gt;vPtD-&gt;getPts(vfspta-&gt;atKey(o, v));</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">if</span> (!ovPts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>()) ++_NumNonEmptyVersions;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">else</span> ++_NumEmptyVersions;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; _TotalPtsSize += ovPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; totalVersionPtsSize += ovPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (ovPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &gt; _MaxVersionPtsSize) _MaxVersionPtsSize = ovPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>();</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; }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; _NumUsedVersions = _NumNonEmptyVersions + _NumEmptyVersions;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (_NumNonEmptyVersions != 0) _AvgVersionPtsSize = (double)totalVersionPtsSize / (<span class="keywordtype">double</span>)_NumUsedVersions;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; _TotalPtsSize += totalVersionPtsSize;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitiveStat.html#acbe0a777f2c00b142a94ce2b974fd5d5"> 193</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html#acbe0a777f2c00b142a94ce2b974fd5d5">VersionedFlowSensitiveStat::ptsSizeStat</a>()</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalValidTopLvlPointers = 0;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalTopLvlPtsSize = 0;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> it = vfspta-&gt;getPAG()-&gt;begin(); it != vfspta-&gt;getPAG()-&gt;end(); ++it)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (!vfspta-&gt;getPAG()-&gt;isValidTopLevelPtr(it-&gt;second)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> p = it-&gt;first;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; totalValidTopLvlPointers++;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size = vfspta-&gt;getPts(p).count();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; totalTopLvlPtsSize += size;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> (size &gt; _MaxTopLvlPtsSize) _MaxTopLvlPtsSize = size;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (totalValidTopLvlPointers != 0) _AvgTopLvlPtsSize = (double)totalTopLvlPtsSize / (<span class="keywordtype">double</span>)totalValidTopLvlPointers;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; _TotalPtsSize += totalTopLvlPtsSize;</div><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; <span class="keywordflow">if</span> (_NumNonEmptyVersions + totalValidTopLvlPointers != 0)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; _AvgPtsSize = (double)_TotalPtsSize / (<span class="keywordtype">double</span>)(_NumNonEmptyVersions + totalValidTopLvlPointers);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</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; _MaxPtsSize = _MaxVersionPtsSize &gt; _MaxTopLvlPtsSize ? _MaxVersionPtsSize : _MaxTopLvlPtsSize;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</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#l00361">GenericGraph.h:361</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00421">SymbolTableInfo.h:421</a></div></div>
71
71
  <div class="ttc" id="WPAStat_8h_html"><div class="ttname"><a href="WPAStat_8h.html">WPAStat.h</a></div></div>
72
- <div class="ttc" id="classSVF_1_1SVFIR_html_af7a98a5eb789178594063140c85cd21f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af7a98a5eb789178594063140c85cd21f">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">Size_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00289">SVFIR.h:289</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1SVFIR_html_af7a98a5eb789178594063140c85cd21f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af7a98a5eb789178594063140c85cd21f">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">Size_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00288">SVFIR.h:288</a></div></div>
73
73
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aa689d29ead80303b1ef1e1a91f31c296"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296">SVF::VersionedFlowSensitive::LocVersionMap</a></div><div class="ttdeci">std::vector&lt; ObjToVersionMap &gt; LocVersionMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00039">VersionedFlowSensitive.h:39</a></div></div>
74
- <div class="ttc" id="classSVF_1_1SVFIR_html_a4b4592e3187bb6583aba63b2f374754e"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a4b4592e3187bb6583aba63b2f374754e">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">Size_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00285">SVFIR.h:285</a></div></div>
74
+ <div class="ttc" id="classSVF_1_1SVFIR_html_a4b4592e3187bb6583aba63b2f374754e"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a4b4592e3187bb6583aba63b2f374754e">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">Size_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00284">SVFIR.h:284</a></div></div>
75
75
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
76
76
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
77
- <div class="ttc" id="classSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00447">SVFIR.h:447</a></div></div>
77
+ <div class="ttc" id="classSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00446">SVFIR.h:446</a></div></div>
78
78
  <div class="ttc" id="cuddInt_8c_html_a5beb39637a978181c7c17714ac96672e"><div class="ttname"><a href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a></div><div class="ttdeci">static DdNode * empty</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l28567">cuddInt.c:28567</a></div></div>
79
79
  <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#l00046">SVFVariables.h:46</a></div></div>
80
- <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00107">SVFIR.h:107</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1IRGraph_html_a4c8ef6e30a33ecbdc4024e201237ae22"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a4c8ef6e30a33ecbdc4024e201237ae22">SVF::IRGraph::getValueNodeNum</a></div><div class="ttdeci">Size_t getValueNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00169">IRGraph.h:169</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00339">GenericGraph.h:339</a></div></div>
83
83
  <div class="ttc" id="namespaceSVF_html_a9ec7a8dc63411ee3724a25a59191be0c"><div class="ttname"><a href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">SVF::Version</a></div><div class="ttdeci">unsigned Version</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00128">SVFBasicTypes.h:128</a></div></div>
@@ -114,7 +114,7 @@ $(function() {
114
114
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9d5990a41e90558595d0ad0defceb4e8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9d5990a41e90558595d0ad0defceb4e8">SVF::VersionedFlowSensitive::dumpReliances</a></div><div class="ttdeci">void dumpReliances(void) const</div><div class="ttdoc">Dumps versionReliance and stmtReliance. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00814">VersionedFlowSensitive.cpp:814</a></div></div>
115
115
  <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
116
116
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00339">GenericGraph.h:339</a></div></div>
117
- <div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00409">SVFIR.h:409</a></div></div>
117
+ <div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00408">SVFIR.h:408</a></div></div>
118
118
  <div class="ttc" id="namespaceSVF_html_a9ec7a8dc63411ee3724a25a59191be0c"><div class="ttname"><a href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">SVF::Version</a></div><div class="ttdeci">unsigned Version</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00128">SVFBasicTypes.h:128</a></div></div>
119
119
  <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00125">PointsTo.cpp:125</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_ad955fda89f4f749151a1bd14562b03f6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">SVF::VersionedFlowSensitive::finalize</a></div><div class="ttdeci">virtual void finalize() override</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00065">VersionedFlowSensitive.cpp:65</a></div></div>
@@ -193,7 +193,7 @@ $(function() {
193
193
  <div class="ttc" id="classSVF_1_1Options_html_adba18ce8f1496fe2e57a934f11c2dfd9"><div class="ttname"><a href="classSVF_1_1Options.html#adba18ce8f1496fe2e57a934f11c2dfd9">SVF::Options::VersioningThreads</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; VersioningThreads</div><div class="ttdoc">Number of threads for the versioning phase. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00077">Options.h:77</a></div></div>
194
194
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
195
195
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
196
- <div class="ttc" id="classSVF_1_1SVFIR_html_a07716ca7f769f704a80ccee1a6ad7ee2"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a07716ca7f769f704a80ccee1a6ad7ee2">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00415">SVFIR.h:415</a></div></div>
196
+ <div class="ttc" id="classSVF_1_1SVFIR_html_a07716ca7f769f704a80ccee1a6ad7ee2"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a07716ca7f769f704a80ccee1a6ad7ee2">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00414">SVFIR.h:414</a></div></div>
197
197
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a82b76087363b26fbe749653935569de7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">SVF::FlowSensitive::storeTime</a></div><div class="ttdeci">double storeTime</div><div class="ttdoc">time of store edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00316">FlowSensitive.h:316</a></div></div>
198
198
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a16224ee60494bb1fdf1c8a1026fbe7ab"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">SVF::VersionedFlowSensitive::yield</a></div><div class="ttdeci">LocVersionMap yield</div><div class="ttdoc">Actual yield map. Yield analogue to consume. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00184">VersionedFlowSensitive.h:184</a></div></div>
199
199
  <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#l00370">PointerAnalysis.h:370</a></div></div>
@@ -217,7 +217,7 @@ $(function() {
217
217
  <div class="ttc" id="classSVF_1_1DummyVersionPropSVFGNode_html"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html">SVF::DummyVersionPropSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00468">SVFGNode.h:468</a></div></div>
218
218
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
219
219
  <div class="ttc" id="tools_2DDA_2CMakeLists_8txt_html_a7686df215f6da6fdcfa2c20950c96939"><div class="ttname"><a href="tools_2DDA_2CMakeLists_8txt.html#a7686df215f6da6fdcfa2c20950c96939">if</a></div><div class="ttdeci">if(DEFINED IN_SOURCE_BUILD) set(LLVM_LINK_COMPONENTS BitWriter Core IPO IrReader InstCombine Instrumentation Target Linker Analysis ScalarOpts Support Svf Cudd) add_llvm_tool(dvf dda.cpp) else() add_executable(dvf dda.cpp) target_link_libraries(dvf Svf Cudd $</div><div class="ttdef"><b>Definition:</b> <a href="tools_2DDA_2CMakeLists_8txt_source.html#l00002">CMakeLists.txt:2</a></div></div>
220
- <div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00358">SVFIR.h:358</a></div></div>
220
+ <div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00357">SVFIR.h:357</a></div></div>
221
221
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
222
222
  </div><!-- fragment --></div><!-- contents -->
223
223
  <!-- start footer part -->
@@ -155,7 +155,7 @@ $(function() {
155
155
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">SVF::PointerAnalysis::AndersenSCD_WPA</a></div><div class="ttdoc">Selective cycle detection andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00070">PointerAnalysis.h:70</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00149">Andersen.h:149</a></div></div>
157
157
  <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>
158
- <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00133">SVFIR.h:133</a></div></div>
158
+ <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
159
159
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">SVF::PointerAnalysis::TypeCPP_WPA</a></div><div class="ttdoc">Type-based analysis for C++. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00085">PointerAnalysis.h:85</a></div></div>
160
160
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
161
161
  <div class="ttc" id="AndersenSFR_8h_html"><div class="ttname"><a href="AndersenSFR_8h.html">AndersenSFR.h</a></div></div>
@@ -279,7 +279,7 @@ Additional Inherited Members</h2></td></tr>
279
279
  <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00153">153</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
280
280
  <div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; : <a class="code" href="classSVF_1_1ConstraintEdge.html#a2b2b7206af6463b82441ac7a5c78e637">ConstraintEdge</a>(s,d,<a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">Addr</a>,<span class="keywordtype">id</span>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// Retarget addr edges may lead s to be a dummy node</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(s-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">SVFModule::pagReadFromTXT</a>())</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!SVFUtil::isa&lt;DummyValVar&gt;(node) &amp;&amp; <span class="stringliteral">&quot;a dummy node??&quot;</span>);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;}</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
281
281
  <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#l00046">SVFVariables.h:46</a></div></div>
282
- <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00107">SVFIR.h:107</a></div></div>
282
+ <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
283
283
  <div class="ttc" id="classSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">SVF::ConstraintEdge::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
284
284
  <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#l00165">GenericGraph.h:165</a></div></div>
285
285
  <div class="ttc" id="classSVF_1_1SVFModule_html_a1357c876eccedd58b3abe68875b3a570"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">SVF::SVFModule::pagReadFromTXT</a></div><div class="ttdeci">static bool pagReadFromTXT()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00098">SVFModule.h:98</a></div></div>
@@ -98,17 +98,17 @@ $(function() {
98
98
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
99
99
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
100
100
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0b6c03af568b70903da6b200ac86c951">isPTAEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
101
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
102
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a3b20523aed66ac8943d7d00ff777137b">makeEdgeFlagWithAddionalOpnd</a>(GEdgeKind k, const SVFVar *var)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
103
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(GEdgeKind k, const ICFGNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
104
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a>(GEdgeKind k, const ICFGNode *store)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
105
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
106
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">NormalGep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
107
- <tr><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html#a1fe5489d6b941f5de3f3eeea63818dae">operator=</a>(const AddrStmt &amp;)</td><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
108
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a0e461644bf9a4e50099b38f09222e858">operator==</a>(const GenericEdge&lt; NodeType &gt; *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
109
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">PAGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
110
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a79ef5ff6adebbbc13e5c8db6e622bc03">PAGEdgeToSetMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
111
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a47a67e8aaae7059e353841a40b89e936">PAGKindToEdgeSetMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
101
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
102
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
103
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a3b20523aed66ac8943d7d00ff777137b">makeEdgeFlagWithAddionalOpnd</a>(GEdgeKind k, const SVFVar *var)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
104
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(GEdgeKind k, const ICFGNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
105
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a>(GEdgeKind k, const ICFGNode *store)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
106
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
107
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">NormalGep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
108
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html#a1fe5489d6b941f5de3f3eeea63818dae">operator=</a>(const AddrStmt &amp;)</td><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
109
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a0e461644bf9a4e50099b38f09222e858">operator==</a>(const GenericEdge&lt; NodeType &gt; *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
110
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">PAGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
111
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
112
112
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9">PEDGEK</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
113
113
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
114
114
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">Ret</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
@@ -117,14 +117,15 @@ $(function() {
117
117
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a24dddb4e346a6e569908e3efe8a6ecc0">setValue</a>(const Value *val)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
118
118
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">Store</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
119
119
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(SVFVar *s, SVFVar *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
120
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
121
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
122
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html#abf9453ed58c6946640a85be31512c0e8">toString</a>() const override</td><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
123
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aa306e817648ab5def47e83473e99b3d3">totalEdgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
124
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
125
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3a8902fc2aa68428e271012861a2a2">VariantGep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
126
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
127
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
120
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
121
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
122
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
123
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html#abf9453ed58c6946640a85be31512c0e8">toString</a>() const override</td><td class="entry"><a class="el" href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
124
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aa306e817648ab5def47e83473e99b3d3">totalEdgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
125
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
126
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3a8902fc2aa68428e271012861a2a2">VariantGep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
127
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
128
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
128
129
  </table></div><!-- contents -->
129
130
  <!-- start footer part -->
130
131
  <hr class="footer"/><address class="footer"><small>
@@ -201,12 +201,14 @@ Additional Inherited Members</h2></td></tr>
201
201
  <br />
202
202
  }</td></tr>
203
203
  <tr class="separator:a0ab8621e75e75f03425c323b3ed62ce9 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
204
- <tr class="memitem:af02857ff13e61f81d332d83eb376bdb4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1GenericNode.html">GenericNode</a>&lt; <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>, <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> &gt;::GEdgeSetTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">PAGEdgeSetTy</a></td></tr>
205
- <tr class="separator:af02857ff13e61f81d332d83eb376bdb4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
206
- <tr class="memitem:a79ef5ff6adebbbc13e5c8db6e622bc03 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ae71551d6a1fc300e0403297aa25ddf94">EdgeID</a>, <a class="el" href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">PAGEdgeSetTy</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a79ef5ff6adebbbc13e5c8db6e622bc03">PAGEdgeToSetMapTy</a></td></tr>
207
- <tr class="separator:a79ef5ff6adebbbc13e5c8db6e622bc03 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
- <tr class="memitem:a47a67e8aaae7059e353841a40b89e936 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a79ef5ff6adebbbc13e5c8db6e622bc03">PAGEdgeToSetMapTy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a47a67e8aaae7059e353841a40b89e936">PAGKindToEdgeSetMapTy</a></td></tr>
209
- <tr class="separator:a47a67e8aaae7059e353841a40b89e936 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
204
+ <tr class="memitem:a8cd7b6c6fd8b030b1421d95a086359f4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1GenericNode.html">GenericNode</a>&lt; <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>, <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> &gt;::GEdgeSetTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a></td></tr>
205
+ <tr class="separator:a8cd7b6c6fd8b030b1421d95a086359f4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
206
+ <tr class="memitem:a229c78147511f2a581c761552179b6fa inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ae71551d6a1fc300e0403297aa25ddf94">EdgeID</a>, <a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a></td></tr>
207
+ <tr class="separator:a229c78147511f2a581c761552179b6fa inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
+ <tr class="memitem:a93fc6c4c991931c78c48500c2db50f66 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a></td></tr>
209
+ <tr class="separator:a93fc6c4c991931c78c48500c2db50f66 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
+ <tr class="memitem:a2bdfa37167b5496629e5cae62705d5f2 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">PAGEdgeSetTy</a></td></tr>
211
+ <tr class="separator:a2bdfa37167b5496629e5cae62705d5f2 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
212
  <tr class="inherit_header pub_types_classSVF_1_1GenericEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericEdge')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td></tr>
211
213
  <tr class="memitem:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef NodeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a></td></tr>
212
214
  <tr class="memdesc:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Node type. <a href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">More...</a><br /></td></tr>
@@ -232,7 +234,7 @@ Additional Inherited Members</h2></td></tr>
232
234
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
233
235
  <div class="textblock"><p>Copy edge </p>
234
236
 
235
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00196">196</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
237
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00197">197</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
236
238
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
237
239
  <a id="a0fa28f3a081cd6d32801ab245b6e95ae"></a>
238
240
  <h2 class="memtitle"><span class="permalink"><a href="#a0fa28f3a081cd6d32801ab245b6e95ae">&#9670;&nbsp;</a></span>AddrStmt() <span class="overload">[1/3]</span></h2>
@@ -325,8 +327,8 @@ Additional Inherited Members</h2></td></tr>
325
327
 
326
328
  <p>constructor </p>
327
329
 
328
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00220">220</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
329
- <div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; : <a class="code" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
330
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00221">221</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
331
+ <div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; : <a class="code" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
330
332
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a47102f72115d41bff899b1b2ffec75b1"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVF::SVFStmt::SVFStmt</a></div><div class="ttdeci">SVFStmt(SVFVar *s, SVFVar *d, GEdgeFlag k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00046">SVFStatements.cpp:46</a></div></div>
331
333
  </div><!-- fragment -->
332
334
  </div>
@@ -358,8 +360,8 @@ Additional Inherited Members</h2></td></tr>
358
360
 
359
361
  <p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
360
362
 
361
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00205">205</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
362
- <div class="fragment"><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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div></div><!-- fragment -->
363
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00206">206</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
364
+ <div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div></div><!-- fragment -->
363
365
  </div>
364
366
  </div>
365
367
  <a id="aeec83dc4e79ee62c92c75aa778a475ad"></a>
@@ -386,8 +388,8 @@ Additional Inherited Members</h2></td></tr>
386
388
  </table>
387
389
  </div><div class="memdoc">
388
390
 
389
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00209">209</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
390
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
391
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00210">210</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
392
+ <div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
391
393
  </div><!-- fragment -->
392
394
  </div>
393
395
  </div>
@@ -415,8 +417,8 @@ Additional Inherited Members</h2></td></tr>
415
417
  </table>
416
418
  </div><div class="memdoc">
417
419
 
418
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00213">213</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
419
- <div class="fragment"><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; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
420
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00214">214</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
421
+ <div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVFStmt::Addr</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
420
422
  </div><!-- fragment -->
421
423
  </div>
422
424
  </div>
@@ -298,19 +298,19 @@ Additional Inherited Members</h2></td></tr>
298
298
  <p>Reimplemented from <a class="el" href="classSVF_1_1DDAClient.html#ab3fdab96c5bf55feb82b688c92510c36">SVF::DDAClient</a>.</p>
299
299
 
300
300
  <p class="definition">Definition at line <a class="el" href="DDAClient_8cpp_source.html#l00155">155</a> of file <a class="el" href="DDAClient_8cpp_source.html">DDAClient.cpp</a>.</p>
301
- <div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a21badb317a249bbb506615182671b32c">setPAG</a>(pag);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">PAGEdge::PAGEdgeSetTy</a>&amp; loads = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ac2dff0e76e4ee879dc023255e7e6a63e">getEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">PAGEdge::Load</a>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = loads.begin(), eiter =</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; loads.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* loadsrc = (*iter)-&gt;getSrcNode();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1AliasDDAClient.html#a246448efd1ff5da683a6ffe9f759e282">loadSrcNodes</a>.insert(loadsrc);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(loadsrc-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">PAGEdge::PAGEdgeSetTy</a>&amp; stores = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ac2dff0e76e4ee879dc023255e7e6a63e">getEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">PAGEdge::Store</a>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = stores.begin(), eiter =</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; stores.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* storedst = (*iter)-&gt;getDstNode();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1AliasDDAClient.html#aaad2197cec53f7eae91b3c57c168447a">storeDstNodes</a>.insert(storedst);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(storedst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">PAGEdge::PAGEdgeSetTy</a>&amp; geps = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ac2dff0e76e4ee879dc023255e7e6a63e">getEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">PAGEdge::NormalGep</a>);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = geps.begin(), eiter =</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; geps.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* gepsrc = (*iter)-&gt;getSrcNode();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1AliasDDAClient.html#ab165537f4c9a318f31de8a272a529c9c">gepSrcNodes</a>.insert(gepsrc);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(gepsrc-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">candidateQueries</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAClient_html_aa6fdff97be2e1a886237b515406d2e61"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">SVF::DDAClient::candidateQueries</a></div><div class="ttdeci">OrderedNodeSet candidateQueries</div><div class="ttdoc">store all candidate pointers to be queried </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00091">DDAClient.h:91</a></div></div>
301
+ <div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a21badb317a249bbb506615182671b32c">setPAG</a>(pag);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">PAGEdge::SVFStmtSetTy</a>&amp; loads = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">PAGEdge::Load</a>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (PAGEdge::SVFStmtSetTy::iterator iter = loads.begin(), eiter =</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; loads.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* loadsrc = (*iter)-&gt;getSrcNode();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1AliasDDAClient.html#a246448efd1ff5da683a6ffe9f759e282">loadSrcNodes</a>.insert(loadsrc);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(loadsrc-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">PAGEdge::SVFStmtSetTy</a>&amp; stores = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">PAGEdge::Store</a>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span> (PAGEdge::SVFStmtSetTy::iterator iter = stores.begin(), eiter =</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; stores.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* storedst = (*iter)-&gt;getDstNode();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1AliasDDAClient.html#aaad2197cec53f7eae91b3c57c168447a">storeDstNodes</a>.insert(storedst);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(storedst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">PAGEdge::SVFStmtSetTy</a>&amp; geps = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">getSVFStmtSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">PAGEdge::NormalGep</a>);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">for</span> (PAGEdge::SVFStmtSetTy::iterator iter = geps.begin(), eiter =</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; geps.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* gepsrc = (*iter)-&gt;getSrcNode();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1AliasDDAClient.html#ab165537f4c9a318f31de8a272a529c9c">gepSrcNodes</a>.insert(gepsrc);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(gepsrc-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">candidateQueries</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAClient_html_aa6fdff97be2e1a886237b515406d2e61"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">SVF::DDAClient::candidateQueries</a></div><div class="ttdeci">OrderedNodeSet candidateQueries</div><div class="ttdoc">store all candidate pointers to be queried </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00091">DDAClient.h:91</a></div></div>
302
302
  <div class="ttc" id="classSVF_1_1AliasDDAClient_html_a246448efd1ff5da683a6ffe9f759e282"><div class="ttname"><a href="classSVF_1_1AliasDDAClient.html#a246448efd1ff5da683a6ffe9f759e282">SVF::AliasDDAClient::loadSrcNodes</a></div><div class="ttdeci">PAGNodeSet loadSrcNodes</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00138">DDAClient.h:138</a></div></div>
303
303
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVF::SVFStmt::Load</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
304
+ <div class="ttc" id="classSVF_1_1SVFStmt_html_a8cd7b6c6fd8b030b1421d95a086359f4"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVF::SVFStmt::SVFStmtSetTy</a></div><div class="ttdeci">GenericNode&lt; SVFVar, SVFStmt &gt;::GEdgeSetTy SVFStmtSetTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00178">SVFStatements.h:178</a></div></div>
304
305
  <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#l00046">SVFVariables.h:46</a></div></div>
305
306
  <div class="ttc" id="classSVF_1_1DDAClient_html_a21badb317a249bbb506615182671b32c"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a21badb317a249bbb506615182671b32c">SVF::DDAClient::setPAG</a></div><div class="ttdeci">void setPAG(SVFIR *g)</div><div class="ttdoc">Set SVFIR graph. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00056">DDAClient.h:56</a></div></div>
306
307
  <div class="ttc" id="classSVF_1_1DDAClient_html_a7c07d9527011ea0165038e3a112a85d8"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">SVF::DDAClient::addCandidate</a></div><div class="ttdeci">void addCandidate(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00082">DDAClient.h:82</a></div></div>
307
- <div class="ttc" id="classSVF_1_1SVFIR_html_ac2dff0e76e4ee879dc023255e7e6a63e"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ac2dff0e76e4ee879dc023255e7e6a63e">SVF::SVFIR::getEdgeSet</a></div><div class="ttdeci">SVFStmt::PAGEdgeSetTy &amp; getEdgeSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get/set methods to get SVFStmts based on their kinds and ICFGNodes. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00163">SVFIR.h:163</a></div></div>
308
308
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">SVF::SVFStmt::NormalGep</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
309
309
  <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>
310
310
  <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#l00165">GenericGraph.h:165</a></div></div>
311
- <div class="ttc" id="classSVF_1_1SVFStmt_html_af02857ff13e61f81d332d83eb376bdb4"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#af02857ff13e61f81d332d83eb376bdb4">SVF::SVFStmt::PAGEdgeSetTy</a></div><div class="ttdeci">GenericNode&lt; SVFVar, SVFStmt &gt;::GEdgeSetTy PAGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00178">SVFStatements.h:178</a></div></div>
312
311
  <div class="ttc" id="classSVF_1_1AliasDDAClient_html_aaad2197cec53f7eae91b3c57c168447a"><div class="ttname"><a href="classSVF_1_1AliasDDAClient.html#aaad2197cec53f7eae91b3c57c168447a">SVF::AliasDDAClient::storeDstNodes</a></div><div class="ttdeci">PAGNodeSet storeDstNodes</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00139">DDAClient.h:139</a></div></div>
313
312
  <div class="ttc" id="classSVF_1_1AliasDDAClient_html_ab165537f4c9a318f31de8a272a529c9c"><div class="ttname"><a href="classSVF_1_1AliasDDAClient.html#ab165537f4c9a318f31de8a272a529c9c">SVF::AliasDDAClient::gepSrcNodes</a></div><div class="ttdeci">PAGNodeSet gepSrcNodes</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00140">DDAClient.h:140</a></div></div>
313
+ <div class="ttc" id="classSVF_1_1SVFIR_html_ae2006820c0d00482b85e7ae3adcb5744"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">SVF::SVFIR::getSVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy &amp; getSVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get/set methods to get SVFStmts based on their kinds and ICFGNodes. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00162">SVFIR.h:162</a></div></div>
314
314
  </div><!-- fragment -->
315
315
  </div>
316
316
  </div>