svf-tools 1.0.321 → 1.0.322

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 (319) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  14. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/html/MemRegion_8h_source.html +11 -11
  16. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  17. package/SVF-doxygen/html/html/MemSSA_8h_source.html +11 -11
  18. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +33 -33
  28. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +31 -31
  29. package/SVF-doxygen/html/html/SVFIR_8h_source.html +32 -32
  30. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +14 -14
  31. package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
  32. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +72 -72
  33. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
  34. package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
  35. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +66 -66
  36. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +8 -8
  39. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  40. package/SVF-doxygen/html/html/VFG_8cpp_source.html +16 -16
  41. package/SVF-doxygen/html/html/VFG_8h_source.html +21 -21
  42. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/annotated.html +21 -21
  45. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +136 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +498 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
  49. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
  51. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  53. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +154 -0
  55. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +754 -0
  56. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
  57. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
  58. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
  60. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
  61. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
  62. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
  65. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +74 -22
  67. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +477 -93
  68. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
  69. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  71. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  72. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  73. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  74. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +56 -21
  75. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +251 -89
  76. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
  77. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
  79. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +8 -8
  81. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +18 -18
  82. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
  84. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
  85. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
  86. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
  87. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
  88. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
  89. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
  90. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
  91. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  92. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  93. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +3 -3
  95. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
  96. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  97. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
  98. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  99. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +4 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +37 -37
  101. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
  102. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +56 -22
  103. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +257 -118
  104. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
  107. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
  108. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
  109. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +3 -3
  111. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +8 -8
  112. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +18 -18
  113. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +8 -8
  114. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +18 -18
  115. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
  116. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
  117. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +56 -21
  118. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +251 -89
  119. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
  120. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
  122. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +8 -8
  123. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +63 -63
  124. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +8 -8
  125. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +71 -71
  126. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  127. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  128. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +141 -0
  129. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +647 -0
  130. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
  131. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
  132. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
  133. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  134. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +10 -10
  135. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +73 -22
  137. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +445 -98
  138. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +8 -8
  140. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +9 -9
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +32 -32
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +9 -9
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +26 -26
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +14 -14
  145. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +142 -142
  146. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +11 -11
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +137 -137
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +7 -7
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +13 -13
  151. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  152. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
  155. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +56 -21
  156. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +258 -89
  157. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
  160. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +20 -20
  162. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +146 -0
  163. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +792 -0
  164. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
  165. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  166. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +69 -69
  167. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
  168. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
  169. package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +138 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +542 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
  173. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  175. package/SVF-doxygen/html/html/classes.html +18 -18
  176. package/SVF-doxygen/html/html/functions_a.html +39 -39
  177. package/SVF-doxygen/html/html/functions_b.html +2 -2
  178. package/SVF-doxygen/html/html/functions_c.html +34 -34
  179. package/SVF-doxygen/html/html/functions_d.html +4 -4
  180. package/SVF-doxygen/html/html/functions_f.html +3 -3
  181. package/SVF-doxygen/html/html/functions_func.html +38 -38
  182. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  183. package/SVF-doxygen/html/html/functions_func_c.html +30 -30
  184. package/SVF-doxygen/html/html/functions_func_d.html +4 -4
  185. package/SVF-doxygen/html/html/functions_func_f.html +2 -2
  186. package/SVF-doxygen/html/html/functions_func_g.html +49 -49
  187. package/SVF-doxygen/html/html/functions_func_l.html +3 -3
  188. package/SVF-doxygen/html/html/functions_func_n.html +2 -2
  189. package/SVF-doxygen/html/html/functions_func_o.html +15 -15
  190. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  191. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  192. package/SVF-doxygen/html/html/functions_func_t.html +20 -20
  193. package/SVF-doxygen/html/html/functions_func_u.html +2 -2
  194. package/SVF-doxygen/html/html/functions_func_v.html +5 -5
  195. package/SVF-doxygen/html/html/functions_g.html +52 -52
  196. package/SVF-doxygen/html/html/functions_i.html +2 -2
  197. package/SVF-doxygen/html/html/functions_l.html +9 -9
  198. package/SVF-doxygen/html/html/functions_m.html +1 -1
  199. package/SVF-doxygen/html/html/functions_n.html +2 -2
  200. package/SVF-doxygen/html/html/functions_o.html +17 -17
  201. package/SVF-doxygen/html/html/functions_p.html +4 -4
  202. package/SVF-doxygen/html/html/functions_s.html +7 -7
  203. package/SVF-doxygen/html/html/functions_t.html +20 -20
  204. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  205. package/SVF-doxygen/html/html/functions_type_l.html +3 -3
  206. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  207. package/SVF-doxygen/html/html/functions_type_s.html +3 -3
  208. package/SVF-doxygen/html/html/functions_u.html +2 -2
  209. package/SVF-doxygen/html/html/functions_v.html +5 -5
  210. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  211. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  212. package/SVF-doxygen/html/html/functions_vars_i.html +2 -2
  213. package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
  214. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  215. package/SVF-doxygen/html/html/functions_vars_o.html +3 -3
  216. package/SVF-doxygen/html/html/functions_w.html +5 -9
  217. package/SVF-doxygen/html/html/hierarchy.html +65 -65
  218. package/SVF-doxygen/html/html/namespaceSVF.html +23 -23
  219. package/SVF-doxygen/html/html/search/all_1.js +37 -37
  220. package/SVF-doxygen/html/html/search/all_10.js +2 -2
  221. package/SVF-doxygen/html/html/search/all_13.js +6 -6
  222. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  223. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  224. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  225. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  226. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  227. package/SVF-doxygen/html/html/search/all_3.js +8 -8
  228. package/SVF-doxygen/html/html/search/all_4.js +2 -2
  229. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  230. package/SVF-doxygen/html/html/search/all_7.js +26 -26
  231. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  232. package/SVF-doxygen/html/html/search/all_c.js +7 -7
  233. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  234. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  235. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  236. package/SVF-doxygen/html/html/search/classes_0.js +1 -1
  237. package/SVF-doxygen/html/html/search/classes_1.js +1 -1
  238. package/SVF-doxygen/html/html/search/classes_11.js +1 -1
  239. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  240. package/SVF-doxygen/html/html/search/classes_2.js +5 -5
  241. package/SVF-doxygen/html/html/search/classes_3.js +2 -2
  242. package/SVF-doxygen/html/html/search/classes_5.js +1 -1
  243. package/SVF-doxygen/html/html/search/classes_6.js +2 -2
  244. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  245. package/SVF-doxygen/html/html/search/classes_b.js +1 -1
  246. package/SVF-doxygen/html/html/search/classes_c.js +1 -1
  247. package/SVF-doxygen/html/html/search/classes_d.js +1 -1
  248. package/SVF-doxygen/html/html/search/classes_f.js +1 -1
  249. package/SVF-doxygen/html/html/search/functions_0.js +37 -37
  250. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  251. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  252. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  253. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  254. package/SVF-doxygen/html/html/search/functions_13.js +2 -2
  255. package/SVF-doxygen/html/html/search/functions_2.js +7 -7
  256. package/SVF-doxygen/html/html/search/functions_3.js +2 -2
  257. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  258. package/SVF-doxygen/html/html/search/functions_6.js +25 -25
  259. package/SVF-doxygen/html/html/search/functions_a.js +3 -3
  260. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  261. package/SVF-doxygen/html/html/search/functions_d.js +2 -2
  262. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  263. package/SVF-doxygen/html/html/search/typedefs_11.js +3 -3
  264. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  265. package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
  266. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  267. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  268. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  269. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  270. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  271. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  272. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  273. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
  274. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  275. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
  276. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
  277. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
  278. package/include/Graphs/ICFGNode.h +1 -1
  279. package/include/Graphs/VFG.h +9 -9
  280. package/include/Graphs/VFGNode.h +6 -6
  281. package/include/MSSA/MSSAMuChi.h +6 -6
  282. package/include/MSSA/MemRegion.h +8 -8
  283. package/include/MSSA/MemSSA.h +10 -10
  284. package/include/MemoryModel/PointerAnalysis.h +1 -1
  285. package/include/MemoryModel/PointerAnalysisImpl.h +2 -2
  286. package/include/MemoryModel/SVFIR.h +28 -28
  287. package/include/MemoryModel/SVFStatements.h +68 -68
  288. package/include/MemoryModel/SVFVariables.h +39 -39
  289. package/include/SVF-FE/SVFIRBuilder.h +22 -22
  290. package/lib/DDA/ContextDDA.cpp +4 -4
  291. package/lib/DDA/DDAStat.cpp +1 -1
  292. package/lib/DDA/FlowDDA.cpp +2 -2
  293. package/lib/Graphs/ConsG.cpp +12 -12
  294. package/lib/Graphs/IRGraph.cpp +15 -15
  295. package/lib/Graphs/OfflineConsG.cpp +8 -8
  296. package/lib/Graphs/SVFG.cpp +8 -8
  297. package/lib/Graphs/ThreadCallGraph.cpp +2 -2
  298. package/lib/Graphs/VFG.cpp +15 -15
  299. package/lib/MSSA/MemRegion.cpp +6 -6
  300. package/lib/MSSA/MemSSA.cpp +6 -6
  301. package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -3
  302. package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
  303. package/lib/MemoryModel/PointerAnalysisImpl.cpp +2 -2
  304. package/lib/MemoryModel/SVFIR.cpp +44 -44
  305. package/lib/MemoryModel/SVFStatements.cpp +24 -24
  306. package/lib/MemoryModel/SVFVariables.cpp +19 -19
  307. package/lib/SABER/SaberSVFGBuilder.cpp +2 -2
  308. package/lib/SVF-FE/Graph2Json.cpp +1 -1
  309. package/lib/SVF-FE/SVFIRBuilder.cpp +5 -5
  310. package/lib/Util/PTAStat.cpp +1 -1
  311. package/lib/Util/TypeBasedHeapCloning.cpp +19 -19
  312. package/lib/WPA/AndersenSFR.cpp +1 -1
  313. package/lib/WPA/AndersenStat.cpp +3 -3
  314. package/lib/WPA/FlowSensitive.cpp +2 -2
  315. package/lib/WPA/FlowSensitiveStat.cpp +2 -2
  316. package/lib/WPA/FlowSensitiveTBHC.cpp +4 -4
  317. package/lib/WPA/VersionedFlowSensitive.cpp +1 -1
  318. package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
  319. package/package.json +1 -1
@@ -48,7 +48,7 @@ SVFVar::SVFVar(const Value* val, NodeID i, PNODEK k) :
48
48
  case ValNode:
49
49
  case GepValNode:
50
50
  {
51
- assert(val != nullptr && "value is nullptr for ValPN or GepValNode");
51
+ assert(val != nullptr && "value is nullptr for ValVar or GepValNode");
52
52
  isTLPointer = val->getType()->isPointerTy();
53
53
  isATPointer = false;
54
54
  break;
@@ -108,10 +108,10 @@ void SVFVar::dump() const {
108
108
  outs() << this->toString() << "\n";
109
109
  }
110
110
 
111
- const std::string ValPN::toString() const {
111
+ const std::string ValVar::toString() const {
112
112
  std::string str;
113
113
  raw_string_ostream rawstr(str);
114
- rawstr << "ValPN ID: " << getId();
114
+ rawstr << "ValVar ID: " << getId();
115
115
  if (Options::PAGDotGraphShorter) {
116
116
  rawstr << "\n";
117
117
  }
@@ -119,10 +119,10 @@ const std::string ValPN::toString() const {
119
119
  return rawstr.str();
120
120
  }
121
121
 
122
- const std::string ObjPN::toString() const {
122
+ const std::string ObjVar::toString() const {
123
123
  std::string str;
124
124
  raw_string_ostream rawstr(str);
125
- rawstr << "ObjPN ID: " << getId();
125
+ rawstr << "ObjVar ID: " << getId();
126
126
  if (Options::PAGDotGraphShorter) {
127
127
  rawstr << "\n";
128
128
  }
@@ -130,10 +130,10 @@ const std::string ObjPN::toString() const {
130
130
  return rawstr.str();
131
131
  }
132
132
 
133
- const std::string GepValPN::toString() const {
133
+ const std::string GepValVar::toString() const {
134
134
  std::string str;
135
135
  raw_string_ostream rawstr(str);
136
- rawstr << "GepValPN ID: " << getId() << " with offset_" + llvm::utostr(getOffset());
136
+ rawstr << "GepValVar ID: " << getId() << " with offset_" + llvm::utostr(getOffset());
137
137
  if (Options::PAGDotGraphShorter) {
138
138
  rawstr << "\n";
139
139
  }
@@ -152,10 +152,10 @@ const std::string GepObjPN::toString() const {
152
152
  return rawstr.str();
153
153
  }
154
154
 
155
- const std::string FIObjPN::toString() const {
155
+ const std::string FIObjVar::toString() const {
156
156
  std::string str;
157
157
  raw_string_ostream rawstr(str);
158
- rawstr << "FIObjPN ID: " << getId() << " (base object)";
158
+ rawstr << "FIObjVar ID: " << getId() << " (base object)";
159
159
  if (Options::PAGDotGraphShorter) {
160
160
  rawstr << "\n";
161
161
  }
@@ -177,38 +177,38 @@ const std::string VarArgPN::toString() const {
177
177
  return rawstr.str();
178
178
  }
179
179
 
180
- const std::string DummyValPN::toString() const {
180
+ const std::string DummyValVar::toString() const {
181
181
  std::string str;
182
182
  raw_string_ostream rawstr(str);
183
- rawstr << "DummyValPN ID: " << getId();
183
+ rawstr << "DummyValVar ID: " << getId();
184
184
  return rawstr.str();
185
185
  }
186
186
 
187
- const std::string DummyObjPN::toString() const {
187
+ const std::string DummyObjVar::toString() const {
188
188
  std::string str;
189
189
  raw_string_ostream rawstr(str);
190
- rawstr << "DummyObjPN ID: " << getId();
190
+ rawstr << "DummyObjVar ID: " << getId();
191
191
  return rawstr.str();
192
192
  }
193
193
 
194
- const std::string CloneDummyObjPN::toString() const {
194
+ const std::string CloneDummyObjVar::toString() const {
195
195
  std::string str;
196
196
  raw_string_ostream rawstr(str);
197
- rawstr << "CloneDummyObjPN ID: " << getId();
197
+ rawstr << "CloneDummyObjVar ID: " << getId();
198
198
  return rawstr.str();
199
199
  }
200
200
 
201
- const std::string CloneGepObjPN::toString() const {
201
+ const std::string CloneGepObjVar::toString() const {
202
202
  std::string str;
203
203
  raw_string_ostream rawstr(str);
204
- rawstr << "CloneGepObjPN ID: " << getId();
204
+ rawstr << "CloneGepObjVar ID: " << getId();
205
205
  return rawstr.str();
206
206
  }
207
207
 
208
- const std::string CloneFIObjPN::toString() const {
208
+ const std::string CloneFIObjVar::toString() const {
209
209
  std::string str;
210
210
  raw_string_ostream rawstr(str);
211
- rawstr << "CloneFIObjPN ID: " << getId();
211
+ rawstr << "CloneFIObjVar ID: " << getId();
212
212
  return rawstr.str();
213
213
  }
214
214
 
@@ -70,11 +70,11 @@ void SaberSVFGBuilder::collectGlobals(BVDataPTAImpl* pta)
70
70
  for(SVFIR::iterator it = pag->begin(), eit = pag->end(); it!=eit; it++)
71
71
  {
72
72
  PAGNode* pagNode = it->second;
73
- if(SVFUtil::isa<DummyValPN>(pagNode) || SVFUtil::isa<DummyObjPN>(pagNode))
73
+ if(SVFUtil::isa<DummyValVar>(pagNode) || SVFUtil::isa<DummyObjVar>(pagNode))
74
74
  continue;
75
75
 
76
76
  if(GepObjPN* gepobj = SVFUtil::dyn_cast<GepObjPN>(pagNode)) {
77
- if(SVFUtil::isa<DummyObjPN>(pag->getGNode(gepobj->getBaseNode())))
77
+ if(SVFUtil::isa<DummyObjVar>(pag->getGNode(gepobj->getBaseNode())))
78
78
  continue;
79
79
  }
80
80
  if(const Value* val = pagNode->getValue())
@@ -52,7 +52,7 @@ void ICFGPrinter::printICFGToJson(const std::string& filename)
52
52
  edge_obj["dstValueName"] = edge->getDstNode()->getValueName();
53
53
  if(edge->getEdgeKind()==PAGEdge::NormalGep)
54
54
  {
55
- const NormalGepPE* gepEdge = SVFUtil::cast<NormalGepPE>(edge);
55
+ const NormalGepStmt* gepEdge = SVFUtil::cast<NormalGepStmt>(edge);
56
56
  edge_obj["offset"] = gepEdge->getOffset();
57
57
  }
58
58
  llvm::json::Value edge_value = llvm::json::Object{edge_obj};
@@ -617,7 +617,7 @@ void SVFIRBuilder::visitBinaryOperator(BinaryOperator &inst)
617
617
  Value* op2 = inst.getOperand(1);
618
618
  NodeID op2Node = getValueNode(op2);
619
619
  u32_t opcode = inst.getOpcode();
620
- const BinaryOPPE* binayPE = addBinaryOPEdge(op1Node, op2Node, dst, opcode);
620
+ const BinaryOPStmt* binayPE = addBinaryOPEdge(op1Node, op2Node, dst, opcode);
621
621
  }
622
622
 
623
623
  /*!
@@ -630,7 +630,7 @@ void SVFIRBuilder::visitUnaryOperator(UnaryOperator &inst)
630
630
  Value* opnd = inst.getOperand(0);
631
631
  NodeID src = getValueNode(opnd);
632
632
  u32_t opcode = inst.getOpcode();
633
- const UnaryOPPE* unaryPE = addUnaryOPEdge(src, dst, opcode);
633
+ const UnaryOPStmt* unaryPE = addUnaryOPEdge(src, dst, opcode);
634
634
  }
635
635
 
636
636
  /*!
@@ -645,7 +645,7 @@ void SVFIRBuilder::visitCmpInst(CmpInst &inst)
645
645
  Value* op2 = inst.getOperand(1);
646
646
  NodeID op2Node = getValueNode(op2);
647
647
  u32_t opcode = inst.getOpcode();
648
- const CmpPE* cmpPE = addCmpEdge(op1Node, op2Node, dst, opcode);
648
+ const CmpStmt* cmpPE = addCmpEdge(op1Node, op2Node, dst, opcode);
649
649
  }
650
650
 
651
651
 
@@ -1468,8 +1468,8 @@ void SVFIRBuilder::setCurrentBBAndValueForPAGEdge(PAGEdge* edge)
1468
1468
  assert(dstFun==curInst->getFunction() && "DstNode of the PAGEdge not in the same function?");
1469
1469
  }
1470
1470
 
1471
- /// We assume every GepValPN and its GepPE are unique across whole program
1472
- if (!(SVFUtil::isa<GepPE>(edge) && SVFUtil::isa<GepValPN>(edge->getDstNode())))
1471
+ /// We assume every GepValVar and its GepStmt are unique across whole program
1472
+ if (!(SVFUtil::isa<GepStmt>(edge) && SVFUtil::isa<GepValVar>(edge->getDstNode())))
1473
1473
  assert(curBB && "instruction does not have a basic block??");
1474
1474
 
1475
1475
  /// We will have one unique function exit ICFGNode for all returns
@@ -151,7 +151,7 @@ void PTAStat::performStat()
151
151
  for(SVFIR::iterator it = pag->begin(), eit = pag->end(); it!=eit; ++it)
152
152
  {
153
153
  PAGNode* node = it->second;
154
- if(ObjPN* obj = SVFUtil::dyn_cast<ObjPN>(node))
154
+ if(ObjVar* obj = SVFUtil::dyn_cast<ObjVar>(node))
155
155
  {
156
156
  const MemObj* mem = obj->getMemObj();
157
157
  if (memObjSet.insert(mem->getId()).second == false)
@@ -36,7 +36,7 @@ void TypeBasedHeapCloning::setPAG(SVFIR *pag)
36
36
  bool TypeBasedHeapCloning::isBlkObjOrConstantObj(NodeID o) const
37
37
  {
38
38
  if (isClone(o)) o = cloneToOriginalObj.at(o);
39
- return SVFUtil::isa<ObjPN>(ppag->getGNode(o)) && ppag->isBlkObjOrConstantObj(o);
39
+ return SVFUtil::isa<ObjVar>(ppag->getGNode(o)) && ppag->isBlkObjOrConstantObj(o);
40
40
  }
41
41
 
42
42
  bool TypeBasedHeapCloning::isBase(const DIType *a, const DIType *b) const
@@ -120,7 +120,7 @@ void TypeBasedHeapCloning::addGepToObj(NodeID gep, NodeID base, unsigned offset)
120
120
  objToGeps[base].set(gep);
121
121
  const PAGNode *baseNode = ppag->getGNode(base);
122
122
  assert(baseNode && "TBHC: given bad base node?");
123
- const ObjPN *baseObj = SVFUtil::dyn_cast<ObjPN>(baseNode);
123
+ const ObjVar *baseObj = SVFUtil::dyn_cast<ObjVar>(baseNode);
124
124
  assert(baseObj && "TBHC: non-object given for base?");
125
125
  // We can use the base or the gep mem. obj.; should be identical.
126
126
  const MemObj *baseMemObj = baseObj->getMemObj();
@@ -147,7 +147,7 @@ const NodeBS TypeBasedHeapCloning::getGepObjClones(NodeID base, unsigned offset)
147
147
 
148
148
  PAGNode *node = ppag->getGNode(base);
149
149
  assert(node && "TBHC: base object node does not exist.");
150
- ObjPN *baseNode = SVFUtil::dyn_cast<ObjPN>(node);
150
+ ObjVar *baseNode = SVFUtil::dyn_cast<ObjVar>(node);
151
151
  assert(baseNode && "TBHC: base \"object\" node is not an object.");
152
152
 
153
153
  // totalOffset is the offset from the real base (i.e. base of base),
@@ -184,7 +184,7 @@ const NodeBS TypeBasedHeapCloning::getGepObjClones(NodeID base, unsigned offset)
184
184
  {
185
185
  PAGNode *node = ppag->getGNode(gep);
186
186
  assert(node && "TBHC: expected gep node doesn't exist.");
187
- assert((SVFUtil::isa<GepObjPN>(node) || SVFUtil::isa<FIObjPN>(node))
187
+ assert((SVFUtil::isa<GepObjPN>(node) || SVFUtil::isa<FIObjVar>(node))
188
188
  && "TBHC: expected a GEP or FI object.");
189
189
 
190
190
  if (GepObjPN *gepNode = SVFUtil::dyn_cast<GepObjPN>(node))
@@ -292,7 +292,7 @@ bool TypeBasedHeapCloning::init(NodeID loc, NodeID p, const DIType *tildet, bool
292
292
  // type if that object is field-insensitive.
293
293
  bool fieldInsensitive = false;
294
294
  std::vector<const DIType *> fieldTypes;
295
- if (ObjPN *obj = SVFUtil::dyn_cast<ObjPN>(ppag->getGNode(o)))
295
+ if (ObjVar *obj = SVFUtil::dyn_cast<ObjVar>(ppag->getGNode(o)))
296
296
  {
297
297
  fieldInsensitive = obj->getMemObj()->isFieldInsensitive();
298
298
  if (tp != nullptr && (tp->getTag() == dwarf::DW_TAG_structure_type
@@ -314,14 +314,14 @@ bool TypeBasedHeapCloning::init(NodeID loc, NodeID p, const DIType *tildet, bool
314
314
  assert(!isGep(obj) && "TBHC: GEP object is untyped!");
315
315
  prop = cloneObject(o, tildet, false);
316
316
  ++numInit;
317
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGInit;
317
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGInit;
318
318
  }
319
319
  else if (fieldInsensitive && tp && dchg->isFieldOf(tildet, tp))
320
320
  {
321
321
  // Field-insensitive object but the instruction is operating on a field.
322
322
  prop = o;
323
323
  ++numTBWU;
324
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGTBWU;
324
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGTBWU;
325
325
  }
326
326
  else if (gep && aggs.find(tildet) != aggs.end())
327
327
  {
@@ -334,7 +334,7 @@ bool TypeBasedHeapCloning::init(NodeID loc, NodeID p, const DIType *tildet, bool
334
334
  // 'Struct S', not 'Array of S'.
335
335
  prop = cloneObject(o, tildet, false);
336
336
  ++numAgg;
337
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGAgg;
337
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGAgg;
338
338
  }
339
339
  else if (isBase(tp, tildet) && tp != tildet
340
340
  && (reuse || dchg->isFirstField(tp, tildet) || (!reuse && pta->isHeapMemObj(o))))
@@ -349,21 +349,21 @@ bool TypeBasedHeapCloning::init(NodeID loc, NodeID p, const DIType *tildet, bool
349
349
  // - reuse: because it can happen to stack/heap objects.
350
350
  prop = cloneObject(o, tildet, reuse);
351
351
  ++numTBSSU;
352
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGTBSSU;
352
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGTBSSU;
353
353
  }
354
354
  else if (isBase(tildet, tp))
355
355
  {
356
356
  // Upcast.
357
357
  prop = o;
358
358
  ++numTBWU;
359
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGTBWU;
359
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGTBWU;
360
360
  }
361
361
  else if (tildet != tp && reuse)
362
362
  {
363
363
  // Reuse.
364
364
  prop = cloneObject(o, tildet, true);
365
365
  ++numReuse;
366
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGReuse;
366
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGReuse;
367
367
  }
368
368
  else
369
369
  {
@@ -371,7 +371,7 @@ bool TypeBasedHeapCloning::init(NodeID loc, NodeID p, const DIType *tildet, bool
371
371
  filter = true;
372
372
  prop = o;
373
373
  ++numTBSU;
374
- if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjPN>(obj)) ++numSGTBSU;
374
+ if (!pta->isHeapMemObj(o) && !SVFUtil::isa<DummyObjVar>(obj)) ++numSGTBSU;
375
375
  }
376
376
 
377
377
  if (prop != o)
@@ -435,10 +435,10 @@ NodeID TypeBasedHeapCloning::cloneObject(NodeID o, const DIType *type, bool)
435
435
  // IN sets and gepToSVFGRetriever in FSTBHC, so we don't care that clone comes
436
436
  // from o (we can get that by checking the base and offset).
437
437
  setOriginalObj(clone, getOriginalObj(o));
438
- CloneGepObjPN *cloneGepObj = SVFUtil::dyn_cast<CloneGepObjPN>(ppag->getGNode(clone));
438
+ CloneGepObjVar *cloneGepObj = SVFUtil::dyn_cast<CloneGepObjVar>(ppag->getGNode(clone));
439
439
  cloneGepObj->setBaseNode(gepObj->getBaseNode());
440
440
  }
441
- else if (SVFUtil::isa<FIObjPN>(obj) || SVFUtil::isa<DummyObjPN>(obj))
441
+ else if (SVFUtil::isa<FIObjVar>(obj) || SVFUtil::isa<DummyObjVar>(obj))
442
442
  {
443
443
  o = getOriginalObj(o);
444
444
  // Check there isn't an appropriate clone already.
@@ -451,13 +451,13 @@ NodeID TypeBasedHeapCloning::cloneObject(NodeID o, const DIType *type, bool)
451
451
  }
452
452
  }
453
453
 
454
- if (const FIObjPN *fiObj = SVFUtil::dyn_cast<FIObjPN>(obj))
454
+ if (const FIObjVar *fiObj = SVFUtil::dyn_cast<FIObjVar>(obj))
455
455
  {
456
456
  clone = addCloneFIObjNode(fiObj->getMemObj());
457
457
  }
458
458
  else
459
459
  {
460
- const DummyObjPN *dummyObj = SVFUtil::dyn_cast<DummyObjPN>(obj);
460
+ const DummyObjVar *dummyObj = SVFUtil::dyn_cast<DummyObjVar>(obj);
461
461
  clone = addCloneDummyObjNode(dummyObj->getMemObj());
462
462
  }
463
463
  // We checked above that it's an FIObj or a DummyObj.
@@ -501,19 +501,19 @@ const MDNode *TypeBasedHeapCloning::getRawCTirMetadata(const Value *v)
501
501
  NodeID TypeBasedHeapCloning::addCloneDummyObjNode(const MemObj *mem)
502
502
  {
503
503
  NodeID id = NodeIDAllocator::get()->allocateObjectId();
504
- return ppag->addObjNode(nullptr, new CloneDummyObjPN(id, mem), id);
504
+ return ppag->addObjNode(nullptr, new CloneDummyObjVar(id, mem), id);
505
505
  }
506
506
 
507
507
  NodeID TypeBasedHeapCloning::addCloneGepObjNode(const MemObj *mem, const LocationSet &l)
508
508
  {
509
509
  NodeID id = NodeIDAllocator::get()->allocateObjectId();
510
- return ppag->addObjNode(mem->getValue(), new CloneGepObjPN(mem, id, l), id);
510
+ return ppag->addObjNode(mem->getValue(), new CloneGepObjVar(mem, id, l), id);
511
511
  }
512
512
 
513
513
  NodeID TypeBasedHeapCloning::addCloneFIObjNode(const MemObj *mem)
514
514
  {
515
515
  NodeID id = NodeIDAllocator::get()->allocateObjectId();
516
- return ppag->addObjNode(mem->getValue(), new CloneFIObjPN(mem->getValue(), id, mem), id);
516
+ return ppag->addObjNode(mem->getValue(), new CloneFIObjVar(mem->getValue(), id, mem), id);
517
517
  }
518
518
 
519
519
  const DIType *TypeBasedHeapCloning::getTypeFromCTirMetadata(const Value *v)
@@ -135,7 +135,7 @@ void AndersenSFR::fieldExpand(NodeSet& initials, Size_t offset, NodeBS& strides,
135
135
  Size_t initOffset;
136
136
  if (GepObjPN *gepNode = SVFUtil::dyn_cast<GepObjPN>(initPN))
137
137
  initOffset = gepNode->getLocationSet().getOffset();
138
- else if (SVFUtil::isa<FIObjPN>(initPN) || SVFUtil::isa<DummyObjPN>(initPN))
138
+ else if (SVFUtil::isa<FIObjVar>(initPN) || SVFUtil::isa<DummyObjVar>(initPN))
139
139
  initOffset = 0;
140
140
  else
141
141
  assert(false && "Not an object node!!");
@@ -74,7 +74,7 @@ void AndersenStat::collectCycleInfo(ConstraintGraph* consCG)
74
74
  {
75
75
  NodeID nodeId = *it;
76
76
  PAGNode* pagNode = pta->getPAG()->getGNode(nodeId);
77
- if (SVFUtil::isa<ObjPN>(pagNode) && pta->isFieldInsensitive(nodeId))
77
+ if (SVFUtil::isa<ObjVar>(pagNode) && pta->isFieldInsensitive(nodeId))
78
78
  {
79
79
  NodeID baseId = consCG->getBaseObjNode(nodeId);
80
80
  clone.reset(nodeId);
@@ -145,7 +145,7 @@ void AndersenStat::constraintGraphStat()
145
145
  if(nodeIt->second->getInEdges().empty() && nodeIt->second->getOutEdges().empty())
146
146
  continue;
147
147
  cgNodeNumber++;
148
- if(SVFUtil::isa<ObjPN>(pta->getPAG()->getGNode(nodeIt->first)))
148
+ if(SVFUtil::isa<ObjVar>(pta->getPAG()->getGNode(nodeIt->first)))
149
149
  objNodeNumber++;
150
150
 
151
151
  u32_t nCopyIn = nodeIt->second->getDirectInEdges().size();
@@ -244,7 +244,7 @@ void AndersenStat::statNullPtr()
244
244
  {
245
245
  std::string str;
246
246
  raw_string_ostream rawstr(str);
247
- if (!SVFUtil::isa<DummyValPN>(pagNode) && !SVFUtil::isa<DummyObjPN>(pagNode) )
247
+ if (!SVFUtil::isa<DummyValVar>(pagNode) && !SVFUtil::isa<DummyObjVar>(pagNode) )
248
248
  {
249
249
  // if a pointer is in dead function, we do not care
250
250
  if(isPtrInDeadFunction(pagNode->getValue()) == false)
@@ -472,7 +472,7 @@ bool FlowSensitive::processGep(const GepSVFGNode* edge)
472
472
  const PointsTo& srcPts = getPts(edge->getPAGSrcNodeID());
473
473
 
474
474
  PointsTo tmpDstPts;
475
- if (SVFUtil::isa<VariantGepPE>(edge->getPAGEdge()))
475
+ if (SVFUtil::isa<VariantGepStmt>(edge->getPAGEdge()))
476
476
  {
477
477
  for (NodeID o : srcPts)
478
478
  {
@@ -486,7 +486,7 @@ bool FlowSensitive::processGep(const GepSVFGNode* edge)
486
486
  tmpDstPts.set(getFIObjNode(o));
487
487
  }
488
488
  }
489
- else if (const NormalGepPE* normalGep = SVFUtil::dyn_cast<NormalGepPE>(edge->getPAGEdge()))
489
+ else if (const NormalGepStmt* normalGep = SVFUtil::dyn_cast<NormalGepStmt>(edge->getPAGEdge()))
490
490
  {
491
491
  for (NodeID o : srcPts)
492
492
  {
@@ -107,7 +107,7 @@ void FlowSensitiveStat::performStat()
107
107
  {
108
108
  NodeID nodeId = nodeIt->first;
109
109
  PAGNode* pagNode = nodeIt->second;
110
- if(SVFUtil::isa<ObjPN>(pagNode))
110
+ if(SVFUtil::isa<ObjVar>(pagNode))
111
111
  {
112
112
  const MemObj * memObj = pag->getBaseObj(nodeId);
113
113
  SymID baseId = memObj->getId();
@@ -294,7 +294,7 @@ void FlowSensitiveStat::statNullPtr()
294
294
  {
295
295
  std::string str;
296
296
  raw_string_ostream rawstr(str);
297
- if (!SVFUtil::isa<DummyValPN>(pagNode) && !SVFUtil::isa<DummyObjPN>(pagNode))
297
+ if (!SVFUtil::isa<DummyValVar>(pagNode) && !SVFUtil::isa<DummyObjVar>(pagNode))
298
298
  {
299
299
  // if a pointer is in dead function, we do not care
300
300
  if(isPtrInDeadFunction(pagNode->getValue()) == false)
@@ -69,7 +69,7 @@ void FlowSensitiveTBHC::backPropagate(NodeID clone)
69
69
  assert(cloneObj && "FSTBHC: original object does not exist in SVFIR?");
70
70
  // Check the original object too because when reuse of a gep occurs, the new object
71
71
  // is an FI object.
72
- if (SVFUtil::isa<CloneGepObjPN>(cloneObj) || SVFUtil::isa<GepObjPN>(originalObj))
72
+ if (SVFUtil::isa<CloneGepObjVar>(cloneObj) || SVFUtil::isa<GepObjPN>(originalObj))
73
73
  {
74
74
  // Since getGepObjClones is updated, some GEP nodes need to be redone.
75
75
  const NodeBS &retrievers = gepToSVFGRetrievers[getOriginalObj(clone)];
@@ -78,7 +78,7 @@ void FlowSensitiveTBHC::backPropagate(NodeID clone)
78
78
  pushIntoWorklist(r);
79
79
  }
80
80
  }
81
- else if (SVFUtil::isa<CloneFIObjPN>(cloneObj) || SVFUtil::isa<CloneDummyObjPN>(cloneObj))
81
+ else if (SVFUtil::isa<CloneFIObjVar>(cloneObj) || SVFUtil::isa<CloneDummyObjVar>(cloneObj))
82
82
  {
83
83
  pushIntoWorklist(getAllocationSite(getOriginalObj(clone)));
84
84
  }
@@ -299,7 +299,7 @@ bool FlowSensitiveTBHC::processGep(const GepSVFGNode* gep)
299
299
  }
300
300
  else
301
301
  {
302
- if (SVFUtil::isa<VariantGepPE>(gep->getPAGEdge()))
302
+ if (SVFUtil::isa<VariantGepStmt>(gep->getPAGEdge()))
303
303
  {
304
304
  setObjFieldInsensitive(oq);
305
305
  tmpDstPts.set(oq);
@@ -314,7 +314,7 @@ bool FlowSensitiveTBHC::processGep(const GepSVFGNode* gep)
314
314
  }
315
315
  }
316
316
  }
317
- else if (const NormalGepPE* normalGep = SVFUtil::dyn_cast<NormalGepPE>(gep->getPAGEdge()))
317
+ else if (const NormalGepStmt* normalGep = SVFUtil::dyn_cast<NormalGepStmt>(gep->getPAGEdge()))
318
318
  {
319
319
  const DIType *baseType = getType(oq);
320
320
 
@@ -36,7 +36,7 @@ VersionedFlowSensitive::VersionedFlowSensitive(SVFIR *_pag, PTATY type)
36
36
 
37
37
  for (SVFIR::const_iterator it = pag->begin(); it != pag->end(); ++it)
38
38
  {
39
- if (SVFUtil::isa<ObjPN>(it->second)) equivalentObject[it->first] = it->first;
39
+ if (SVFUtil::isa<ObjVar>(it->second)) equivalentObject[it->first] = it->first;
40
40
  }
41
41
 
42
42
  assert(!Options::OPTSVFG && "VFS: -opt-svfg not currently supported with VFS.");
@@ -53,7 +53,7 @@ void VersionedFlowSensitiveStat::performStat()
53
53
  {
54
54
  NodeID nodeId = it->first;
55
55
  PAGNode* pagNode = it->second;
56
- if (SVFUtil::isa<ObjPN>(pagNode))
56
+ if (SVFUtil::isa<ObjVar>(pagNode))
57
57
  {
58
58
  const MemObj *memObj = pag->getBaseObj(nodeId);
59
59
  SymID baseId = memObj->getId();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.321",
3
+ "version": "1.0.322",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {