svf-tools 1.0.320 → 1.0.324

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 (460) 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/CHG_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  7. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +8 -8
  8. package/SVF-doxygen/html/html/ConsG_8h_source.html +15 -15
  9. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  10. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  16. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  19. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  20. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  21. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
  25. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/IRGraph_8h_source.html +7 -7
  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/PAGBuilderFromFile_8cpp_source.html +3 -3
  38. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
  39. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  40. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  41. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +7 -7
  42. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  43. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  44. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +18 -18
  45. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -5
  47. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +42 -42
  48. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +58 -58
  49. package/SVF-doxygen/html/html/SVFIR_8h_source.html +153 -154
  50. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +22 -22
  51. package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
  52. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +133 -132
  53. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
  54. package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
  55. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +78 -78
  56. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  57. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  59. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  60. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
  61. package/SVF-doxygen/html/html/VFGNode_8h_source.html +17 -17
  62. package/SVF-doxygen/html/html/VFG_8cpp_source.html +48 -48
  63. package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
  64. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  65. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +5 -5
  66. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/html/annotated.html +21 -21
  68. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  69. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +137 -0
  70. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +500 -0
  71. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
  72. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
  74. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  75. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +4 -4
  76. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +34 -34
  77. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +4 -4
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +12 -12
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +4 -4
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +8 -8
  81. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +4 -4
  82. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +8 -8
  83. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +4 -4
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +8 -8
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +4 -4
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +8 -8
  87. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +4 -4
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +11 -11
  89. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +9 -9
  90. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +4 -4
  91. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +8 -8
  92. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +4 -4
  93. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +26 -26
  94. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +155 -0
  95. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +756 -0
  96. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
  97. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +20 -19
  98. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +33 -31
  99. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  100. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode-members.html +8 -8
  101. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +6 -6
  102. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +20 -19
  103. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -22
  104. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
  106. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
  107. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
  108. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
  109. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
  111. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
  112. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
  113. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +75 -22
  114. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +479 -93
  115. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
  116. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +11 -11
  118. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +5 -5
  119. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +46 -46
  120. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  121. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  122. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +4 -4
  123. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +17 -17
  124. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +57 -21
  125. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +253 -89
  126. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
  127. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
  129. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  131. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -10
  132. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +19 -19
  133. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +27 -27
  134. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
  135. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
  136. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
  137. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
  138. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
  140. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
  141. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
  142. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
  143. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +4 -4
  144. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +8 -8
  145. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +4 -4
  146. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +15 -15
  147. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +4 -4
  148. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +25 -25
  149. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +8 -8
  150. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +8 -8
  151. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +26 -26
  152. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode-members.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +6 -6
  154. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode-members.html +6 -6
  155. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +6 -6
  156. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
  158. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  159. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
  160. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  161. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +12 -12
  162. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +61 -61
  163. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
  164. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +57 -22
  165. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +259 -118
  166. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  167. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
  169. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode-members.html +6 -6
  173. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +6 -6
  174. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +6 -6
  175. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +22 -22
  176. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
  177. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +8 -8
  179. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +43 -43
  180. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode-members.html +6 -6
  181. package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode.html +6 -6
  182. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +20 -20
  183. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +27 -27
  184. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode-members.html +6 -6
  185. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +6 -6
  186. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +20 -20
  187. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +27 -27
  188. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +6 -6
  189. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
  191. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +57 -21
  192. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +253 -89
  193. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
  194. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
  196. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +23 -23
  197. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +147 -147
  198. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  199. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +25 -25
  200. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +102 -102
  201. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +24 -23
  202. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +36 -34
  203. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  204. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +142 -0
  205. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +649 -0
  206. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
  207. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
  208. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
  209. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  210. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +5 -5
  211. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +13 -13
  212. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +15 -15
  213. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +8 -8
  214. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +74 -22
  215. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +447 -98
  216. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
  217. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +4 -4
  218. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +53 -53
  219. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode-members.html +7 -7
  220. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +6 -6
  221. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +20 -19
  222. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -22
  223. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +8 -8
  224. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +24 -24
  225. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +56 -56
  226. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +58 -58
  227. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +68 -68
  228. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +36 -36
  229. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +132 -133
  230. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +730 -748
  231. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +12 -12
  232. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +180 -180
  233. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +23 -22
  234. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +57 -39
  235. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  236. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +8 -8
  237. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +82 -82
  238. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  239. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +9 -9
  240. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +4 -4
  242. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +8 -8
  243. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
  244. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
  245. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +57 -21
  246. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +260 -89
  247. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
  248. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
  250. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +23 -22
  251. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -16
  252. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +23 -22
  253. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -16
  254. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  255. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +10 -10
  257. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +28 -28
  258. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +147 -0
  259. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +794 -0
  260. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
  261. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +42 -42
  262. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +145 -145
  263. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
  264. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
  265. package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
  266. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +8 -8
  267. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +24 -24
  268. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +139 -0
  269. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +544 -0
  270. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
  271. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +4 -4
  272. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +16 -16
  273. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
  274. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
  275. package/SVF-doxygen/html/html/classes.html +18 -18
  276. package/SVF-doxygen/html/html/functions_a.html +55 -55
  277. package/SVF-doxygen/html/html/functions_b.html +2 -2
  278. package/SVF-doxygen/html/html/functions_c.html +52 -57
  279. package/SVF-doxygen/html/html/functions_d.html +4 -4
  280. package/SVF-doxygen/html/html/functions_f.html +5 -5
  281. package/SVF-doxygen/html/html/functions_func.html +54 -54
  282. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  283. package/SVF-doxygen/html/html/functions_func_c.html +30 -30
  284. package/SVF-doxygen/html/html/functions_func_d.html +4 -4
  285. package/SVF-doxygen/html/html/functions_func_f.html +2 -2
  286. package/SVF-doxygen/html/html/functions_func_g.html +107 -105
  287. package/SVF-doxygen/html/html/functions_func_h.html +6 -6
  288. package/SVF-doxygen/html/html/functions_func_l.html +3 -3
  289. package/SVF-doxygen/html/html/functions_func_n.html +2 -2
  290. package/SVF-doxygen/html/html/functions_func_o.html +15 -15
  291. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  292. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  293. package/SVF-doxygen/html/html/functions_func_t.html +20 -20
  294. package/SVF-doxygen/html/html/functions_func_u.html +2 -2
  295. package/SVF-doxygen/html/html/functions_func_v.html +5 -5
  296. package/SVF-doxygen/html/html/functions_g.html +123 -121
  297. package/SVF-doxygen/html/html/functions_h.html +6 -6
  298. package/SVF-doxygen/html/html/functions_i.html +15 -15
  299. package/SVF-doxygen/html/html/functions_k.html +9 -0
  300. package/SVF-doxygen/html/html/functions_l.html +11 -11
  301. package/SVF-doxygen/html/html/functions_m.html +1 -1
  302. package/SVF-doxygen/html/html/functions_n.html +2 -2
  303. package/SVF-doxygen/html/html/functions_o.html +32 -35
  304. package/SVF-doxygen/html/html/functions_p.html +34 -51
  305. package/SVF-doxygen/html/html/functions_r.html +1 -1
  306. package/SVF-doxygen/html/html/functions_s.html +32 -16
  307. package/SVF-doxygen/html/html/functions_t.html +24 -24
  308. package/SVF-doxygen/html/html/functions_type_c.html +1 -4
  309. package/SVF-doxygen/html/html/functions_type_f.html +2 -2
  310. package/SVF-doxygen/html/html/functions_type_g.html +2 -2
  311. package/SVF-doxygen/html/html/functions_type_i.html +3 -3
  312. package/SVF-doxygen/html/html/functions_type_k.html +3 -0
  313. package/SVF-doxygen/html/html/functions_type_l.html +3 -3
  314. package/SVF-doxygen/html/html/functions_type_p.html +3 -19
  315. package/SVF-doxygen/html/html/functions_type_s.html +19 -3
  316. package/SVF-doxygen/html/html/functions_type_v.html +1 -1
  317. package/SVF-doxygen/html/html/functions_u.html +2 -2
  318. package/SVF-doxygen/html/html/functions_v.html +10 -10
  319. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  320. package/SVF-doxygen/html/html/functions_vars_g.html +8 -8
  321. package/SVF-doxygen/html/html/functions_vars_i.html +9 -9
  322. package/SVF-doxygen/html/html/functions_vars_k.html +6 -0
  323. package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
  324. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  325. package/SVF-doxygen/html/html/functions_vars_o.html +3 -4
  326. package/SVF-doxygen/html/html/functions_vars_p.html +4 -7
  327. package/SVF-doxygen/html/html/functions_w.html +5 -9
  328. package/SVF-doxygen/html/html/hierarchy.html +65 -65
  329. package/SVF-doxygen/html/html/namespaceSVF.html +24 -24
  330. package/SVF-doxygen/html/html/search/all_1.js +39 -39
  331. package/SVF-doxygen/html/html/search/all_10.js +12 -17
  332. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  333. package/SVF-doxygen/html/html/search/all_13.js +15 -11
  334. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  335. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  336. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  337. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  338. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  339. package/SVF-doxygen/html/html/search/all_3.js +8 -9
  340. package/SVF-doxygen/html/html/search/all_4.js +2 -2
  341. package/SVF-doxygen/html/html/search/all_6.js +4 -4
  342. package/SVF-doxygen/html/html/search/all_7.js +54 -53
  343. package/SVF-doxygen/html/html/search/all_8.js +2 -2
  344. package/SVF-doxygen/html/html/search/all_9.js +4 -4
  345. package/SVF-doxygen/html/html/search/all_b.js +3 -0
  346. package/SVF-doxygen/html/html/search/all_c.js +7 -7
  347. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  348. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  349. package/SVF-doxygen/html/html/search/all_f.js +6 -6
  350. package/SVF-doxygen/html/html/search/classes_0.js +1 -1
  351. package/SVF-doxygen/html/html/search/classes_1.js +1 -1
  352. package/SVF-doxygen/html/html/search/classes_11.js +1 -1
  353. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  354. package/SVF-doxygen/html/html/search/classes_2.js +5 -5
  355. package/SVF-doxygen/html/html/search/classes_3.js +2 -2
  356. package/SVF-doxygen/html/html/search/classes_5.js +1 -1
  357. package/SVF-doxygen/html/html/search/classes_6.js +2 -2
  358. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  359. package/SVF-doxygen/html/html/search/classes_b.js +1 -1
  360. package/SVF-doxygen/html/html/search/classes_c.js +1 -1
  361. package/SVF-doxygen/html/html/search/classes_d.js +1 -1
  362. package/SVF-doxygen/html/html/search/classes_f.js +1 -1
  363. package/SVF-doxygen/html/html/search/functions_0.js +39 -39
  364. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  365. package/SVF-doxygen/html/html/search/functions_10.js +4 -4
  366. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  367. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  368. package/SVF-doxygen/html/html/search/functions_13.js +2 -2
  369. package/SVF-doxygen/html/html/search/functions_2.js +7 -7
  370. package/SVF-doxygen/html/html/search/functions_3.js +2 -2
  371. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  372. package/SVF-doxygen/html/html/search/functions_6.js +49 -48
  373. package/SVF-doxygen/html/html/search/functions_7.js +2 -2
  374. package/SVF-doxygen/html/html/search/functions_a.js +3 -3
  375. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  376. package/SVF-doxygen/html/html/search/functions_d.js +2 -2
  377. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  378. package/SVF-doxygen/html/html/search/typedefs_11.js +7 -3
  379. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  380. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -2
  381. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
  382. package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
  383. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  384. package/SVF-doxygen/html/html/search/typedefs_a.js +2 -1
  385. package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
  386. package/SVF-doxygen/html/html/search/typedefs_f.js +3 -7
  387. package/SVF-doxygen/html/html/search/variables_10.js +2 -3
  388. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  389. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  390. package/SVF-doxygen/html/html/search/variables_7.js +4 -4
  391. package/SVF-doxygen/html/html/search/variables_9.js +4 -4
  392. package/SVF-doxygen/html/html/search/variables_b.js +3 -1
  393. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  394. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  395. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  396. package/SVF-doxygen/html/html/search/variables_f.js +2 -2
  397. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
  398. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
  399. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +4 -4
  400. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
  401. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
  402. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
  403. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  404. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  405. package/include/DDA/ContextDDA.h +1 -1
  406. package/include/DDA/FlowDDA.h +1 -1
  407. package/include/Graphs/CHG.h +2 -2
  408. package/include/Graphs/ConsG.h +10 -10
  409. package/include/Graphs/ICFGNode.h +4 -4
  410. package/include/Graphs/IRGraph.h +7 -7
  411. package/include/Graphs/VFG.h +13 -13
  412. package/include/Graphs/VFGNode.h +6 -6
  413. package/include/MSSA/MSSAMuChi.h +6 -6
  414. package/include/MSSA/MemRegion.h +11 -11
  415. package/include/MSSA/MemSSA.h +11 -11
  416. package/include/MemoryModel/PointerAnalysis.h +9 -9
  417. package/include/MemoryModel/PointerAnalysisImpl.h +4 -4
  418. package/include/MemoryModel/SVFIR.h +82 -83
  419. package/include/MemoryModel/SVFStatements.h +97 -92
  420. package/include/MemoryModel/SVFVariables.h +71 -71
  421. package/include/SVF-FE/SVFIRBuilder.h +24 -24
  422. package/include/Util/IRAnnotator.h +1 -1
  423. package/include/Util/TypeBasedHeapCloning.h +2 -2
  424. package/include/WPA/Andersen.h +1 -1
  425. package/include/WPA/FlowSensitiveTBHC.h +1 -1
  426. package/lib/DDA/ContextDDA.cpp +6 -6
  427. package/lib/DDA/DDAClient.cpp +6 -6
  428. package/lib/DDA/DDAStat.cpp +2 -2
  429. package/lib/DDA/FlowDDA.cpp +4 -4
  430. package/lib/Graphs/ConsG.cpp +34 -34
  431. package/lib/Graphs/ICFG.cpp +4 -4
  432. package/lib/Graphs/IRGraph.cpp +21 -21
  433. package/lib/Graphs/OfflineConsG.cpp +8 -8
  434. package/lib/Graphs/SVFG.cpp +14 -14
  435. package/lib/Graphs/ThreadCallGraph.cpp +2 -2
  436. package/lib/Graphs/VFG.cpp +52 -52
  437. package/lib/MSSA/MemRegion.cpp +23 -23
  438. package/lib/MSSA/MemSSA.cpp +15 -15
  439. package/lib/MTA/MTAAnnotator.cpp +5 -5
  440. package/lib/MemoryModel/PAGBuilderFromFile.cpp +13 -13
  441. package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
  442. package/lib/MemoryModel/PointerAnalysisImpl.cpp +14 -14
  443. package/lib/MemoryModel/SVFIR.cpp +95 -95
  444. package/lib/MemoryModel/SVFStatements.cpp +24 -24
  445. package/lib/MemoryModel/SVFVariables.cpp +19 -19
  446. package/lib/SABER/LeakChecker.cpp +2 -2
  447. package/lib/SABER/SaberSVFGBuilder.cpp +5 -5
  448. package/lib/SVF-FE/Graph2Json.cpp +3 -3
  449. package/lib/SVF-FE/SVFIRBuilder.cpp +22 -22
  450. package/lib/Util/PTAStat.cpp +8 -8
  451. package/lib/Util/TypeBasedHeapCloning.cpp +22 -22
  452. package/lib/WPA/Andersen.cpp +13 -13
  453. package/lib/WPA/AndersenSFR.cpp +2 -2
  454. package/lib/WPA/AndersenStat.cpp +6 -6
  455. package/lib/WPA/FlowSensitive.cpp +8 -8
  456. package/lib/WPA/FlowSensitiveStat.cpp +4 -4
  457. package/lib/WPA/FlowSensitiveTBHC.cpp +9 -9
  458. package/lib/WPA/VersionedFlowSensitive.cpp +2 -2
  459. package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
  460. package/package.json +1 -1
@@ -208,7 +208,7 @@ void DDAStat::performStat()
208
208
  for (SVFIR::const_iterator nodeIt = SVFIR::getPAG()->begin(), nodeEit = SVFIR::getPAG()->end(); nodeIt != nodeEit; nodeIt++)
209
209
  {
210
210
  PAGNode* pagNode = nodeIt->second;
211
- if(SVFUtil::isa<ObjPN>(pagNode))
211
+ if(SVFUtil::isa<ObjVar>(pagNode))
212
212
  {
213
213
  if(getPTA()->isLocalVarInRecursiveFun(nodeIt->first))
214
214
  {
@@ -242,7 +242,7 @@ void DDAStat::performStat()
242
242
  PTNumStatMap["PointsToBlkPtr"] = _NumOfBlackholePtr;
243
243
  PTNumStatMap["NumOfMustAA"] = _TotalNumOfMustAliases;
244
244
  PTNumStatMap["NumOfInfePath"] = _TotalNumOfInfeasiblePath;
245
- PTNumStatMap["NumOfStore"] = SVFIR::getPAG()->getPTAEdgeSet(PAGEdge::Store).size();
245
+ PTNumStatMap["NumOfStore"] = SVFIR::getPAG()->getPTASVFStmtSet(PAGEdge::Store).size();
246
246
  PTNumStatMap["MemoryUsageVmrss"] = _vmrssUsageAfter - _vmrssUsageBefore;
247
247
  PTNumStatMap["MemoryUsageVmsize"] = _vmsizeUsageAfter - _vmsizeUsageBefore;
248
248
 
@@ -126,14 +126,14 @@ PointsTo FlowDDA::processGepPts(const GepSVFGNode* gep, const PointsTo& srcPts)
126
126
  tmpDstPts.set(ptd);
127
127
  else
128
128
  {
129
- if (SVFUtil::isa<VariantGepPE>(gep->getPAGEdge()))
129
+ if (SVFUtil::isa<VariantGepStmt>(gep->getPAGEdge()))
130
130
  {
131
131
  setObjFieldInsensitive(ptd);
132
- tmpDstPts.set(getFIObjNode(ptd));
132
+ tmpDstPts.set(getFIObjVar(ptd));
133
133
  }
134
- else if (const NormalGepPE* normalGep = SVFUtil::dyn_cast<NormalGepPE>(gep->getPAGEdge()))
134
+ else if (const NormalGepStmt* normalGep = SVFUtil::dyn_cast<NormalGepStmt>(gep->getPAGEdge()))
135
135
  {
136
- NodeID fieldSrcPtdNode = getGepObjNode(ptd, normalGep->getLocationSet());
136
+ NodeID fieldSrcPtdNode = getGepObjVar(ptd, normalGep->getLocationSet());
137
137
  tmpDstPts.set(fieldSrcPtdNode);
138
138
  }
139
139
  else
@@ -49,89 +49,89 @@ void ConstraintGraph::buildCG()
49
49
  }
50
50
 
51
51
  // initialize edges
52
- PAGEdge::PAGEdgeSetTy& addrs = getPAGEdgeSet(PAGEdge::Addr);
53
- for (PAGEdge::PAGEdgeSetTy::iterator iter = addrs.begin(), eiter =
52
+ PAGEdge::SVFStmtSetTy& addrs = getPAGEdgeSet(PAGEdge::Addr);
53
+ for (PAGEdge::SVFStmtSetTy::iterator iter = addrs.begin(), eiter =
54
54
  addrs.end(); iter != eiter; ++iter)
55
55
  {
56
56
  PAGEdge* edge = *iter;
57
57
  addAddrCGEdge(edge->getSrcID(),edge->getDstID());
58
58
  }
59
59
 
60
- PAGEdge::PAGEdgeSetTy& copys = getPAGEdgeSet(PAGEdge::Copy);
61
- for (PAGEdge::PAGEdgeSetTy::iterator iter = copys.begin(), eiter =
60
+ PAGEdge::SVFStmtSetTy& copys = getPAGEdgeSet(PAGEdge::Copy);
61
+ for (PAGEdge::SVFStmtSetTy::iterator iter = copys.begin(), eiter =
62
62
  copys.end(); iter != eiter; ++iter)
63
63
  {
64
64
  PAGEdge* edge = *iter;
65
65
  addCopyCGEdge(edge->getSrcID(),edge->getDstID());
66
66
  }
67
67
 
68
- PAGEdge::PAGEdgeSetTy& phis = getPAGEdgeSet(PAGEdge::Phi);
69
- for (PAGEdge::PAGEdgeSetTy::iterator iter = phis.begin(), eiter =
68
+ PAGEdge::SVFStmtSetTy& phis = getPAGEdgeSet(PAGEdge::Phi);
69
+ for (PAGEdge::SVFStmtSetTy::iterator iter = phis.begin(), eiter =
70
70
  phis.end(); iter != eiter; ++iter)
71
71
  {
72
- const PhiPE* edge = SVFUtil::cast<PhiPE>(*iter);
72
+ const PhiStmt* edge = SVFUtil::cast<PhiStmt>(*iter);
73
73
  for(const auto opVar : edge->getOpndVars())
74
74
  addCopyCGEdge(opVar->getId(),edge->getResID());
75
75
  }
76
76
 
77
- PAGEdge::PAGEdgeSetTy& calls = getPAGEdgeSet(PAGEdge::Call);
78
- for (PAGEdge::PAGEdgeSetTy::iterator iter = calls.begin(), eiter =
77
+ PAGEdge::SVFStmtSetTy& calls = getPAGEdgeSet(PAGEdge::Call);
78
+ for (PAGEdge::SVFStmtSetTy::iterator iter = calls.begin(), eiter =
79
79
  calls.end(); iter != eiter; ++iter)
80
80
  {
81
81
  PAGEdge* edge = *iter;
82
82
  addCopyCGEdge(edge->getSrcID(),edge->getDstID());
83
83
  }
84
84
 
85
- PAGEdge::PAGEdgeSetTy& rets = getPAGEdgeSet(PAGEdge::Ret);
86
- for (PAGEdge::PAGEdgeSetTy::iterator iter = rets.begin(), eiter =
85
+ PAGEdge::SVFStmtSetTy& rets = getPAGEdgeSet(PAGEdge::Ret);
86
+ for (PAGEdge::SVFStmtSetTy::iterator iter = rets.begin(), eiter =
87
87
  rets.end(); iter != eiter; ++iter)
88
88
  {
89
89
  PAGEdge* edge = *iter;
90
90
  addCopyCGEdge(edge->getSrcID(),edge->getDstID());
91
91
  }
92
92
 
93
- PAGEdge::PAGEdgeSetTy& tdfks = getPAGEdgeSet(PAGEdge::ThreadFork);
94
- for (PAGEdge::PAGEdgeSetTy::iterator iter = tdfks.begin(), eiter =
93
+ PAGEdge::SVFStmtSetTy& tdfks = getPAGEdgeSet(PAGEdge::ThreadFork);
94
+ for (PAGEdge::SVFStmtSetTy::iterator iter = tdfks.begin(), eiter =
95
95
  tdfks.end(); iter != eiter; ++iter)
96
96
  {
97
97
  PAGEdge* edge = *iter;
98
98
  addCopyCGEdge(edge->getSrcID(),edge->getDstID());
99
99
  }
100
100
 
101
- PAGEdge::PAGEdgeSetTy& tdjns = getPAGEdgeSet(PAGEdge::ThreadJoin);
102
- for (PAGEdge::PAGEdgeSetTy::iterator iter = tdjns.begin(), eiter =
101
+ PAGEdge::SVFStmtSetTy& tdjns = getPAGEdgeSet(PAGEdge::ThreadJoin);
102
+ for (PAGEdge::SVFStmtSetTy::iterator iter = tdjns.begin(), eiter =
103
103
  tdjns.end(); iter != eiter; ++iter)
104
104
  {
105
105
  PAGEdge* edge = *iter;
106
106
  addCopyCGEdge(edge->getSrcID(),edge->getDstID());
107
107
  }
108
108
 
109
- PAGEdge::PAGEdgeSetTy& ngeps = getPAGEdgeSet(PAGEdge::NormalGep);
110
- for (PAGEdge::PAGEdgeSetTy::iterator iter = ngeps.begin(), eiter =
109
+ PAGEdge::SVFStmtSetTy& ngeps = getPAGEdgeSet(PAGEdge::NormalGep);
110
+ for (PAGEdge::SVFStmtSetTy::iterator iter = ngeps.begin(), eiter =
111
111
  ngeps.end(); iter != eiter; ++iter)
112
112
  {
113
- NormalGepPE* edge = SVFUtil::cast<NormalGepPE>(*iter);
113
+ NormalGepStmt* edge = SVFUtil::cast<NormalGepStmt>(*iter);
114
114
  addNormalGepCGEdge(edge->getSrcID(),edge->getDstID(),edge->getLocationSet());
115
115
  }
116
116
 
117
- PAGEdge::PAGEdgeSetTy& vgeps = getPAGEdgeSet(PAGEdge::VariantGep);
118
- for (PAGEdge::PAGEdgeSetTy::iterator iter = vgeps.begin(), eiter =
117
+ PAGEdge::SVFStmtSetTy& vgeps = getPAGEdgeSet(PAGEdge::VariantGep);
118
+ for (PAGEdge::SVFStmtSetTy::iterator iter = vgeps.begin(), eiter =
119
119
  vgeps.end(); iter != eiter; ++iter)
120
120
  {
121
- VariantGepPE* edge = SVFUtil::cast<VariantGepPE>(*iter);
121
+ VariantGepStmt* edge = SVFUtil::cast<VariantGepStmt>(*iter);
122
122
  addVariantGepCGEdge(edge->getSrcID(),edge->getDstID());
123
123
  }
124
124
 
125
- PAGEdge::PAGEdgeSetTy& stores = getPAGEdgeSet(PAGEdge::Load);
126
- for (PAGEdge::PAGEdgeSetTy::iterator iter = stores.begin(), eiter =
125
+ PAGEdge::SVFStmtSetTy& stores = getPAGEdgeSet(PAGEdge::Load);
126
+ for (PAGEdge::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
127
127
  stores.end(); iter != eiter; ++iter)
128
128
  {
129
129
  PAGEdge* edge = *iter;
130
130
  addLoadCGEdge(edge->getSrcID(),edge->getDstID());
131
131
  }
132
132
 
133
- PAGEdge::PAGEdgeSetTy& loads = getPAGEdgeSet(PAGEdge::Store);
134
- for (PAGEdge::PAGEdgeSetTy::iterator iter = loads.begin(), eiter =
133
+ PAGEdge::SVFStmtSetTy& loads = getPAGEdgeSet(PAGEdge::Store);
134
+ for (PAGEdge::SVFStmtSetTy::iterator iter = loads.begin(), eiter =
135
135
  loads.end(); iter != eiter; ++iter)
136
136
  {
137
137
  PAGEdge* edge = *iter;
@@ -156,7 +156,7 @@ AddrCGEdge::AddrCGEdge(ConstraintNode* s, ConstraintNode* d, EdgeID id)
156
156
  // Retarget addr edges may lead s to be a dummy node
157
157
  PAGNode* node = SVFIR::getPAG()->getGNode(s->getId());
158
158
  if (!SVFModule::pagReadFromTXT())
159
- assert(!SVFUtil::isa<DummyValPN>(node) && "a dummy node??");
159
+ assert(!SVFUtil::isa<DummyValVar>(node) && "a dummy node??");
160
160
  }
161
161
 
162
162
  /*!
@@ -643,7 +643,7 @@ struct DOTGraphTraits<ConstraintGraph*> : public DOTGraphTraits<SVFIR*>
643
643
 
644
644
  if (briefDisplay)
645
645
  {
646
- if (SVFUtil::isa<ValPN>(node))
646
+ if (SVFUtil::isa<ValVar>(node))
647
647
  {
648
648
  if (nameDisplay)
649
649
  rawstr << node->getId() << ":" << node->getValueName();
@@ -656,7 +656,7 @@ struct DOTGraphTraits<ConstraintGraph*> : public DOTGraphTraits<SVFIR*>
656
656
  else
657
657
  {
658
658
  // print the whole value
659
- if (!SVFUtil::isa<DummyValPN>(node) && !SVFUtil::isa<DummyObjPN>(node))
659
+ if (!SVFUtil::isa<DummyValVar>(node) && !SVFUtil::isa<DummyObjVar>(node))
660
660
  rawstr << node->getId() << ":" << value2String(node->getValue());
661
661
  else
662
662
  rawstr << node->getId() << ":";
@@ -669,22 +669,22 @@ struct DOTGraphTraits<ConstraintGraph*> : public DOTGraphTraits<SVFIR*>
669
669
  static std::string getNodeAttributes(NodeType *n, ConstraintGraph*)
670
670
  {
671
671
  PAGNode* node = SVFIR::getPAG()->getGNode(n->getId());
672
- if (SVFUtil::isa<ValPN>(node))
672
+ if (SVFUtil::isa<ValVar>(node))
673
673
  {
674
- if(SVFUtil::isa<GepValPN>(node))
674
+ if(SVFUtil::isa<GepValVar>(node))
675
675
  return "shape=hexagon";
676
- else if (SVFUtil::isa<DummyValPN>(node))
676
+ else if (SVFUtil::isa<DummyValVar>(node))
677
677
  return "shape=diamond";
678
678
  else
679
679
  return "shape=box";
680
680
  }
681
- else if (SVFUtil::isa<ObjPN>(node))
681
+ else if (SVFUtil::isa<ObjVar>(node))
682
682
  {
683
683
  if(SVFUtil::isa<GepObjPN>(node))
684
684
  return "shape=doubleoctagon";
685
- else if(SVFUtil::isa<FIObjPN>(node))
685
+ else if(SVFUtil::isa<FIObjVar>(node))
686
686
  return "shape=box3d";
687
- else if (SVFUtil::isa<DummyObjPN>(node))
687
+ else if (SVFUtil::isa<DummyObjVar>(node))
688
688
  return "shape=tab";
689
689
  else
690
690
  return "shape=component";
@@ -472,11 +472,11 @@ struct DOTGraphTraits<ICFG*> : public DOTGraphTraits<SVFIR*>
472
472
  if (IntraBlockNode* bNode = SVFUtil::dyn_cast<IntraBlockNode>(node))
473
473
  {
474
474
  rawstr << "IntraBlockNode ID: " << bNode->getId() << " \t";
475
- SVFIR::PAGEdgeList& edges = SVFIR::getPAG()->getInstPTAPAGEdgeList(bNode);
475
+ SVFIR::SVFStmtList& edges = SVFIR::getPAG()->getPTASVFStmtList(bNode);
476
476
  if (edges.empty()) {
477
477
  rawstr << value2String(bNode->getInst()) << " \t";
478
478
  } else {
479
- for (SVFIR::PAGEdgeList::iterator it = edges.begin(), eit = edges.end(); it != eit; ++it)
479
+ for (SVFIR::SVFStmtList::iterator it = edges.begin(), eit = edges.end(); it != eit; ++it)
480
480
  {
481
481
  const PAGEdge* edge = *it;
482
482
  rawstr << edge->toString();
@@ -502,8 +502,8 @@ struct DOTGraphTraits<ICFG*> : public DOTGraphTraits<SVFIR*>
502
502
  }
503
503
  else if (GlobalBlockNode* glob = SVFUtil::dyn_cast<GlobalBlockNode>(node) )
504
504
  {
505
- SVFIR::PAGEdgeList& edges = SVFIR::getPAG()->getInstPTAPAGEdgeList(glob);
506
- for (SVFIR::PAGEdgeList::iterator it = edges.begin(), eit = edges.end(); it != eit; ++it)
505
+ SVFIR::SVFStmtList& edges = SVFIR::getPAG()->getPTASVFStmtList(glob);
506
+ for (SVFIR::SVFStmtList::iterator it = edges.begin(), eit = edges.end(); it != eit; ++it)
507
507
  {
508
508
  const PAGEdge* edge = *it;
509
509
  rawstr << edge->toString();
@@ -57,8 +57,8 @@ bool IRGraph::addEdge(SVFVar* src, SVFVar* dst, SVFStmt* edge)
57
57
  SVFStmt* IRGraph::hasNonlabeledEdge(SVFVar* src, SVFVar* dst, SVFStmt::PEDGEK kind)
58
58
  {
59
59
  SVFStmt edge(src,dst,kind);
60
- SVFStmt::PAGEdgeSetTy::iterator it = PAGEdgeKindToSetMap[kind].find(&edge);
61
- if (it != PAGEdgeKindToSetMap[kind].end())
60
+ SVFStmt::SVFStmtSetTy::iterator it = KindToSVFStmtSetMap[kind].find(&edge);
61
+ if (it != KindToSVFStmtSetMap[kind].end())
62
62
  {
63
63
  return *it;
64
64
  }
@@ -71,8 +71,8 @@ SVFStmt* IRGraph::hasNonlabeledEdge(SVFVar* src, SVFVar* dst, SVFStmt::PEDGEK ki
71
71
  SVFStmt* IRGraph::hasLabeledEdge(SVFVar* src, SVFVar* op1, SVFStmt::PEDGEK kind, const SVFVar* op2)
72
72
  {
73
73
  SVFStmt edge(src,op1,SVFStmt::makeEdgeFlagWithAddionalOpnd(kind,op2));
74
- SVFStmt::PAGEdgeSetTy::iterator it = PAGEdgeKindToSetMap[kind].find(&edge);
75
- if (it != PAGEdgeKindToSetMap[kind].end())
74
+ SVFStmt::SVFStmtSetTy::iterator it = KindToSVFStmtSetMap[kind].find(&edge);
75
+ if (it != KindToSVFStmtSetMap[kind].end())
76
76
  {
77
77
  return *it;
78
78
  }
@@ -85,8 +85,8 @@ SVFStmt* IRGraph::hasLabeledEdge(SVFVar* src, SVFVar* op1, SVFStmt::PEDGEK kind,
85
85
  SVFStmt* IRGraph::hasLabeledEdge(SVFVar* src, SVFVar* dst, SVFStmt::PEDGEK kind, const ICFGNode* callInst)
86
86
  {
87
87
  SVFStmt edge(src,dst,SVFStmt::makeEdgeFlagWithCallInst(kind,callInst));
88
- SVFStmt::PAGEdgeSetTy::iterator it = PAGEdgeKindToSetMap[kind].find(&edge);
89
- if (it != PAGEdgeKindToSetMap[kind].end())
88
+ SVFStmt::SVFStmtSetTy::iterator it = KindToSVFStmtSetMap[kind].find(&edge);
89
+ if (it != KindToSVFStmtSetMap[kind].end())
90
90
  {
91
91
  return *it;
92
92
  }
@@ -160,22 +160,22 @@ struct DOTGraphTraits<IRGraph*> : public DefaultDOTGraphTraits
160
160
 
161
161
  static std::string getNodeAttributes(SVFVar *node, IRGraph*)
162
162
  {
163
- if (SVFUtil::isa<ValPN>(node))
163
+ if (SVFUtil::isa<ValVar>(node))
164
164
  {
165
- if(SVFUtil::isa<GepValPN>(node))
165
+ if(SVFUtil::isa<GepValVar>(node))
166
166
  return "shape=hexagon";
167
- else if (SVFUtil::isa<DummyValPN>(node))
167
+ else if (SVFUtil::isa<DummyValVar>(node))
168
168
  return "shape=diamond";
169
169
  else
170
170
  return "shape=box";
171
171
  }
172
- else if (SVFUtil::isa<ObjPN>(node))
172
+ else if (SVFUtil::isa<ObjVar>(node))
173
173
  {
174
174
  if(SVFUtil::isa<GepObjPN>(node))
175
175
  return "shape=doubleoctagon";
176
- else if(SVFUtil::isa<FIObjPN>(node))
176
+ else if(SVFUtil::isa<FIObjVar>(node))
177
177
  return "shape=box3d";
178
- else if (SVFUtil::isa<DummyObjPN>(node))
178
+ else if (SVFUtil::isa<DummyObjVar>(node))
179
179
  return "shape=tab";
180
180
  else
181
181
  return "shape=component";
@@ -200,39 +200,39 @@ struct DOTGraphTraits<IRGraph*> : public DefaultDOTGraphTraits
200
200
  {
201
201
  const SVFStmt* edge = *(EI.getCurrent());
202
202
  assert(edge && "No edge found!!");
203
- if (SVFUtil::isa<AddrPE>(edge))
203
+ if (SVFUtil::isa<AddrStmt>(edge))
204
204
  {
205
205
  return "color=green";
206
206
  }
207
- else if (SVFUtil::isa<CopyPE>(edge))
207
+ else if (SVFUtil::isa<CopyStmt>(edge))
208
208
  {
209
209
  return "color=black";
210
210
  }
211
- else if (SVFUtil::isa<GepPE>(edge))
211
+ else if (SVFUtil::isa<GepStmt>(edge))
212
212
  {
213
213
  return "color=purple";
214
214
  }
215
- else if (SVFUtil::isa<StorePE>(edge))
215
+ else if (SVFUtil::isa<StoreStmt>(edge))
216
216
  {
217
217
  return "color=blue";
218
218
  }
219
- else if (SVFUtil::isa<LoadPE>(edge))
219
+ else if (SVFUtil::isa<LoadStmt>(edge))
220
220
  {
221
221
  return "color=red";
222
222
  }
223
- else if (SVFUtil::isa<PhiPE>(edge))
223
+ else if (SVFUtil::isa<PhiStmt>(edge))
224
224
  {
225
225
  return "color=grey";
226
226
  }
227
- else if (SVFUtil::isa<CmpPE>(edge))
227
+ else if (SVFUtil::isa<CmpStmt>(edge))
228
228
  {
229
229
  return "color=grey";
230
230
  }
231
- else if (SVFUtil::isa<BinaryOPPE>(edge))
231
+ else if (SVFUtil::isa<BinaryOPStmt>(edge))
232
232
  {
233
233
  return "color=grey";
234
234
  }
235
- else if (SVFUtil::isa<UnaryOPPE>(edge))
235
+ else if (SVFUtil::isa<UnaryOPStmt>(edge))
236
236
  {
237
237
  return "color=grey";
238
238
  }
@@ -209,7 +209,7 @@ struct DOTGraphTraits<OfflineConsG*> : public DOTGraphTraits<SVFIR*>
209
209
 
210
210
  if (briefDisplay)
211
211
  {
212
- if (SVFUtil::isa<ValPN>(node))
212
+ if (SVFUtil::isa<ValVar>(node))
213
213
  {
214
214
  if (nameDisplay)
215
215
  rawstr << node->getId() << ":" << node->getValueName();
@@ -222,7 +222,7 @@ struct DOTGraphTraits<OfflineConsG*> : public DOTGraphTraits<SVFIR*>
222
222
  else
223
223
  {
224
224
  // print the whole value
225
- if (!SVFUtil::isa<DummyValPN>(node) && !SVFUtil::isa<DummyObjPN>(node))
225
+ if (!SVFUtil::isa<DummyValVar>(node) && !SVFUtil::isa<DummyObjVar>(node))
226
226
  rawstr << *node->getValue();
227
227
  else
228
228
  rawstr << "";
@@ -243,22 +243,22 @@ struct DOTGraphTraits<OfflineConsG*> : public DOTGraphTraits<SVFIR*>
243
243
  if (SVFIR::getPAG()->getGNode(n->getId()))
244
244
  {
245
245
  PAGNode *node = SVFIR::getPAG()->getGNode(n->getId());
246
- if (SVFUtil::isa<ValPN>(node))
246
+ if (SVFUtil::isa<ValVar>(node))
247
247
  {
248
- if(SVFUtil::isa<GepValPN>(node))
248
+ if(SVFUtil::isa<GepValVar>(node))
249
249
  return "shape=hexagon";
250
- else if (SVFUtil::isa<DummyValPN>(node))
250
+ else if (SVFUtil::isa<DummyValVar>(node))
251
251
  return "shape=diamond";
252
252
  else
253
253
  return "shape=box";
254
254
  }
255
- else if (SVFUtil::isa<ObjPN>(node))
255
+ else if (SVFUtil::isa<ObjVar>(node))
256
256
  {
257
257
  if(SVFUtil::isa<GepObjPN>(node))
258
258
  return "shape=doubleoctagon";
259
- else if(SVFUtil::isa<FIObjPN>(node))
259
+ else if(SVFUtil::isa<FIObjVar>(node))
260
260
  return "shape=box3d";
261
- else if (SVFUtil::isa<DummyObjPN>(node))
261
+ else if (SVFUtil::isa<DummyObjVar>(node))
262
262
  return "shape=tab";
263
263
  else
264
264
  return "shape=component";
@@ -223,11 +223,11 @@ void SVFG::addSVFGNodesForAddrTakenVars()
223
223
  {
224
224
 
225
225
  // set defs for address-taken vars defined at store statements
226
- PAGEdge::PAGEdgeSetTy& stores = getPAGEdgeSet(PAGEdge::Store);
227
- for (PAGEdge::PAGEdgeSetTy::iterator iter = stores.begin(), eiter =
226
+ PAGEdge::SVFStmtSetTy& stores = getPAGEdgeSet(PAGEdge::Store);
227
+ for (PAGEdge::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
228
228
  stores.end(); iter != eiter; ++iter)
229
229
  {
230
- StorePE* store = SVFUtil::cast<StorePE>(*iter);
230
+ StoreStmt* store = SVFUtil::cast<StoreStmt>(*iter);
231
231
  const StmtSVFGNode* sNode = getStmtVFGNode(store);
232
232
  for(CHISet::iterator pi = mssa->getCHISet(store).begin(), epi = mssa->getCHISet(store).end(); pi!=epi; ++pi)
233
233
  setDef((*pi)->getResVer(),sNode);
@@ -297,7 +297,7 @@ void SVFG::connectIndirectSVFGEdges()
297
297
  const SVFGNode* node = it->second;
298
298
  if(const LoadSVFGNode* loadNode = SVFUtil::dyn_cast<LoadSVFGNode>(node))
299
299
  {
300
- MUSet& muSet = mssa->getMUSet(SVFUtil::cast<LoadPE>(loadNode->getPAGEdge()));
300
+ MUSet& muSet = mssa->getMUSet(SVFUtil::cast<LoadStmt>(loadNode->getPAGEdge()));
301
301
  for(MUSet::iterator it = muSet.begin(), eit = muSet.end(); it!=eit; ++it)
302
302
  {
303
303
  if(LOADMU* mu = SVFUtil::dyn_cast<LOADMU>(*it))
@@ -309,7 +309,7 @@ void SVFG::connectIndirectSVFGEdges()
309
309
  }
310
310
  else if(const StoreSVFGNode* storeNode = SVFUtil::dyn_cast<StoreSVFGNode>(node))
311
311
  {
312
- CHISet& chiSet = mssa->getCHISet(SVFUtil::cast<StorePE>(storeNode->getPAGEdge()));
312
+ CHISet& chiSet = mssa->getCHISet(SVFUtil::cast<StoreStmt>(storeNode->getPAGEdge()));
313
313
  for(CHISet::iterator it = chiSet.begin(), eit = chiSet.end(); it!=eit; ++it)
314
314
  {
315
315
  if(STORECHI* chi = SVFUtil::dyn_cast<STORECHI>(*it))
@@ -571,10 +571,10 @@ void SVFG::getInterVFEdgesForIndirectCallSite(const CallBlockNode* callBlockNode
571
571
  // Find inter direct call edges between actual param and formal param.
572
572
  if (pag->hasCallSiteArgsMap(callBlockNode) && pag->hasFunArgsList(callee))
573
573
  {
574
- const SVFIR::PAGNodeList& csArgList = pag->getCallSiteArgsList(callBlockNode);
575
- const SVFIR::PAGNodeList& funArgList = pag->getFunArgsList(callee);
576
- SVFIR::PAGNodeList::const_iterator csArgIt = csArgList.begin(), csArgEit = csArgList.end();
577
- SVFIR::PAGNodeList::const_iterator funArgIt = funArgList.begin(), funArgEit = funArgList.end();
574
+ const SVFIR::SVFVarList& csArgList = pag->getCallSiteArgsList(callBlockNode);
575
+ const SVFIR::SVFVarList& funArgList = pag->getFunArgsList(callee);
576
+ SVFIR::SVFVarList::const_iterator csArgIt = csArgList.begin(), csArgEit = csArgList.end();
577
+ SVFIR::SVFVarList::const_iterator funArgIt = funArgList.begin(), funArgEit = funArgList.end();
578
578
  for (; funArgIt != funArgEit && csArgIt != csArgEit; funArgIt++, csArgIt++)
579
579
  {
580
580
  const PAGNode *cs_arg = *csArgIt;
@@ -932,11 +932,11 @@ struct DOTGraphTraits<SVFG*> : public DOTGraphTraits<SVFIR*>
932
932
  if(StmtSVFGNode* stmtNode = SVFUtil::dyn_cast<StmtSVFGNode>(node))
933
933
  {
934
934
  const PAGEdge* edge = stmtNode->getPAGEdge();
935
- if (SVFUtil::isa<AddrPE>(edge))
935
+ if (SVFUtil::isa<AddrStmt>(edge))
936
936
  {
937
937
  rawstr << "color=green";
938
938
  }
939
- else if (SVFUtil::isa<CopyPE>(edge))
939
+ else if (SVFUtil::isa<CopyStmt>(edge))
940
940
  {
941
941
  rawstr << "color=black";
942
942
  }
@@ -944,15 +944,15 @@ struct DOTGraphTraits<SVFG*> : public DOTGraphTraits<SVFIR*>
944
944
  {
945
945
  rawstr << "color=black,style=dotted";
946
946
  }
947
- else if (SVFUtil::isa<GepPE>(edge))
947
+ else if (SVFUtil::isa<GepStmt>(edge))
948
948
  {
949
949
  rawstr << "color=purple";
950
950
  }
951
- else if (SVFUtil::isa<StorePE>(edge))
951
+ else if (SVFUtil::isa<StoreStmt>(edge))
952
952
  {
953
953
  rawstr << "color=blue";
954
954
  }
955
- else if (SVFUtil::isa<LoadPE>(edge))
955
+ else if (SVFUtil::isa<LoadStmt>(edge))
956
956
  {
957
957
  rawstr << "color=red";
958
958
  }
@@ -77,7 +77,7 @@ void ThreadCallGraph::updateCallGraph(PointerAnalysis* pta)
77
77
  const NodeBS targets = pta->getPts(pag->getValueNode(forkedval)).toNodeBS();
78
78
  for (NodeBS::iterator ii = targets.begin(), ie = targets.end(); ii != ie; ii++)
79
79
  {
80
- if(ObjPN* objPN = SVFUtil::dyn_cast<ObjPN>(pag->getGNode(*ii)))
80
+ if(ObjVar* objPN = SVFUtil::dyn_cast<ObjVar>(pag->getGNode(*ii)))
81
81
  {
82
82
  const MemObj* obj = pag->getObject(objPN);
83
83
  if(obj->isFunction())
@@ -101,7 +101,7 @@ void ThreadCallGraph::updateCallGraph(PointerAnalysis* pta)
101
101
  const NodeBS targets = pta->getPts(pag->getValueNode(forkedval)).toNodeBS();
102
102
  for (NodeBS::iterator ii = targets.begin(), ie = targets.end(); ii != ie; ii++)
103
103
  {
104
- if(ObjPN* objPN = SVFUtil::dyn_cast<ObjPN>(pag->getGNode(*ii)))
104
+ if(ObjVar* objPN = SVFUtil::dyn_cast<ObjVar>(pag->getGNode(*ii)))
105
105
  {
106
106
  const MemObj* obj = pag->getObject(objPN);
107
107
  if(obj->isFunction())