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
@@ -344,23 +344,23 @@ public:
344
344
  ///@{
345
345
  inline bool isFIObjNode(NodeID id) const
346
346
  {
347
- return (SVFUtil::isa<FIObjPN>(pag->getGNode(id)));
347
+ return (SVFUtil::isa<FIObjVar>(pag->getGNode(id)));
348
348
  }
349
- inline NodeID getBaseObjNode(NodeID id)
349
+ inline NodeID getBaseObjVar(NodeID id)
350
350
  {
351
- return pag->getBaseObjNode(id);
351
+ return pag->getBaseObjVar(id);
352
352
  }
353
- inline NodeID getFIObjNode(NodeID id)
353
+ inline NodeID getFIObjVar(NodeID id)
354
354
  {
355
- return pag->getFIObjNode(id);
355
+ return pag->getFIObjVar(id);
356
356
  }
357
- inline NodeID getGepObjNode(NodeID id, const LocationSet& ls)
357
+ inline NodeID getGepObjVar(NodeID id, const LocationSet& ls)
358
358
  {
359
- return pag->getGepObjNode(id,ls);
359
+ return pag->getGepObjVar(id,ls);
360
360
  }
361
- virtual inline const NodeBS& getAllFieldsObjNode(NodeID id)
361
+ virtual inline const NodeBS& getAllFieldsObjVars(NodeID id)
362
362
  {
363
- return pag->getAllFieldsObjNode(id);
363
+ return pag->getAllFieldsObjVars(id);
364
364
  }
365
365
  inline void setObjFieldInsensitive(NodeID id)
366
366
  {
@@ -352,9 +352,9 @@ public:
352
352
  expandedCpts = cpts;;
353
353
  for(typename CPtSet::const_iterator cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)
354
354
  {
355
- if(pag->getBaseObjNode(cit->get_id())==cit->get_id())
355
+ if(pag->getBaseObjVar(cit->get_id())==cit->get_id())
356
356
  {
357
- NodeBS& fields = pag->getAllFieldsObjNode(cit->get_id());
357
+ NodeBS& fields = pag->getAllFieldsObjVars(cit->get_id());
358
358
  for(NodeBS::iterator it = fields.begin(), eit = fields.end(); it!=eit; ++it)
359
359
  {
360
360
  CVar cvar(cit->get_cond(),*it);
@@ -577,11 +577,11 @@ public:
577
577
  const PAGNode* node = this->getPAG()->getGNode(*nIter);
578
578
  if (this->getPAG()->isValidTopLevelPtr(node))
579
579
  {
580
- if (SVFUtil::isa<DummyObjPN>(node))
580
+ if (SVFUtil::isa<DummyObjVar>(node))
581
581
  {
582
582
  SVFUtil::outs() << "##<Blackhole or constant> id:" << node->getId();
583
583
  }
584
- else if (!SVFUtil::isa<DummyValPN>(node))
584
+ else if (!SVFUtil::isa<DummyValVar>(node))
585
585
  {
586
586
  SVFUtil::outs() << "##<" << node->getValue()->getName() << "> ";
587
587
  //SVFUtil::outs() << "Source Loc: " << SVFUtil::getSourceLoc(node->getValue());
@@ -53,33 +53,32 @@ public:
53
53
  typedef OrderedMap<const CallBlockNode*,NodeID> CallSiteToFunPtrMap;
54
54
  typedef Map<NodeID,CallSiteSet> FunPtrToCallSitesMap;
55
55
  typedef Map<NodeID,NodeBS> MemObjToFieldsMap;
56
- typedef std::vector<const SVFStmt*> PAGEdgeList;
57
- typedef std::vector<const SVFVar*> PAGNodeList;
58
- typedef std::vector<const CopyPE*> CopyPEList;
59
- typedef Map<const SVFVar*,PhiPE*> PHINodeMap;
60
- typedef Map<const SVFFunction*,PAGNodeList> FunToArgsListMap;
61
- typedef Map<const CallBlockNode*,PAGNodeList> CSToArgsListMap;
56
+ typedef std::vector<const SVFStmt*> SVFStmtList;
57
+ typedef std::vector<const SVFVar*> SVFVarList;
58
+ typedef Map<const SVFVar*,PhiStmt*> PHINodeMap;
59
+ typedef Map<const SVFFunction*,SVFVarList> FunToArgsListMap;
60
+ typedef Map<const CallBlockNode*,SVFVarList> CSToArgsListMap;
62
61
  typedef Map<const RetBlockNode*,const SVFVar*> CSToRetMap;
63
62
  typedef Map<const SVFFunction*,const SVFVar*> FunToRetMap;
64
- typedef Map<const SVFFunction*,PAGEdgeSet> FunToPAGEdgeSetMap;
65
- typedef Map<const ICFGNode*,PAGEdgeList> Inst2PAGEdgesMap;
63
+ typedef Map<const SVFFunction*,SVFStmtSet> FunToPAGEdgeSetMap;
64
+ typedef Map<const ICFGNode*,SVFStmtList> ICFGNode2SVFStmtsMap;
66
65
  typedef Map<NodeID, NodeID> NodeToNodeMap;
67
66
  typedef std::pair<NodeID, Size_t> NodeOffset;
68
67
  typedef std::pair<NodeID, LocationSet> NodeLocationSet;
69
68
  typedef Map<NodeOffset,NodeID> NodeOffsetMap;
70
69
  typedef Map<NodeLocationSet,NodeID> NodeLocationSetMap;
71
- typedef Map<const Value*, NodeLocationSetMap> GepValPNMap;
70
+ typedef Map<const Value*, NodeLocationSetMap> GepValueVarMap;
72
71
  typedef Map<NodePair,NodeID> NodePairSetMap;
73
72
 
74
73
  private:
75
74
  /// ValueNodes - This map indicates the Node that a particular Value* is
76
75
  /// represented by. This contains entries for all pointers.
77
- Inst2PAGEdgesMap inst2PAGEdgesMap; ///< Map a instruction to its PAGEdges
78
- Inst2PAGEdgesMap inst2PTAPAGEdgesMap; ///< Map a instruction to its PointerAnalysis related PAGEdges
79
- GepValPNMap GepValNodeMap; ///< Map a pair<base,off> to a gep value node id
80
- NodeLocationSetMap GepObjNodeMap; ///< Map a pair<base,off> to a gep obj node id
76
+ ICFGNode2SVFStmtsMap icfgNode2SVFStmtsMap; ///< Map an ICFGNode to its SVFStmts
77
+ ICFGNode2SVFStmtsMap icfgNode2PTASVFStmtsMap; ///< Map an ICFGNode to its PointerAnalysis related SVFStmts
78
+ GepValueVarMap GepValObjMap; ///< Map a pair<base,off> to a gep value node id
79
+ NodeLocationSetMap GepObjVarMap; ///< Map a pair<base,off> to a gep obj node id
81
80
  MemObjToFieldsMap memToFieldsMap; ///< Map a mem object id to all its fields
82
- PAGEdgeSet globPAGEdgesSet; ///< Global PAGEdges without control flow information
81
+ SVFStmtSet globSVFStmtSet; ///< Global PAGEdges without control flow information
83
82
  PHINodeMap phiNodeMap; ///< A set of phi copy edges
84
83
  FunToArgsListMap funArgsListMap; ///< Map a function to a list of all its formal parameters
85
84
  CSToArgsListMap callSiteArgsListMap; ///< Map a callsite to a list of all its actual parameters
@@ -124,10 +123,10 @@ public:
124
123
  {
125
124
  return memToFieldsMap;
126
125
  }
127
- /// Return GepObjNodeMap
126
+ /// Return GepObjVarMap
128
127
  inline NodeLocationSetMap& getGepObjNodeMap()
129
128
  {
130
- return GepObjNodeMap;
129
+ return GepObjVarMap;
131
130
  }
132
131
  /// Return ICFG
133
132
  inline ICFG* getICFG()
@@ -160,46 +159,46 @@ public:
160
159
  /// Get/set methods to get SVFStmts based on their kinds and ICFGNodes
161
160
  //@{
162
161
  /// Get edges set according to its kind
163
- inline SVFStmt::PAGEdgeSetTy& getEdgeSet(SVFStmt::PEDGEK kind)
162
+ inline SVFStmt::SVFStmtSetTy& getSVFStmtSet(SVFStmt::PEDGEK kind)
164
163
  {
165
- return PAGEdgeKindToSetMap[kind];
164
+ return KindToSVFStmtSetMap[kind];
166
165
  }
167
166
  /// Get PTA edges set according to its kind
168
- inline SVFStmt::PAGEdgeSetTy& getPTAEdgeSet(SVFStmt::PEDGEK kind)
167
+ inline SVFStmt::SVFStmtSetTy& getPTASVFStmtSet(SVFStmt::PEDGEK kind)
169
168
  {
170
- return PTAPAGEdgeKindToSetMap[kind];
169
+ return KindToPTASVFStmtSetMap[kind];
171
170
  }
172
171
  /// Whether this instruction has SVFIR Edge
173
- inline bool hasPAGEdgeList(const ICFGNode* inst) const
172
+ inline bool hasSVFStmtList(const ICFGNode* inst) const
174
173
  {
175
- return inst2PAGEdgesMap.find(inst)!=inst2PAGEdgesMap.end();
174
+ return icfgNode2SVFStmtsMap.find(inst)!=icfgNode2SVFStmtsMap.end();
176
175
  }
177
- inline bool hasPTAPAGEdgeList(const ICFGNode* inst) const
176
+ inline bool hasPTASVFStmtList(const ICFGNode* inst) const
178
177
  {
179
- return inst2PTAPAGEdgesMap.find(inst)!=inst2PTAPAGEdgesMap.end();
178
+ return icfgNode2PTASVFStmtsMap.find(inst)!=icfgNode2PTASVFStmtsMap.end();
180
179
  }
181
180
  /// Given an instruction, get all its PAGEdges
182
- inline PAGEdgeList& getInstPAGEdgeList(const ICFGNode* inst)
181
+ inline SVFStmtList& getSVFStmtList(const ICFGNode* inst)
183
182
  {
184
- return inst2PAGEdgesMap[inst];
183
+ return icfgNode2SVFStmtsMap[inst];
185
184
  }
186
185
  /// Given an instruction, get all its PTA PAGEdges
187
- inline PAGEdgeList& getInstPTAPAGEdgeList(const ICFGNode* inst)
186
+ inline SVFStmtList& getPTASVFStmtList(const ICFGNode* inst)
188
187
  {
189
- return inst2PTAPAGEdgesMap[inst];
188
+ return icfgNode2PTASVFStmtsMap[inst];
190
189
  }
191
190
  /// Add a SVFStmt into instruction map
192
- inline void addToInstPAGEdgeList(ICFGNode* inst, SVFStmt* edge)
191
+ inline void addToSVFStmtList(ICFGNode* inst, SVFStmt* edge)
193
192
  {
194
193
  edge->setICFGNode(inst);
195
- inst2PAGEdgesMap[inst].push_back(edge);
194
+ icfgNode2SVFStmtsMap[inst].push_back(edge);
196
195
  if (edge->isPTAEdge())
197
- inst2PTAPAGEdgesMap[inst].push_back(edge);
196
+ icfgNode2PTASVFStmtsMap[inst].push_back(edge);
198
197
  }
199
198
  /// Get global PAGEdges (not in a procedure)
200
- inline PAGEdgeSet& getGlobalPAGEdgeSet()
199
+ inline SVFStmtSet& getGlobalSVFStmtSet()
201
200
  {
202
- return globPAGEdgesSet;
201
+ return globSVFStmtSet;
203
202
  }
204
203
  /// Get all callsites
205
204
  inline const CallSiteSet& getCallSiteSet() const
@@ -223,7 +222,7 @@ public:
223
222
  return funArgsListMap;
224
223
  }
225
224
  /// Get function arguments list
226
- inline const PAGNodeList& getFunArgsList(const SVFFunction* func) const
225
+ inline const SVFVarList& getFunArgsList(const SVFFunction* func) const
227
226
  {
228
227
  FunToArgsListMap::const_iterator it = funArgsListMap.find(func);
229
228
  assert(it != funArgsListMap.end() && "this function doesn't have arguments");
@@ -240,7 +239,7 @@ public:
240
239
  return callSiteArgsListMap;
241
240
  }
242
241
  /// Get callsite argument list
243
- inline const PAGNodeList& getCallSiteArgsList(const CallBlockNode* cs) const
242
+ inline const SVFVarList& getCallSiteArgsList(const CallBlockNode* cs) const
244
243
  {
245
244
  CSToArgsListMap::const_iterator it = callSiteArgsListMap.find(cs);
246
245
  assert(it != callSiteArgsListMap.end() && "this call site doesn't have arguments");
@@ -284,19 +283,19 @@ public:
284
283
  //@{
285
284
  inline Size_t getFieldValNodeNum() const
286
285
  {
287
- return GepValNodeMap.size();
286
+ return GepValObjMap.size();
288
287
  }
289
288
  inline Size_t getFieldObjNodeNum() const
290
289
  {
291
- return GepObjNodeMap.size();
290
+ return GepObjVarMap.size();
292
291
  }
293
292
  //@}
294
293
 
295
- /// Due to constaint expression, curInst is used to distinguish different instructions (e.g., memorycpy) when creating GepValPN.
296
- inline NodeID getGepValNode(const Value* curInst, NodeID base, const LocationSet& ls) const
294
+ /// Due to constaint expression, curInst is used to distinguish different instructions (e.g., memorycpy) when creating GepValVar.
295
+ inline NodeID getGepValVar(const Value* curInst, NodeID base, const LocationSet& ls) const
297
296
  {
298
- GepValPNMap::const_iterator iter = GepValNodeMap.find(curInst);
299
- if(iter==GepValNodeMap.end()){
297
+ GepValueVarMap::const_iterator iter = GepValObjMap.find(curInst);
298
+ if(iter==GepValObjMap.end()){
300
299
  return UINT_MAX;
301
300
  }
302
301
  else{
@@ -344,8 +343,8 @@ public:
344
343
  inline SVFStmt* getIntraPAGEdge(SVFVar* src, SVFVar* dst, SVFStmt::PEDGEK kind)
345
344
  {
346
345
  SVFStmt edge(src,dst,kind);
347
- const SVFStmt::PAGEdgeSetTy& edgeSet = getEdgeSet(kind);
348
- SVFStmt::PAGEdgeSetTy::const_iterator it = edgeSet.find(&edge);
346
+ const SVFStmt::SVFStmtSetTy& edgeSet = getSVFStmtSet(kind);
347
+ SVFStmt::SVFStmtSetTy::const_iterator it = edgeSet.find(&edge);
349
348
  assert(it != edgeSet.end() && "can not find pag edge");
350
349
  return (*it);
351
350
  }
@@ -353,38 +352,38 @@ public:
353
352
 
354
353
  /// Get memory object - Return memory object according to pag node id
355
354
  /// return whole allocated memory object if this node is a gep obj node
356
- /// return nullptr is this node is not a ObjPN type
355
+ /// return nullptr is this node is not a ObjVar type
357
356
  //@{
358
357
  inline const MemObj*getObject(NodeID id) const
359
358
  {
360
359
  const SVFVar* node = getGNode(id);
361
- if(const ObjPN* objPN = SVFUtil::dyn_cast<ObjPN>(node))
360
+ if(const ObjVar* objPN = SVFUtil::dyn_cast<ObjVar>(node))
362
361
  return getObject(objPN);
363
362
  else
364
363
  return nullptr;
365
364
  }
366
- inline const MemObj*getObject(const ObjPN* node) const
365
+ inline const MemObj*getObject(const ObjVar* node) const
367
366
  {
368
367
  return node->getMemObj();
369
368
  }
370
369
  //@}
371
370
 
372
371
  /// Get a field SVFIR Object node according to base mem obj and offset
373
- NodeID getGepObjNode(const MemObj* obj, const LocationSet& ls);
372
+ NodeID getGepObjVar(const MemObj* obj, const LocationSet& ls);
374
373
  /// Get a field obj SVFIR node according to a mem obj and a given offset
375
- NodeID getGepObjNode(NodeID id, const LocationSet& ls) ;
374
+ NodeID getGepObjVar(NodeID id, const LocationSet& ls) ;
376
375
  /// Get a field-insensitive obj SVFIR node according to a mem obj
377
376
  //@{
378
- inline NodeID getFIObjNode(const MemObj* obj) const
377
+ inline NodeID getFIObjVar(const MemObj* obj) const
379
378
  {
380
379
  return obj->getId();
381
380
  }
382
- inline NodeID getFIObjNode(NodeID id) const
381
+ inline NodeID getFIObjVar(NodeID id) const
383
382
  {
384
383
  SVFVar* node = pag->getGNode(id);
385
- assert(SVFUtil::isa<ObjPN>(node) && "need an object node");
386
- ObjPN* obj = SVFUtil::cast<ObjPN>(node);
387
- return getFIObjNode(obj->getMemObj());
384
+ assert(SVFUtil::isa<ObjVar>(node) && "need an object node");
385
+ ObjVar* obj = SVFUtil::cast<ObjVar>(node);
386
+ return getFIObjVar(obj->getMemObj());
388
387
  }
389
388
  //@}
390
389
 
@@ -415,7 +414,7 @@ public:
415
414
  inline bool isNonPointerObj(NodeID id) const
416
415
  {
417
416
  SVFVar* node = getGNode(id);
418
- if (FIObjPN* fiNode = SVFUtil::dyn_cast<FIObjPN>(node))
417
+ if (FIObjVar* fiNode = SVFUtil::dyn_cast<FIObjVar>(node))
419
418
  {
420
419
  return (fiNode->getMemObj()->hasPtrObj() == false);
421
420
  }
@@ -423,7 +422,7 @@ public:
423
422
  {
424
423
  return (gepNode->getMemObj()->isNonPtrFieldObj(gepNode->getLocationSet()));
425
424
  }
426
- else if (SVFUtil::isa<DummyObjPN>(node))
425
+ else if (SVFUtil::isa<DummyObjVar>(node))
427
426
  {
428
427
  return false;
429
428
  }
@@ -438,25 +437,25 @@ public:
438
437
  /// Base and Offset methods for Value and Object node
439
438
  //@{
440
439
  /// Get a base pointer node given a field pointer
441
- NodeID getBaseValNode(NodeID nodeId);
440
+ NodeID getBaseValVar(NodeID nodeId);
442
441
  LocationSet getLocationSetFromBaseNode(NodeID nodeId);
443
- inline NodeID getBaseObjNode(NodeID id) const
442
+ inline NodeID getBaseObjVar(NodeID id) const
444
443
  {
445
444
  return getBaseObj(id)->getId();
446
445
  }
447
446
  inline const MemObj* getBaseObj(NodeID id) const
448
447
  {
449
448
  const SVFVar* node = pag->getGNode(id);
450
- assert(SVFUtil::isa<ObjPN>(node) && "need an object node");
451
- const ObjPN* obj = SVFUtil::cast<ObjPN>(node);
449
+ assert(SVFUtil::isa<ObjVar>(node) && "need an object node");
450
+ const ObjVar* obj = SVFUtil::cast<ObjVar>(node);
452
451
  return obj->getMemObj();
453
452
  }
454
453
  //@}
455
454
 
456
455
  /// Get all fields of an object
457
456
  //@{
458
- NodeBS& getAllFieldsObjNode(const MemObj* obj);
459
- NodeBS& getAllFieldsObjNode(NodeID id);
457
+ NodeBS& getAllFieldsObjVars(const MemObj* obj);
458
+ NodeBS& getAllFieldsObjVars(NodeID id);
460
459
  NodeBS getFieldsAfterCollapse(NodeID id);
461
460
  //@}
462
461
  inline NodeID addDummyValNode()
@@ -481,12 +480,12 @@ private:
481
480
 
482
481
  /// Map a SVFStatement type to a set of corresponding SVF statements
483
482
  inline void addToStmt2TypeMap(SVFStmt* edge) {
484
- bool added = PAGEdgeKindToSetMap[edge->getEdgeKind()].insert(edge).second;
483
+ bool added = KindToSVFStmtSetMap[edge->getEdgeKind()].insert(edge).second;
485
484
  assert(added && "duplicated edge, not added!!!");
486
485
  if (edge->isPTAEdge())
487
486
  {
488
487
  totalPTAPAGEdge++;
489
- PTAPAGEdgeKindToSetMap[edge->getEdgeKind()].insert(edge);
488
+ KindToPTASVFStmtSetMap[edge->getEdgeKind()].insert(edge);
490
489
  }
491
490
  }
492
491
  /// Get/set method for function/callsite arguments and returns
@@ -530,7 +529,7 @@ private:
530
529
  /// Add a value (pointer) node
531
530
  inline NodeID addValNode(const Value* val, NodeID i)
532
531
  {
533
- SVFVar *node = new ValPN(val,i);
532
+ SVFVar *node = new ValVar(val,i);
534
533
  return addValNode(val, node, i);
535
534
  }
536
535
  /// Add a memory obj node
@@ -553,9 +552,9 @@ private:
553
552
  return addNode(node,i);
554
553
  }
555
554
 
556
- /// Add a temp field value node, this method can only invoked by getGepValNode
555
+ /// Add a temp field value node, this method can only invoked by getGepValVar
557
556
  NodeID addGepValNode(const Value* curInst,const Value* val, const LocationSet& ls, NodeID i, const Type *type, u32_t fieldidx);
558
- /// Add a field obj node, this method can only invoked by getGepObjNode
557
+ /// Add a field obj node, this method can only invoked by getGepObjVar
559
558
  NodeID addGepObjNode(const MemObj* obj, const LocationSet& ls);
560
559
  /// Add a field-insensitive node, this method can only invoked by getFIGepObjNode
561
560
  NodeID addFIObjNode(const MemObj* obj);
@@ -565,12 +564,12 @@ private:
565
564
  //@{
566
565
  inline NodeID addDummyValNode(NodeID i)
567
566
  {
568
- return addValNode(nullptr, new DummyValPN(i), i);
567
+ return addValNode(nullptr, new DummyValVar(i), i);
569
568
  }
570
569
  inline NodeID addDummyObjNode(NodeID i, const Type* type)
571
570
  {
572
571
  const MemObj* mem = addDummyMemObj(i, type);
573
- return addObjNode(nullptr, new DummyObjPN(i,mem), i);
572
+ return addObjNode(nullptr, new DummyObjVar(i,mem), i);
574
573
  }
575
574
  inline const MemObj* addDummyMemObj(NodeID i, const Type* type)
576
575
  {
@@ -578,11 +577,11 @@ private:
578
577
  }
579
578
  inline NodeID addBlackholeObjNode()
580
579
  {
581
- return addObjNode(nullptr, new DummyObjPN(getBlackHoleNode(),getBlackHoleObj()), getBlackHoleNode());
580
+ return addObjNode(nullptr, new DummyObjVar(getBlackHoleNode(),getBlackHoleObj()), getBlackHoleNode());
582
581
  }
583
582
  inline NodeID addConstantObjNode()
584
583
  {
585
- return addObjNode(nullptr, new DummyObjPN(getConstantNode(),getConstantObj()), getConstantNode());
584
+ return addObjNode(nullptr, new DummyObjVar(getConstantNode(),getConstantObj()), getConstantNode());
586
585
  }
587
586
  inline NodeID addBlackholePtrNode()
588
587
  {
@@ -616,7 +615,7 @@ private:
616
615
  /// Add global PAGEdges (not in a procedure)
617
616
  inline void addGlobalPAGEdge(const SVFStmt* edge)
618
617
  {
619
- globPAGEdgesSet.insert(edge);
618
+ globSVFStmtSet.insert(edge);
620
619
  }
621
620
  /// Add callsites
622
621
  inline void addCallSite(const CallBlockNode* call)
@@ -626,33 +625,33 @@ private:
626
625
  /// Add an edge into SVFIR
627
626
  //@{
628
627
  /// Add Address edge
629
- AddrPE* addAddrPE(NodeID src, NodeID dst);
628
+ AddrStmt* addAddrStmt(NodeID src, NodeID dst);
630
629
  /// Add Copy edge
631
- CopyPE* addCopyPE(NodeID src, NodeID dst);
630
+ CopyStmt* addCopyStmt(NodeID src, NodeID dst);
632
631
  /// Add phi node information
633
- PhiPE* addPhiNode(NodeID res, NodeID opnd);
632
+ PhiStmt* addPhiStmt(NodeID res, NodeID opnd);
634
633
  /// Add Copy edge
635
- CmpPE* addCmpPE(NodeID op1, NodeID op2, NodeID dst, u32_t opcode);
634
+ CmpStmt* addCmpStmt(NodeID op1, NodeID op2, NodeID dst, u32_t predict);
636
635
  /// Add Copy edge
637
- BinaryOPPE* addBinaryOPPE(NodeID op1, NodeID op2, NodeID dst, u32_t opcode);
636
+ BinaryOPStmt* addBinaryOPStmt(NodeID op1, NodeID op2, NodeID dst, u32_t opcode);
638
637
  /// Add Unary edge
639
- UnaryOPPE* addUnaryOPPE(NodeID src, NodeID dst, u32_t opcode);
638
+ UnaryOPStmt* addUnaryOPStmt(NodeID src, NodeID dst, u32_t opcode);
640
639
  /// Add BranchStmt
641
640
  BranchStmt* addBranchStmt(NodeID br, NodeID cond, std::vector<const ICFGNode*> succs);
642
641
  /// Add Load edge
643
- LoadPE* addLoadPE(NodeID src, NodeID dst);
642
+ LoadStmt* addLoadStmt(NodeID src, NodeID dst);
644
643
  /// Add Store edge
645
- StorePE* addStorePE(NodeID src, NodeID dst, const IntraBlockNode* val);
644
+ StoreStmt* addStoreStmt(NodeID src, NodeID dst, const IntraBlockNode* val);
646
645
  /// Add Call edge
647
646
  CallPE* addCallPE(NodeID src, NodeID dst, const CallBlockNode* cs);
648
647
  /// Add Return edge
649
648
  RetPE* addRetPE(NodeID src, NodeID dst, const CallBlockNode* cs);
650
649
  /// Add Gep edge
651
- GepPE* addGepPE(NodeID src, NodeID dst, const LocationSet& ls, bool constGep);
650
+ GepStmt* addGepStmt(NodeID src, NodeID dst, const LocationSet& ls, bool constGep);
652
651
  /// Add Offset(Gep) edge
653
- NormalGepPE* addNormalGepPE(NodeID src, NodeID dst, const LocationSet& ls);
652
+ NormalGepStmt* addNormalGepStmt(NodeID src, NodeID dst, const LocationSet& ls);
654
653
  /// Add Variant(Gep) edge
655
- VariantGepPE* addVariantGepPE(NodeID src, NodeID dst);
654
+ VariantGepStmt* addVariantGepStmt(NodeID src, NodeID dst);
656
655
  /// Add Thread fork edge for parameter passing
657
656
  TDForkPE* addThreadForkPE(NodeID src, NodeID dst, const CallBlockNode* cs);
658
657
  /// Add Thread join edge for parameter passing
@@ -660,7 +659,7 @@ private:
660
659
  //@}
661
660
 
662
661
  /// Set a pointer points-to black hole (e.g. int2ptr)
663
- SVFStmt* addBlackHoleAddrPE(NodeID node);
662
+ SVFStmt* addBlackHoleAddrStmt(NodeID node);
664
663
  };
665
664
 
666
665
  typedef SVFIR PAG;