svf-tools 1.0.321 → 1.0.325

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 (487) 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/Andersen_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +13 -12
  7. package/SVF-doxygen/html/html/ConsG_8h_source.html +15 -15
  8. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  9. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  10. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  14. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  15. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  19. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  20. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
  23. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
  24. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  25. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/IRGraph_8cpp.html +1 -0
  27. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -18
  28. package/SVF-doxygen/html/html/IRGraph_8h_source.html +13 -13
  29. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  30. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  31. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
  32. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +24 -24
  33. package/SVF-doxygen/html/html/MemRegion_8h_source.html +13 -13
  34. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +13 -13
  35. package/SVF-doxygen/html/html/MemSSA_8h_source.html +13 -13
  36. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/Options_8cpp_source.html +2 -1
  38. package/SVF-doxygen/html/html/Options_8h_source.html +2 -1
  39. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  40. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
  41. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  42. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  43. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
  44. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  45. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  47. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  49. package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -0
  50. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +63 -61
  51. package/SVF-doxygen/html/html/SVFG_8h_source.html +20 -20
  52. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -5
  53. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +42 -42
  54. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +61 -61
  55. package/SVF-doxygen/html/html/SVFIR_8h_source.html +153 -154
  56. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +22 -22
  57. package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
  58. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +133 -132
  59. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
  60. package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
  61. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +78 -78
  62. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  63. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  66. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
  67. package/SVF-doxygen/html/html/VFGNode_8h_source.html +17 -17
  68. package/SVF-doxygen/html/html/VFG_8cpp_source.html +48 -48
  69. package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
  70. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  71. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +7 -7
  72. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/annotated.html +21 -21
  74. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  75. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  76. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  77. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +137 -0
  78. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +500 -0
  79. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
  80. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
  82. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  83. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +4 -4
  84. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +34 -34
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +4 -4
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +12 -12
  87. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +4 -4
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +8 -8
  89. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +4 -4
  90. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +8 -8
  91. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +4 -4
  92. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +8 -8
  93. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +4 -4
  94. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +8 -8
  95. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +4 -4
  96. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +11 -11
  97. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +9 -9
  98. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +4 -4
  99. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +8 -8
  100. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +4 -4
  101. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +26 -26
  102. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +155 -0
  103. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +756 -0
  104. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +20 -19
  106. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +33 -31
  107. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  108. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode-members.html +8 -8
  109. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +6 -6
  110. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  111. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +20 -19
  112. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -22
  113. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
  114. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
  115. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
  116. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
  117. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
  118. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
  119. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
  120. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
  121. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
  122. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +75 -22
  123. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +479 -93
  124. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
  125. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +4 -4
  126. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +11 -11
  127. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +5 -5
  128. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +46 -46
  129. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  130. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  131. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +4 -4
  132. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +18 -18
  133. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +57 -21
  134. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +253 -89
  135. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
  136. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
  138. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  140. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -10
  141. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +19 -19
  142. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +27 -27
  143. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
  144. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
  145. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
  146. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
  147. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
  148. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
  149. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
  151. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
  152. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +4 -4
  153. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +8 -8
  154. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +4 -4
  155. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +16 -16
  156. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +4 -4
  157. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +27 -27
  158. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +8 -8
  159. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +8 -8
  160. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +26 -26
  161. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode-members.html +6 -6
  164. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +6 -6
  165. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode-members.html +6 -6
  166. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +6 -6
  167. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
  169. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
  171. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +12 -12
  173. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +61 -61
  174. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
  175. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +57 -22
  176. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +259 -118
  177. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  178. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
  180. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
  181. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
  182. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
  183. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode-members.html +6 -6
  184. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +6 -6
  185. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +6 -6
  186. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +22 -22
  187. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
  188. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +8 -8
  190. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +54 -54
  191. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  192. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode-members.html +6 -6
  193. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode.html +6 -6
  194. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +20 -20
  195. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +27 -27
  196. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  197. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode-members.html +6 -6
  198. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +6 -6
  199. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +20 -20
  200. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +27 -27
  201. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  202. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +3 -3
  203. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +6 -6
  204. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
  205. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
  206. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +57 -21
  207. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +253 -89
  208. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
  209. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
  211. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +23 -23
  212. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +147 -147
  213. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +2 -2
  214. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  216. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +2 -2
  217. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +25 -25
  218. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +102 -102
  219. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +24 -23
  220. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +36 -34
  221. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  222. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +142 -0
  223. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +649 -0
  224. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
  225. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
  226. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
  227. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  228. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +5 -5
  229. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +13 -13
  230. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +21 -20
  231. package/SVF-doxygen/html/html/classSVF_1_1Options.html +26 -0
  232. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +16 -16
  233. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +8 -8
  234. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +74 -22
  235. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +447 -98
  236. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
  237. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +4 -4
  238. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +55 -55
  239. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode-members.html +7 -7
  240. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +6 -6
  241. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  242. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +20 -19
  243. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -22
  244. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +8 -8
  245. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +24 -24
  246. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +56 -56
  247. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +103 -103
  248. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  249. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +68 -68
  250. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +45 -45
  251. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +132 -133
  252. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +759 -777
  253. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +12 -12
  254. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +180 -180
  255. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +23 -22
  256. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +57 -39
  257. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  258. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +8 -8
  259. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +82 -82
  260. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  261. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +11 -11
  262. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +4 -4
  264. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +8 -8
  265. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
  266. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
  267. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +57 -21
  268. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +260 -89
  269. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
  270. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  271. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
  272. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +23 -22
  273. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -16
  274. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +23 -22
  275. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -16
  276. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  277. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  278. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +4 -4
  279. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +10 -10
  280. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +28 -28
  281. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +147 -0
  282. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +794 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
  284. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +42 -42
  285. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +145 -145
  286. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
  287. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
  288. package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
  289. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +8 -8
  290. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +24 -24
  291. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +139 -0
  292. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +544 -0
  293. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
  294. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +4 -4
  295. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +18 -18
  296. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
  297. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
  298. package/SVF-doxygen/html/html/classes.html +18 -18
  299. package/SVF-doxygen/html/html/functions_a.html +55 -55
  300. package/SVF-doxygen/html/html/functions_b.html +2 -2
  301. package/SVF-doxygen/html/html/functions_c.html +54 -59
  302. package/SVF-doxygen/html/html/functions_d.html +4 -4
  303. package/SVF-doxygen/html/html/functions_f.html +5 -5
  304. package/SVF-doxygen/html/html/functions_func.html +54 -54
  305. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  306. package/SVF-doxygen/html/html/functions_func_c.html +30 -30
  307. package/SVF-doxygen/html/html/functions_func_d.html +4 -4
  308. package/SVF-doxygen/html/html/functions_func_f.html +2 -2
  309. package/SVF-doxygen/html/html/functions_func_g.html +107 -105
  310. package/SVF-doxygen/html/html/functions_func_h.html +6 -6
  311. package/SVF-doxygen/html/html/functions_func_l.html +3 -3
  312. package/SVF-doxygen/html/html/functions_func_n.html +2 -2
  313. package/SVF-doxygen/html/html/functions_func_o.html +15 -15
  314. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  315. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  316. package/SVF-doxygen/html/html/functions_func_t.html +20 -20
  317. package/SVF-doxygen/html/html/functions_func_u.html +2 -2
  318. package/SVF-doxygen/html/html/functions_func_v.html +5 -5
  319. package/SVF-doxygen/html/html/functions_g.html +123 -121
  320. package/SVF-doxygen/html/html/functions_h.html +6 -6
  321. package/SVF-doxygen/html/html/functions_i.html +15 -15
  322. package/SVF-doxygen/html/html/functions_k.html +9 -0
  323. package/SVF-doxygen/html/html/functions_l.html +12 -12
  324. package/SVF-doxygen/html/html/functions_m.html +1 -1
  325. package/SVF-doxygen/html/html/functions_n.html +6 -6
  326. package/SVF-doxygen/html/html/functions_o.html +32 -35
  327. package/SVF-doxygen/html/html/functions_p.html +32 -49
  328. package/SVF-doxygen/html/html/functions_r.html +1 -1
  329. package/SVF-doxygen/html/html/functions_s.html +33 -14
  330. package/SVF-doxygen/html/html/functions_t.html +24 -24
  331. package/SVF-doxygen/html/html/functions_type_c.html +1 -4
  332. package/SVF-doxygen/html/html/functions_type_f.html +2 -2
  333. package/SVF-doxygen/html/html/functions_type_g.html +2 -2
  334. package/SVF-doxygen/html/html/functions_type_i.html +3 -3
  335. package/SVF-doxygen/html/html/functions_type_k.html +3 -0
  336. package/SVF-doxygen/html/html/functions_type_l.html +3 -3
  337. package/SVF-doxygen/html/html/functions_type_p.html +3 -19
  338. package/SVF-doxygen/html/html/functions_type_s.html +19 -3
  339. package/SVF-doxygen/html/html/functions_type_v.html +1 -1
  340. package/SVF-doxygen/html/html/functions_u.html +2 -2
  341. package/SVF-doxygen/html/html/functions_v.html +8 -8
  342. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  343. package/SVF-doxygen/html/html/functions_vars_g.html +8 -8
  344. package/SVF-doxygen/html/html/functions_vars_i.html +9 -9
  345. package/SVF-doxygen/html/html/functions_vars_k.html +6 -0
  346. package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
  347. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  348. package/SVF-doxygen/html/html/functions_vars_o.html +3 -4
  349. package/SVF-doxygen/html/html/functions_vars_p.html +4 -7
  350. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  351. package/SVF-doxygen/html/html/functions_w.html +5 -9
  352. package/SVF-doxygen/html/html/hierarchy.html +65 -65
  353. package/SVF-doxygen/html/html/namespaceSVF.html +24 -24
  354. package/SVF-doxygen/html/html/search/all_1.js +39 -39
  355. package/SVF-doxygen/html/html/search/all_10.js +12 -17
  356. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  357. package/SVF-doxygen/html/html/search/all_13.js +17 -12
  358. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  359. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  360. package/SVF-doxygen/html/html/search/all_16.js +5 -5
  361. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  362. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  363. package/SVF-doxygen/html/html/search/all_3.js +9 -10
  364. package/SVF-doxygen/html/html/search/all_4.js +2 -2
  365. package/SVF-doxygen/html/html/search/all_6.js +4 -4
  366. package/SVF-doxygen/html/html/search/all_7.js +54 -53
  367. package/SVF-doxygen/html/html/search/all_8.js +2 -2
  368. package/SVF-doxygen/html/html/search/all_9.js +4 -4
  369. package/SVF-doxygen/html/html/search/all_b.js +3 -0
  370. package/SVF-doxygen/html/html/search/all_c.js +7 -7
  371. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  372. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  373. package/SVF-doxygen/html/html/search/all_f.js +5 -5
  374. package/SVF-doxygen/html/html/search/classes_0.js +1 -1
  375. package/SVF-doxygen/html/html/search/classes_1.js +1 -1
  376. package/SVF-doxygen/html/html/search/classes_11.js +1 -1
  377. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  378. package/SVF-doxygen/html/html/search/classes_2.js +5 -5
  379. package/SVF-doxygen/html/html/search/classes_3.js +2 -2
  380. package/SVF-doxygen/html/html/search/classes_5.js +1 -1
  381. package/SVF-doxygen/html/html/search/classes_6.js +2 -2
  382. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  383. package/SVF-doxygen/html/html/search/classes_b.js +1 -1
  384. package/SVF-doxygen/html/html/search/classes_c.js +1 -1
  385. package/SVF-doxygen/html/html/search/classes_d.js +1 -1
  386. package/SVF-doxygen/html/html/search/classes_f.js +1 -1
  387. package/SVF-doxygen/html/html/search/functions_0.js +39 -39
  388. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  389. package/SVF-doxygen/html/html/search/functions_10.js +4 -4
  390. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  391. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  392. package/SVF-doxygen/html/html/search/functions_13.js +2 -2
  393. package/SVF-doxygen/html/html/search/functions_2.js +7 -7
  394. package/SVF-doxygen/html/html/search/functions_3.js +2 -2
  395. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  396. package/SVF-doxygen/html/html/search/functions_6.js +49 -48
  397. package/SVF-doxygen/html/html/search/functions_7.js +2 -2
  398. package/SVF-doxygen/html/html/search/functions_a.js +3 -3
  399. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  400. package/SVF-doxygen/html/html/search/functions_d.js +2 -2
  401. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  402. package/SVF-doxygen/html/html/search/typedefs_11.js +7 -3
  403. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  404. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -2
  405. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
  406. package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
  407. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  408. package/SVF-doxygen/html/html/search/typedefs_a.js +2 -1
  409. package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
  410. package/SVF-doxygen/html/html/search/typedefs_f.js +3 -7
  411. package/SVF-doxygen/html/html/search/variables_10.js +2 -3
  412. package/SVF-doxygen/html/html/search/variables_13.js +1 -0
  413. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  414. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  415. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  416. package/SVF-doxygen/html/html/search/variables_7.js +4 -4
  417. package/SVF-doxygen/html/html/search/variables_9.js +4 -4
  418. package/SVF-doxygen/html/html/search/variables_b.js +3 -1
  419. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  420. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  421. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  422. package/SVF-doxygen/html/html/search/variables_f.js +2 -2
  423. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +9 -9
  424. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
  425. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +18 -18
  426. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
  427. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +20 -20
  428. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
  429. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  430. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  431. package/include/DDA/ContextDDA.h +1 -1
  432. package/include/DDA/FlowDDA.h +1 -1
  433. package/include/Graphs/ConsG.h +10 -10
  434. package/include/Graphs/ICFGNode.h +4 -4
  435. package/include/Graphs/IRGraph.h +7 -7
  436. package/include/Graphs/VFG.h +13 -13
  437. package/include/Graphs/VFGNode.h +6 -6
  438. package/include/MSSA/MSSAMuChi.h +6 -6
  439. package/include/MSSA/MemRegion.h +11 -11
  440. package/include/MSSA/MemSSA.h +11 -11
  441. package/include/MemoryModel/PointerAnalysis.h +9 -9
  442. package/include/MemoryModel/PointerAnalysisImpl.h +4 -4
  443. package/include/MemoryModel/SVFIR.h +82 -83
  444. package/include/MemoryModel/SVFStatements.h +97 -92
  445. package/include/MemoryModel/SVFVariables.h +71 -71
  446. package/include/SVF-FE/SVFIRBuilder.h +24 -24
  447. package/include/Util/IRAnnotator.h +1 -1
  448. package/include/Util/Options.h +3 -1
  449. package/include/Util/TypeBasedHeapCloning.h +2 -2
  450. package/include/WPA/Andersen.h +1 -1
  451. package/include/WPA/FlowSensitiveTBHC.h +1 -1
  452. package/lib/DDA/ContextDDA.cpp +6 -6
  453. package/lib/DDA/DDAClient.cpp +6 -6
  454. package/lib/DDA/DDAStat.cpp +2 -2
  455. package/lib/DDA/FlowDDA.cpp +4 -4
  456. package/lib/Graphs/ConsG.cpp +37 -36
  457. package/lib/Graphs/ICFG.cpp +4 -4
  458. package/lib/Graphs/IRGraph.cpp +27 -24
  459. package/lib/Graphs/OfflineConsG.cpp +8 -8
  460. package/lib/Graphs/SVFG.cpp +18 -16
  461. package/lib/Graphs/ThreadCallGraph.cpp +2 -2
  462. package/lib/Graphs/VFG.cpp +52 -52
  463. package/lib/MSSA/MemRegion.cpp +23 -23
  464. package/lib/MSSA/MemSSA.cpp +15 -15
  465. package/lib/MTA/MTAAnnotator.cpp +5 -5
  466. package/lib/MemoryModel/PAGBuilderFromFile.cpp +13 -13
  467. package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
  468. package/lib/MemoryModel/PointerAnalysisImpl.cpp +14 -14
  469. package/lib/MemoryModel/SVFIR.cpp +95 -95
  470. package/lib/MemoryModel/SVFStatements.cpp +24 -24
  471. package/lib/MemoryModel/SVFVariables.cpp +19 -19
  472. package/lib/SABER/LeakChecker.cpp +2 -2
  473. package/lib/SABER/SaberSVFGBuilder.cpp +5 -5
  474. package/lib/SVF-FE/Graph2Json.cpp +3 -3
  475. package/lib/SVF-FE/SVFIRBuilder.cpp +22 -22
  476. package/lib/Util/Options.cpp +6 -0
  477. package/lib/Util/PTAStat.cpp +8 -8
  478. package/lib/Util/TypeBasedHeapCloning.cpp +22 -22
  479. package/lib/WPA/Andersen.cpp +13 -13
  480. package/lib/WPA/AndersenSFR.cpp +2 -2
  481. package/lib/WPA/AndersenStat.cpp +6 -6
  482. package/lib/WPA/FlowSensitive.cpp +8 -8
  483. package/lib/WPA/FlowSensitiveStat.cpp +4 -4
  484. package/lib/WPA/FlowSensitiveTBHC.cpp +9 -9
  485. package/lib/WPA/VersionedFlowSensitive.cpp +2 -2
  486. package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
  487. package/package.json +1 -1
@@ -336,56 +336,56 @@ void VFG::addVFGNodes()
336
336
  addNullPtrVFGNode(pag->getGNode(pag->getNullPtr()));
337
337
 
338
338
  // initialize address nodes
339
- PAGEdge::PAGEdgeSetTy& addrs = getPAGEdgeSet(PAGEdge::Addr);
340
- for (PAGEdge::PAGEdgeSetTy::iterator iter = addrs.begin(), eiter =
339
+ PAGEdge::SVFStmtSetTy& addrs = getPAGEdgeSet(PAGEdge::Addr);
340
+ for (PAGEdge::SVFStmtSetTy::iterator iter = addrs.begin(), eiter =
341
341
  addrs.end(); iter != eiter; ++iter)
342
342
  {
343
- addAddrVFGNode(SVFUtil::cast<AddrPE>(*iter));
343
+ addAddrVFGNode(SVFUtil::cast<AddrStmt>(*iter));
344
344
  }
345
345
 
346
346
  // initialize copy nodes
347
- PAGEdge::PAGEdgeSetTy& copys = getPAGEdgeSet(PAGEdge::Copy);
348
- for (PAGEdge::PAGEdgeSetTy::iterator iter = copys.begin(), eiter =
347
+ PAGEdge::SVFStmtSetTy& copys = getPAGEdgeSet(PAGEdge::Copy);
348
+ for (PAGEdge::SVFStmtSetTy::iterator iter = copys.begin(), eiter =
349
349
  copys.end(); iter != eiter; ++iter)
350
350
  {
351
- const CopyPE* edge = SVFUtil::cast<CopyPE>(*iter);
351
+ const CopyStmt* edge = SVFUtil::cast<CopyStmt>(*iter);
352
352
  assert(!isPhiCopyEdge(edge) && "Copy edges can not be a PhiNode (or from PhiNode)");
353
353
  addCopyVFGNode(edge);
354
354
  }
355
355
 
356
356
  // initialize gep nodes
357
- PAGEdge::PAGEdgeSetTy& ngeps = getPAGEdgeSet(PAGEdge::NormalGep);
358
- for (PAGEdge::PAGEdgeSetTy::iterator iter = ngeps.begin(), eiter =
357
+ PAGEdge::SVFStmtSetTy& ngeps = getPAGEdgeSet(PAGEdge::NormalGep);
358
+ for (PAGEdge::SVFStmtSetTy::iterator iter = ngeps.begin(), eiter =
359
359
  ngeps.end(); iter != eiter; ++iter)
360
360
  {
361
- addGepVFGNode(SVFUtil::cast<NormalGepPE>(*iter));
361
+ addGepVFGNode(SVFUtil::cast<NormalGepStmt>(*iter));
362
362
  }
363
363
 
364
- PAGEdge::PAGEdgeSetTy& vgeps = getPAGEdgeSet(PAGEdge::VariantGep);
365
- for (PAGEdge::PAGEdgeSetTy::iterator iter = vgeps.begin(), eiter =
364
+ PAGEdge::SVFStmtSetTy& vgeps = getPAGEdgeSet(PAGEdge::VariantGep);
365
+ for (PAGEdge::SVFStmtSetTy::iterator iter = vgeps.begin(), eiter =
366
366
  vgeps.end(); iter != eiter; ++iter)
367
367
  {
368
- addGepVFGNode(SVFUtil::cast<VariantGepPE>(*iter));
368
+ addGepVFGNode(SVFUtil::cast<VariantGepStmt>(*iter));
369
369
  }
370
370
 
371
371
  // initialize load nodes
372
- PAGEdge::PAGEdgeSetTy& loads = getPAGEdgeSet(PAGEdge::Load);
373
- for (PAGEdge::PAGEdgeSetTy::iterator iter = loads.begin(), eiter =
372
+ PAGEdge::SVFStmtSetTy& loads = getPAGEdgeSet(PAGEdge::Load);
373
+ for (PAGEdge::SVFStmtSetTy::iterator iter = loads.begin(), eiter =
374
374
  loads.end(); iter != eiter; ++iter)
375
375
  {
376
- addLoadVFGNode(SVFUtil::cast<LoadPE>(*iter));
376
+ addLoadVFGNode(SVFUtil::cast<LoadStmt>(*iter));
377
377
  }
378
378
 
379
379
  // initialize store nodes
380
- PAGEdge::PAGEdgeSetTy& stores = getPAGEdgeSet(PAGEdge::Store);
381
- for (PAGEdge::PAGEdgeSetTy::iterator iter = stores.begin(), eiter =
380
+ PAGEdge::SVFStmtSetTy& stores = getPAGEdgeSet(PAGEdge::Store);
381
+ for (PAGEdge::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
382
382
  stores.end(); iter != eiter; ++iter)
383
383
  {
384
- addStoreVFGNode(SVFUtil::cast<StorePE>(*iter));
384
+ addStoreVFGNode(SVFUtil::cast<StoreStmt>(*iter));
385
385
  }
386
386
 
387
- PAGEdge::PAGEdgeSetTy& forks = getPAGEdgeSet(PAGEdge::ThreadFork);
388
- for (PAGEdge::PAGEdgeSetTy::iterator iter = forks.begin(), eiter =
387
+ PAGEdge::SVFStmtSetTy& forks = getPAGEdgeSet(PAGEdge::ThreadFork);
388
+ for (PAGEdge::SVFStmtSetTy::iterator iter = forks.begin(), eiter =
389
389
  forks.end(); iter != eiter; ++iter)
390
390
  {
391
391
  TDForkPE* forkedge = SVFUtil::cast<TDForkPE>(*iter);
@@ -396,7 +396,7 @@ void VFG::addVFGNodes()
396
396
  for(SVFIR::CSToArgsListMap::iterator it = pag->getCallSiteArgsMap().begin(), eit = pag->getCallSiteArgsMap().end(); it !=eit; ++it)
397
397
  {
398
398
 
399
- for(SVFIR::PAGNodeList::iterator pit = it->second.begin(), epit = it->second.end(); pit!=epit; ++pit)
399
+ for(SVFIR::SVFVarList::iterator pit = it->second.begin(), epit = it->second.end(); pit!=epit; ++pit)
400
400
  {
401
401
  const PAGNode* pagNode = *pit;
402
402
  if (isInterestedPAGNode(pagNode))
@@ -422,7 +422,7 @@ void VFG::addVFGNodes()
422
422
  {
423
423
  const SVFFunction* func = it->first;
424
424
 
425
- for(SVFIR::PAGNodeList::iterator pit = it->second.begin(), epit = it->second.end(); pit!=epit; ++pit)
425
+ for(SVFIR::SVFVarList::iterator pit = it->second.begin(), epit = it->second.end(); pit!=epit; ++pit)
426
426
  {
427
427
  const PAGNode* param = *pit;
428
428
  if (isInterestedPAGNode(param) == false || hasBlackHoleConstObjAddrAsDef(param))
@@ -431,7 +431,7 @@ void VFG::addVFGNodes()
431
431
  CallPESet callPEs;
432
432
  if (param->hasIncomingEdges(PAGEdge::Call))
433
433
  {
434
- for (PAGEdge::PAGEdgeSetTy::const_iterator cit = param->getIncomingEdgesBegin(PAGEdge::Call), ecit =
434
+ for (PAGEdge::SVFStmtSetTy::const_iterator cit = param->getIncomingEdgesBegin(PAGEdge::Call), ecit =
435
435
  param->getIncomingEdgesEnd(PAGEdge::Call); cit != ecit; ++cit)
436
436
  {
437
437
  CallPE* callPE = SVFUtil::cast<CallPE>(*cit);
@@ -451,7 +451,7 @@ void VFG::addVFGNodes()
451
451
  CallPESet callPEs;
452
452
  if (varParam->hasIncomingEdges(PAGEdge::Call))
453
453
  {
454
- for(PAGEdge::PAGEdgeSetTy::const_iterator cit = varParam->getIncomingEdgesBegin(PAGEdge::Call),
454
+ for(PAGEdge::SVFStmtSetTy::const_iterator cit = varParam->getIncomingEdgesBegin(PAGEdge::Call),
455
455
  ecit = varParam->getIncomingEdgesEnd(PAGEdge::Call); cit!=ecit; ++cit)
456
456
  {
457
457
  CallPE* callPE = SVFUtil::cast<CallPE>(*cit);
@@ -473,7 +473,7 @@ void VFG::addVFGNodes()
473
473
  RetPESet retPEs;
474
474
  if (uniqueFunRetNode->hasOutgoingEdges(PAGEdge::Ret))
475
475
  {
476
- for (PAGEdge::PAGEdgeSetTy::const_iterator cit = uniqueFunRetNode->getOutgoingEdgesBegin(PAGEdge::Ret),
476
+ for (PAGEdge::SVFStmtSetTy::const_iterator cit = uniqueFunRetNode->getOutgoingEdgesBegin(PAGEdge::Ret),
477
477
  ecit = uniqueFunRetNode->getOutgoingEdgesEnd(PAGEdge::Ret);
478
478
  cit != ecit; ++cit)
479
479
  {
@@ -488,35 +488,35 @@ void VFG::addVFGNodes()
488
488
  }
489
489
 
490
490
  // initialize llvm phi nodes (phi of top level pointers)
491
- PAGEdge::PAGEdgeSetTy& phis = getPAGEdgeSet(PAGEdge::Phi);
492
- for (PAGEdge::PAGEdgeSetTy::iterator iter = phis.begin(), eiter =
491
+ PAGEdge::SVFStmtSetTy& phis = getPAGEdgeSet(PAGEdge::Phi);
492
+ for (PAGEdge::SVFStmtSetTy::iterator iter = phis.begin(), eiter =
493
493
  phis.end(); iter != eiter; ++iter)
494
494
  {
495
- const PhiPE* edge = SVFUtil::cast<PhiPE>(*iter);
495
+ const PhiStmt* edge = SVFUtil::cast<PhiStmt>(*iter);
496
496
  if(isInterestedPAGNode(edge->getRes()))
497
497
  addIntraPHIVFGNode(edge);
498
498
  }
499
499
  // initialize llvm binary nodes (binary operators)
500
- PAGEdge::PAGEdgeSetTy& binaryops = getPAGEdgeSet(PAGEdge::BinaryOp);
501
- for (PAGEdge::PAGEdgeSetTy::iterator iter = binaryops.begin(), eiter =
500
+ PAGEdge::SVFStmtSetTy& binaryops = getPAGEdgeSet(PAGEdge::BinaryOp);
501
+ for (PAGEdge::SVFStmtSetTy::iterator iter = binaryops.begin(), eiter =
502
502
  binaryops.end(); iter != eiter; ++iter)
503
503
  {
504
- const BinaryOPPE* edge = SVFUtil::cast<BinaryOPPE>(*iter);
504
+ const BinaryOPStmt* edge = SVFUtil::cast<BinaryOPStmt>(*iter);
505
505
  if(isInterestedPAGNode(edge->getRes()))
506
506
  addBinaryOPVFGNode(edge);
507
507
  }
508
508
  // initialize llvm unary nodes (unary operators)
509
- PAGEdge::PAGEdgeSetTy& unaryops = getPAGEdgeSet(PAGEdge::UnaryOp);
510
- for (PAGEdge::PAGEdgeSetTy::iterator iter = unaryops.begin(), eiter =
509
+ PAGEdge::SVFStmtSetTy& unaryops = getPAGEdgeSet(PAGEdge::UnaryOp);
510
+ for (PAGEdge::SVFStmtSetTy::iterator iter = unaryops.begin(), eiter =
511
511
  unaryops.end(); iter != eiter; ++iter)
512
512
  {
513
- const UnaryOPPE* edge = SVFUtil::cast<UnaryOPPE>(*iter);
513
+ const UnaryOPStmt* edge = SVFUtil::cast<UnaryOPStmt>(*iter);
514
514
  if(isInterestedPAGNode(edge->getRes()))
515
515
  addUnaryOPVFGNode(edge);
516
516
  }
517
517
  // initialize llvm unary nodes (unary operators)
518
- PAGEdge::PAGEdgeSetTy& brs = getPAGEdgeSet(PAGEdge::Branch);
519
- for (PAGEdge::PAGEdgeSetTy::iterator iter = brs.begin(), eiter =
518
+ PAGEdge::SVFStmtSetTy& brs = getPAGEdgeSet(PAGEdge::Branch);
519
+ for (PAGEdge::SVFStmtSetTy::iterator iter = brs.begin(), eiter =
520
520
  brs.end(); iter != eiter; ++iter)
521
521
  {
522
522
  const BranchStmt* edge = SVFUtil::cast<BranchStmt>(*iter);
@@ -524,11 +524,11 @@ void VFG::addVFGNodes()
524
524
  addBranchVFGNode(edge);
525
525
  }
526
526
  // initialize llvm cmp nodes (comparision)
527
- PAGEdge::PAGEdgeSetTy& cmps = getPAGEdgeSet(PAGEdge::Cmp);
528
- for (PAGEdge::PAGEdgeSetTy::iterator iter = cmps.begin(), eiter =
527
+ PAGEdge::SVFStmtSetTy& cmps = getPAGEdgeSet(PAGEdge::Cmp);
528
+ for (PAGEdge::SVFStmtSetTy::iterator iter = cmps.begin(), eiter =
529
529
  cmps.end(); iter != eiter; ++iter)
530
530
  {
531
- const CmpPE* edge = SVFUtil::cast<CmpPE>(*iter);
531
+ const CmpStmt* edge = SVFUtil::cast<CmpStmt>(*iter);
532
532
  if(isInterestedPAGNode(edge->getRes()))
533
533
  addCmpVFGNode(edge);
534
534
  }
@@ -692,8 +692,8 @@ void VFG::connectDirectVFGEdges()
692
692
  /// connect direct value-flow edges (parameter passing) for thread fork/join
693
693
  if(Options::EnableThreadCallGraph){
694
694
  /// add fork edge
695
- PAGEdge::PAGEdgeSetTy& forks = getPAGEdgeSet(PAGEdge::ThreadFork);
696
- for (PAGEdge::PAGEdgeSetTy::iterator iter = forks.begin(), eiter =
695
+ PAGEdge::SVFStmtSetTy& forks = getPAGEdgeSet(PAGEdge::ThreadFork);
696
+ for (PAGEdge::SVFStmtSetTy::iterator iter = forks.begin(), eiter =
697
697
  forks.end(); iter != eiter; ++iter)
698
698
  {
699
699
  TDForkPE* forkedge = SVFUtil::cast<TDForkPE>(*iter);
@@ -702,8 +702,8 @@ void VFG::connectDirectVFGEdges()
702
702
  addInterEdgeFromAPToFP(acutalParm,formalParm,getCallSiteID(forkedge->getCallSite(), formalParm->getFun()));
703
703
  }
704
704
  /// add join edge
705
- PAGEdge::PAGEdgeSetTy& joins = getPAGEdgeSet(PAGEdge::ThreadJoin);
706
- for (PAGEdge::PAGEdgeSetTy::iterator iter = joins.begin(), eiter =
705
+ PAGEdge::SVFStmtSetTy& joins = getPAGEdgeSet(PAGEdge::ThreadJoin);
706
+ for (PAGEdge::SVFStmtSetTy::iterator iter = joins.begin(), eiter =
707
707
  joins.end(); iter != eiter; ++iter)
708
708
  {
709
709
  TDJoinPE* joinedge = SVFUtil::cast<TDJoinPE>(*iter);
@@ -824,10 +824,10 @@ void VFG::connectCallerAndCallee(const CallBlockNode* callBlockNode, const SVFFu
824
824
  // connect actual and formal param
825
825
  if (pag->hasCallSiteArgsMap(callBlockNode) && pag->hasFunArgsList(callee))
826
826
  {
827
- const SVFIR::PAGNodeList& csArgList = pag->getCallSiteArgsList(callBlockNode);
828
- const SVFIR::PAGNodeList& funArgList = pag->getFunArgsList(callee);
829
- SVFIR::PAGNodeList::const_iterator csArgIt = csArgList.begin(), csArgEit = csArgList.end();
830
- SVFIR::PAGNodeList::const_iterator funArgIt = funArgList.begin(), funArgEit = funArgList.end();
827
+ const SVFIR::SVFVarList& csArgList = pag->getCallSiteArgsList(callBlockNode);
828
+ const SVFIR::SVFVarList& funArgList = pag->getFunArgsList(callee);
829
+ SVFIR::SVFVarList::const_iterator csArgIt = csArgList.begin(), csArgEit = csArgList.end();
830
+ SVFIR::SVFVarList::const_iterator funArgIt = funArgList.begin(), funArgEit = funArgList.end();
831
831
  for (; funArgIt != funArgEit && csArgIt != csArgEit; funArgIt++, csArgIt++)
832
832
  {
833
833
  const PAGNode *cs_arg = *csArgIt;
@@ -1081,11 +1081,11 @@ struct DOTGraphTraits<VFG*> : public DOTGraphTraits<SVFIR*>
1081
1081
  if(StmtVFGNode* stmtNode = SVFUtil::dyn_cast<StmtVFGNode>(node))
1082
1082
  {
1083
1083
  const PAGEdge* edge = stmtNode->getPAGEdge();
1084
- if (SVFUtil::isa<AddrPE>(edge))
1084
+ if (SVFUtil::isa<AddrStmt>(edge))
1085
1085
  {
1086
1086
  rawstr << "color=green";
1087
1087
  }
1088
- else if (SVFUtil::isa<CopyPE>(edge))
1088
+ else if (SVFUtil::isa<CopyStmt>(edge))
1089
1089
  {
1090
1090
  rawstr << "color=black";
1091
1091
  }
@@ -1093,15 +1093,15 @@ struct DOTGraphTraits<VFG*> : public DOTGraphTraits<SVFIR*>
1093
1093
  {
1094
1094
  rawstr << "color=black,style=dotted";
1095
1095
  }
1096
- else if (SVFUtil::isa<GepPE>(edge))
1096
+ else if (SVFUtil::isa<GepStmt>(edge))
1097
1097
  {
1098
1098
  rawstr << "color=purple";
1099
1099
  }
1100
- else if (SVFUtil::isa<StorePE>(edge))
1100
+ else if (SVFUtil::isa<StoreStmt>(edge))
1101
1101
  {
1102
1102
  rawstr << "color=blue";
1103
1103
  }
1104
- else if (SVFUtil::isa<LoadPE>(edge))
1104
+ else if (SVFUtil::isa<LoadStmt>(edge))
1105
1105
  {
1106
1106
  rawstr << "color=red";
1107
1107
  }
@@ -107,7 +107,7 @@ void MRGenerator::collectGlobals()
107
107
  SVFIR* pag = pta->getPAG();
108
108
  for (SVFIR::iterator nIter = pag->begin(); nIter != pag->end(); ++nIter)
109
109
  {
110
- if(ObjPN* obj = SVFUtil::dyn_cast<ObjPN>(nIter->second))
110
+ if(ObjVar* obj = SVFUtil::dyn_cast<ObjVar>(nIter->second))
111
111
  {
112
112
  if (obj->getMemObj()->isGlobalObj())
113
113
  {
@@ -148,22 +148,22 @@ void MRGenerator::generateMRs()
148
148
  updateAliasMRs();
149
149
  }
150
150
 
151
- bool MRGenerator::hasPAGEdgeList(const Instruction* inst)
151
+ bool MRGenerator::hasSVFStmtList(const Instruction* inst)
152
152
  {
153
153
  SVFIR* pag = pta->getPAG();
154
154
  if (ptrOnlyMSSA)
155
- return pag->hasPTAPAGEdgeList(pag->getICFG()->getBlockICFGNode(inst));
155
+ return pag->hasPTASVFStmtList(pag->getICFG()->getBlockICFGNode(inst));
156
156
  else
157
- return pag->hasPAGEdgeList(pag->getICFG()->getBlockICFGNode(inst));
157
+ return pag->hasSVFStmtList(pag->getICFG()->getBlockICFGNode(inst));
158
158
  }
159
159
 
160
- SVFIR::PAGEdgeList& MRGenerator::getPAGEdgesFromInst(const Instruction* inst)
160
+ SVFIR::SVFStmtList& MRGenerator::getPAGEdgesFromInst(const Instruction* inst)
161
161
  {
162
162
  SVFIR* pag = pta->getPAG();
163
163
  if (ptrOnlyMSSA)
164
- return pag->getInstPTAPAGEdgeList(pag->getICFG()->getBlockICFGNode(inst));
164
+ return pag->getPTASVFStmtList(pag->getICFG()->getBlockICFGNode(inst));
165
165
  else
166
- return pag->getInstPAGEdgeList(pag->getICFG()->getBlockICFGNode(inst));
166
+ return pag->getSVFStmtList(pag->getICFG()->getBlockICFGNode(inst));
167
167
  }
168
168
 
169
169
  /*!
@@ -190,13 +190,13 @@ void MRGenerator::collectModRefForLoadStore()
190
190
  bit != ebit; ++bit)
191
191
  {
192
192
  const Instruction& inst = *bit;
193
- PAGEdgeList& pagEdgeList = getPAGEdgesFromInst(&inst);
194
- for (PAGEdgeList::iterator bit = pagEdgeList.begin(), ebit =
193
+ SVFStmtList& pagEdgeList = getPAGEdgesFromInst(&inst);
194
+ for (SVFStmtList::iterator bit = pagEdgeList.begin(), ebit =
195
195
  pagEdgeList.end(); bit != ebit; ++bit)
196
196
  {
197
197
  const PAGEdge* inst = *bit;
198
198
  pagEdgeToFunMap[inst] = &fun;
199
- if (const StorePE *st = SVFUtil::dyn_cast<StorePE>(inst))
199
+ if (const StoreStmt *st = SVFUtil::dyn_cast<StoreStmt>(inst))
200
200
  {
201
201
  NodeBS cpts(pta->getPts(st->getDstID()).toNodeBS());
202
202
  // TODO: change this assertion check later when we have conditional points-to set
@@ -206,7 +206,7 @@ void MRGenerator::collectModRefForLoadStore()
206
206
  addCPtsToStore(cpts, st, &fun);
207
207
  }
208
208
 
209
- else if (const LoadPE *ld = SVFUtil::dyn_cast<LoadPE>(inst))
209
+ else if (const LoadStmt *ld = SVFUtil::dyn_cast<LoadStmt>(inst))
210
210
  {
211
211
  NodeBS cpts(pta->getPts(ld->getSrcID()).toNodeBS());
212
212
  // TODO: change this assertion check later when we have conditional points-to set
@@ -487,8 +487,8 @@ void MRGenerator::collectCallSitePts(const CallBlockNode* cs)
487
487
  WorkList worklist;
488
488
  if (pag->hasCallSiteArgsMap(callBlockNode))
489
489
  {
490
- const SVFIR::PAGNodeList& args = pta->getPAG()->getCallSiteArgsList(callBlockNode);
491
- for(SVFIR::PAGNodeList::const_iterator itA = args.begin(), ieA = args.end(); itA!=ieA; ++itA)
490
+ const SVFIR::SVFVarList& args = pta->getPAG()->getCallSiteArgsList(callBlockNode);
491
+ for(SVFIR::SVFVarList::const_iterator itA = args.begin(), ieA = args.end(); itA!=ieA; ++itA)
492
492
  {
493
493
  const PAGNode* node = *itA;
494
494
  if(node->isPointer())
@@ -526,7 +526,7 @@ void MRGenerator::collectCallSitePts(const CallBlockNode* cs)
526
526
  */
527
527
  NodeBS& MRGenerator::CollectPtsChain(NodeID id)
528
528
  {
529
- NodeID baseId = pta->getPAG()->getBaseObjNode(id);
529
+ NodeID baseId = pta->getPAG()->getBaseObjVar(id);
530
530
  NodeToPTSSMap::iterator it = cachedPtsChainMap.find(baseId);
531
531
  if(it!=cachedPtsChainMap.end())
532
532
  return it->second;
@@ -605,12 +605,12 @@ bool MRGenerator::handleCallsiteModRef(NodeBS& mod, NodeBS& ref, const CallBlock
605
605
  /// if a callee is a heap allocator function, then its mod set of this callsite is the heap object.
606
606
  if(isHeapAllocExtCall(cs->getCallSite()))
607
607
  {
608
- PAGEdgeList& pagEdgeList = getPAGEdgesFromInst(cs->getCallSite());
609
- for (PAGEdgeList::const_iterator bit = pagEdgeList.begin(),
608
+ SVFStmtList& pagEdgeList = getPAGEdgesFromInst(cs->getCallSite());
609
+ for (SVFStmtList::const_iterator bit = pagEdgeList.begin(),
610
610
  ebit = pagEdgeList.end(); bit != ebit; ++bit)
611
611
  {
612
612
  const PAGEdge* edge = *bit;
613
- if (const AddrPE* addr = SVFUtil::dyn_cast<AddrPE>(edge))
613
+ if (const AddrStmt* addr = SVFUtil::dyn_cast<AddrStmt>(edge))
614
614
  mod.set(addr->getSrcID());
615
615
  }
616
616
  }
@@ -671,13 +671,13 @@ NodeBS MRGenerator::getModInfoForCall(const CallBlockNode* cs)
671
671
  {
672
672
  if (isExtCall(cs->getCallSite()) && !isHeapAllocExtCall(cs->getCallSite()))
673
673
  {
674
- PAGEdgeList& pagEdgeList = getPAGEdgesFromInst(cs->getCallSite());
674
+ SVFStmtList& pagEdgeList = getPAGEdgesFromInst(cs->getCallSite());
675
675
  NodeBS mods;
676
- for (PAGEdgeList::const_iterator bit = pagEdgeList.begin(), ebit =
676
+ for (SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit =
677
677
  pagEdgeList.end(); bit != ebit; ++bit)
678
678
  {
679
679
  const PAGEdge* edge = *bit;
680
- if (const StorePE* st = SVFUtil::dyn_cast<StorePE>(edge))
680
+ if (const StoreStmt* st = SVFUtil::dyn_cast<StoreStmt>(edge))
681
681
  mods |= pta->getPts(st->getDstID()).toNodeBS();
682
682
  }
683
683
  return mods;
@@ -695,13 +695,13 @@ NodeBS MRGenerator::getRefInfoForCall(const CallBlockNode* cs)
695
695
  {
696
696
  if (isExtCall(cs->getCallSite()) && !isHeapAllocExtCall(cs->getCallSite()))
697
697
  {
698
- PAGEdgeList& pagEdgeList = getPAGEdgesFromInst(cs->getCallSite());
698
+ SVFStmtList& pagEdgeList = getPAGEdgesFromInst(cs->getCallSite());
699
699
  NodeBS refs;
700
- for (PAGEdgeList::const_iterator bit = pagEdgeList.begin(), ebit =
700
+ for (SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit =
701
701
  pagEdgeList.end(); bit != ebit; ++bit)
702
702
  {
703
703
  const PAGEdge* edge = *bit;
704
- if (const LoadPE* ld = SVFUtil::dyn_cast<LoadPE>(edge))
704
+ if (const LoadStmt* ld = SVFUtil::dyn_cast<LoadStmt>(edge))
705
705
  refs |= pta->getPts(ld->getSrcID()).toNodeBS();
706
706
  }
707
707
  return refs;
@@ -159,16 +159,16 @@ void MemSSA::createMUCHI(const SVFFunction& fun)
159
159
  it != eit; ++it)
160
160
  {
161
161
  const Instruction* inst = &*it;
162
- if(mrGen->hasPAGEdgeList(inst))
162
+ if(mrGen->hasSVFStmtList(inst))
163
163
  {
164
- PAGEdgeList& pagEdgeList = mrGen->getPAGEdgesFromInst(inst);
165
- for (PAGEdgeList::const_iterator bit = pagEdgeList.begin(),
164
+ SVFStmtList& pagEdgeList = mrGen->getPAGEdgesFromInst(inst);
165
+ for (SVFStmtList::const_iterator bit = pagEdgeList.begin(),
166
166
  ebit = pagEdgeList.end(); bit != ebit; ++bit)
167
167
  {
168
168
  const PAGEdge* inst = *bit;
169
- if (const LoadPE* load = SVFUtil::dyn_cast<LoadPE>(inst))
169
+ if (const LoadStmt* load = SVFUtil::dyn_cast<LoadStmt>(inst))
170
170
  AddLoadMU(bb, load, mrGen->getLoadMRSet(load));
171
- else if (const StorePE* store = SVFUtil::dyn_cast<StorePE>(inst))
171
+ else if (const StoreStmt* store = SVFUtil::dyn_cast<StoreStmt>(inst))
172
172
  AddStoreCHI(bb, store, mrGen->getStoreMRSet(store));
173
173
  }
174
174
  }
@@ -301,17 +301,17 @@ void MemSSA::SSARenameBB(const BasicBlock& bb)
301
301
  it != eit; ++it)
302
302
  {
303
303
  const Instruction* inst = &*it;
304
- if(mrGen->hasPAGEdgeList(inst))
304
+ if(mrGen->hasSVFStmtList(inst))
305
305
  {
306
- PAGEdgeList& pagEdgeList = mrGen->getPAGEdgesFromInst(inst);
307
- for(PAGEdgeList::const_iterator bit = pagEdgeList.begin(), ebit= pagEdgeList.end();
306
+ SVFStmtList& pagEdgeList = mrGen->getPAGEdgesFromInst(inst);
307
+ for(SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit= pagEdgeList.end();
308
308
  bit!=ebit; ++bit)
309
309
  {
310
310
  const PAGEdge* inst = *bit;
311
- if (const LoadPE* load = SVFUtil::dyn_cast<LoadPE>(inst))
311
+ if (const LoadStmt* load = SVFUtil::dyn_cast<LoadStmt>(inst))
312
312
  RenameMuSet(getMUSet(load));
313
313
 
314
- else if (const StorePE* store = SVFUtil::dyn_cast<StorePE>(inst))
314
+ else if (const StoreStmt* store = SVFUtil::dyn_cast<StoreStmt>(inst))
315
315
  RenameChiSet(getCHISet(store),memRegs);
316
316
 
317
317
  }
@@ -666,12 +666,12 @@ void MemSSA::dumpMSSA(raw_ostream& Out)
666
666
  else
667
667
  {
668
668
  bool dump_preamble = false;
669
- PAGEdgeList& pagEdgeList = mrGen->getPAGEdgesFromInst(&inst);
670
- for(PAGEdgeList::const_iterator bit = pagEdgeList.begin(), ebit= pagEdgeList.end();
669
+ SVFStmtList& pagEdgeList = mrGen->getPAGEdgesFromInst(&inst);
670
+ for(SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit= pagEdgeList.end();
671
671
  bit!=ebit; ++bit)
672
672
  {
673
673
  const PAGEdge* edge = *bit;
674
- if (const LoadPE* load = SVFUtil::dyn_cast<LoadPE>(edge))
674
+ if (const LoadStmt* load = SVFUtil::dyn_cast<LoadStmt>(edge))
675
675
  {
676
676
  MUSet& muSet = getMUSet(load);
677
677
  for(MUSet::iterator it = muSet.begin(), eit = muSet.end(); it!=eit; ++it)
@@ -689,11 +689,11 @@ void MemSSA::dumpMSSA(raw_ostream& Out)
689
689
  Out << inst << "\n";
690
690
 
691
691
  bool has_chi = false;
692
- for(PAGEdgeList::const_iterator bit = pagEdgeList.begin(), ebit= pagEdgeList.end();
692
+ for(SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit= pagEdgeList.end();
693
693
  bit!=ebit; ++bit)
694
694
  {
695
695
  const PAGEdge* edge = *bit;
696
- if (const StorePE* store = SVFUtil::dyn_cast<StorePE>(edge))
696
+ if (const StoreStmt* store = SVFUtil::dyn_cast<StoreStmt>(edge))
697
697
  {
698
698
  CHISet& chiSet = getCHISet(store);
699
699
  for(CHISet::iterator it = chiSet.begin(), eit = chiSet.end(); it!=eit; ++it)
@@ -122,8 +122,8 @@ void MTAAnnotator::pruneThreadLocal(PointerAnalysis* pta)
122
122
  PointsTo worklist;
123
123
 
124
124
  /// find fork arguments' objects
125
- const PAGEdge::PAGEdgeSetTy& forkedges = pag->getPTAEdgeSet(PAGEdge::ThreadFork);
126
- for (PAGEdge::PAGEdgeSetTy::const_iterator it = forkedges.begin(), eit = forkedges.end(); it != eit; ++it)
125
+ const PAGEdge::SVFStmtSetTy& forkedges = pag->getPTASVFStmtSet(PAGEdge::ThreadFork);
126
+ for (PAGEdge::SVFStmtSetTy::const_iterator it = forkedges.begin(), eit = forkedges.end(); it != eit; ++it)
127
127
  {
128
128
  PAGEdge* edge = *it;
129
129
  worklist |= pta->getPts(edge->getDstID());
@@ -131,8 +131,8 @@ void MTAAnnotator::pruneThreadLocal(PointerAnalysis* pta)
131
131
  }
132
132
 
133
133
  /// find global pointer-to objects
134
- const SVFIR::PAGEdgeSet& globaledges = pag->getGlobalPAGEdgeSet();
135
- for (SVFIR::PAGEdgeSet::const_iterator it = globaledges.begin(), eit = globaledges.end(); it != eit; ++it)
134
+ const SVFIR::SVFStmtSet& globaledges = pag->getGlobalSVFStmtSet();
135
+ for (SVFIR::SVFStmtSet::const_iterator it = globaledges.begin(), eit = globaledges.end(); it != eit; ++it)
136
136
  {
137
137
  const PAGEdge* edge = *it;
138
138
  if (edge->getEdgeKind() == PAGEdge::Addr)
@@ -153,7 +153,7 @@ void MTAAnnotator::pruneThreadLocal(PointerAnalysis* pta)
153
153
  if (!nonlocalobjs.test(*pit))
154
154
  worklist.set(*pit);
155
155
  }
156
- NodeBS fields = pag->getAllFieldsObjNode(obj);
156
+ NodeBS fields = pag->getAllFieldsObjVars(obj);
157
157
  for (NodeBS::iterator pit = fields.begin(), epit = fields.end(); pit != epit; ++pit)
158
158
  {
159
159
  if (!nonlocalobjs.test(*pit))
@@ -152,38 +152,38 @@ void PAGBuilderFromFile::addEdge(NodeID srcID, NodeID dstID,
152
152
  PAGNode* dstNode = pag->getGNode(dstID);
153
153
 
154
154
  /// sanity check for SVFIR from txt
155
- assert(SVFUtil::isa<ValPN>(dstNode) && "dst not an value node?");
155
+ assert(SVFUtil::isa<ValVar>(dstNode) && "dst not an value node?");
156
156
  if(edge=="addr")
157
- assert(SVFUtil::isa<ObjPN>(srcNode) && "src not an value node?");
157
+ assert(SVFUtil::isa<ObjVar>(srcNode) && "src not an value node?");
158
158
  else
159
- assert(!SVFUtil::isa<ObjPN>(srcNode) && "src not an object node?");
159
+ assert(!SVFUtil::isa<ObjVar>(srcNode) && "src not an object node?");
160
160
 
161
161
  if (edge == "addr")
162
162
  {
163
- pag->addAddrPE(srcID, dstID);
163
+ pag->addAddrStmt(srcID, dstID);
164
164
  }
165
165
  else if (edge == "copy")
166
- pag->addCopyPE(srcID, dstID);
166
+ pag->addCopyStmt(srcID, dstID);
167
167
  else if (edge == "load")
168
- pag->addLoadPE(srcID, dstID);
168
+ pag->addLoadStmt(srcID, dstID);
169
169
  else if (edge == "store")
170
- pag->addStorePE(srcID, dstID, nullptr);
170
+ pag->addStoreStmt(srcID, dstID, nullptr);
171
171
  else if (edge == "gep")
172
- pag->addNormalGepPE(srcID, dstID, LocationSet(offsetOrCSId));
172
+ pag->addNormalGepStmt(srcID, dstID, LocationSet(offsetOrCSId));
173
173
  else if (edge == "variant-gep")
174
- pag->addVariantGepPE(srcID, dstID);
174
+ pag->addVariantGepStmt(srcID, dstID);
175
175
  else if (edge == "call")
176
176
  pag->addEdge(srcNode, dstNode, new CallPE(srcNode, dstNode, nullptr));
177
177
  else if (edge == "ret")
178
178
  pag->addEdge(srcNode, dstNode, new RetPE(srcNode, dstNode, nullptr));
179
179
  else if (edge == "cmp")
180
- pag->addCmpPE(srcID, dstID, dstID, dstID);
180
+ pag->addCmpStmt(srcID, dstID, dstID, dstID);
181
181
  else if (edge == "binary-op")
182
- pag->addBinaryOPPE(srcID, dstID, dstID, dstID);
182
+ pag->addBinaryOPStmt(srcID, dstID, dstID, dstID);
183
183
  else if (edge == "unary-op")
184
- pag->addUnaryOPPE(srcID, dstID, dstID);
184
+ pag->addUnaryOPStmt(srcID, dstID, dstID);
185
185
  else if (edge == "phi")
186
- pag->addPhiNode(srcID, dstID);
186
+ pag->addPhiStmt(srcID, dstID);
187
187
  else if (edge == "branch"){
188
188
  assert(false && "fix successors here!");
189
189
  //pag->addBranchStmt(srcID, dstID, nullptr);
@@ -185,7 +185,7 @@ void PointerAnalysis::resetObjFieldSensitive()
185
185
  {
186
186
  for (SVFIR::iterator nIter = pag->begin(); nIter != pag->end(); ++nIter)
187
187
  {
188
- if(ObjPN* node = SVFUtil::dyn_cast<ObjPN>(nIter->second))
188
+ if(ObjVar* node = SVFUtil::dyn_cast<ObjVar>(nIter->second))
189
189
  const_cast<MemObj*>(node->getMemObj())->setFieldSensitive();
190
190
  }
191
191
  }
@@ -290,7 +290,7 @@ void PointerAnalysis::dumpAllTypes()
290
290
  nIter != this->getAllValidPtrs().end(); ++nIter)
291
291
  {
292
292
  const PAGNode* node = getPAG()->getGNode(*nIter);
293
- if (SVFUtil::isa<DummyObjPN>(node) || SVFUtil::isa<DummyValPN>(node))
293
+ if (SVFUtil::isa<DummyObjVar>(node) || SVFUtil::isa<DummyValVar>(node))
294
294
  continue;
295
295
 
296
296
  outs() << "##<" << node->getValue()->getName() << "> ";
@@ -305,18 +305,18 @@ void PointerAnalysis::dumpAllTypes()
305
305
  }
306
306
 
307
307
  /*!
308
- * Dump points-to of top-level pointers (ValPN)
308
+ * Dump points-to of top-level pointers (ValVar)
309
309
  */
310
310
  void PointerAnalysis::dumpPts(NodeID ptr, const PointsTo& pts)
311
311
  {
312
312
 
313
313
  const PAGNode* node = pag->getGNode(ptr);
314
314
  /// print the points-to set of node which has the maximum pts size.
315
- if (SVFUtil::isa<DummyObjPN> (node))
315
+ if (SVFUtil::isa<DummyObjVar> (node))
316
316
  {
317
317
  outs() << "##<Dummy Obj > id:" << node->getId();
318
318
  }
319
- else if (!SVFUtil::isa<DummyValPN>(node) && !SVFModule::pagReadFromTXT()) {
319
+ else if (!SVFUtil::isa<DummyValVar>(node) && !SVFModule::pagReadFromTXT()) {
320
320
  if (node->hasValue()) {
321
321
  outs() << "##<" << node->getValue()->getName() << "> ";
322
322
  outs() << "Source Loc: " << getSourceLoc(node->getValue());
@@ -342,14 +342,14 @@ void PointerAnalysis::dumpPts(NodeID ptr, const PointsTo& pts)
342
342
  for (PointsTo::iterator it = pts.begin(), eit = pts.end(); it != eit; ++it)
343
343
  {
344
344
  const PAGNode* node = pag->getGNode(*it);
345
- if(SVFUtil::isa<ObjPN>(node) == false)
345
+ if(SVFUtil::isa<ObjVar>(node) == false)
346
346
  continue;
347
347
  NodeID ptd = node->getId();
348
348
  outs() << "!!Target NodeID " << ptd << "\t [";
349
349
  const PAGNode* pagNode = pag->getGNode(ptd);
350
- if (SVFUtil::isa<DummyValPN>(node))
350
+ if (SVFUtil::isa<DummyValVar>(node))
351
351
  outs() << "DummyVal\n";
352
- else if (SVFUtil::isa<DummyObjPN>(node))
352
+ else if (SVFUtil::isa<DummyObjVar>(node))
353
353
  outs() << "Dummy Obj id: " << node->getId() << "]\n";
354
354
  else {
355
355
  if (!SVFModule::pagReadFromTXT()) {
@@ -445,7 +445,7 @@ void PointerAnalysis::resolveIndCalls(const CallBlockNode* cs, const PointsTo& t
445
445
  return;
446
446
  }
447
447
 
448
- if(ObjPN* objPN = SVFUtil::dyn_cast<ObjPN>(pag->getGNode(*ii)))
448
+ if(ObjVar* objPN = SVFUtil::dyn_cast<ObjVar>(pag->getGNode(*ii)))
449
449
  {
450
450
  const MemObj* obj = pag->getObject(objPN);
451
451