svf-tools 1.0.812 → 1.0.813

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 (279) hide show
  1. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +21 -21
  2. package/SVF-doxygen/html/ConsExeState_8h_source.html +384 -385
  3. package/SVF-doxygen/html/ExeState_8cpp_source.html +24 -24
  4. package/SVF-doxygen/html/ExeState_8h_source.html +227 -217
  5. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +8 -8
  6. package/SVF-doxygen/html/IntervalExeState_8h_source.html +412 -408
  7. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +3 -3
  8. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +43 -43
  9. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +18 -18
  10. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +250 -262
  11. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +103 -101
  12. package/SVF-doxygen/html/SymState_8h_source.html +1 -1
  13. package/SVF-doxygen/html/classSVF_1_1ConsExeState-members.html +74 -74
  14. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +412 -394
  15. package/SVF-doxygen/html/classSVF_1_1ExeState-members.html +34 -34
  16. package/SVF-doxygen/html/classSVF_1_1ExeState.html +287 -272
  17. package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +78 -78
  18. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +445 -434
  19. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +3 -3
  20. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState-members.html +28 -28
  21. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +77 -77
  22. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +40 -40
  23. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +372 -372
  24. package/SVF-doxygen/html/classSVF_1_1SymState.html +2 -2
  25. package/SVF-doxygen/html/functions.html +6 -6
  26. package/SVF-doxygen/html/functions_a.html +13 -8
  27. package/SVF-doxygen/html/functions_b.html +3 -3
  28. package/SVF-doxygen/html/functions_e.html +2 -2
  29. package/SVF-doxygen/html/functions_func_e.html +2 -2
  30. package/SVF-doxygen/html/functions_func_g.html +32 -35
  31. package/SVF-doxygen/html/functions_func_i.html +11 -21
  32. package/SVF-doxygen/html/functions_func_l.html +6 -6
  33. package/SVF-doxygen/html/functions_func_n.html +3 -3
  34. package/SVF-doxygen/html/functions_func_p.html +2 -2
  35. package/SVF-doxygen/html/functions_func_s.html +7 -7
  36. package/SVF-doxygen/html/functions_func_w.html +3 -3
  37. package/SVF-doxygen/html/functions_g.html +27 -30
  38. package/SVF-doxygen/html/functions_i.html +13 -23
  39. package/SVF-doxygen/html/functions_l.html +8 -8
  40. package/SVF-doxygen/html/functions_n.html +7 -7
  41. package/SVF-doxygen/html/functions_o.html +4 -4
  42. package/SVF-doxygen/html/functions_p.html +9 -9
  43. package/SVF-doxygen/html/functions_r.html +1 -1
  44. package/SVF-doxygen/html/functions_s.html +19 -17
  45. package/SVF-doxygen/html/functions_t.html +7 -7
  46. package/SVF-doxygen/html/functions_type.html +5 -0
  47. package/SVF-doxygen/html/functions_type_v.html +3 -8
  48. package/SVF-doxygen/html/functions_v.html +13 -16
  49. package/SVF-doxygen/html/functions_vars.html +6 -6
  50. package/SVF-doxygen/html/functions_vars_g.html +2 -2
  51. package/SVF-doxygen/html/functions_w.html +3 -3
  52. package/SVF-doxygen/html/search/all_0.js +4 -4
  53. package/SVF-doxygen/html/search/all_1.js +210 -209
  54. package/SVF-doxygen/html/search/all_10.js +324 -324
  55. package/SVF-doxygen/html/search/all_11.js +222 -222
  56. package/SVF-doxygen/html/search/all_12.js +544 -544
  57. package/SVF-doxygen/html/search/all_13.js +191 -191
  58. package/SVF-doxygen/html/search/all_14.js +67 -67
  59. package/SVF-doxygen/html/search/all_15.js +167 -169
  60. package/SVF-doxygen/html/search/all_16.js +63 -63
  61. package/SVF-doxygen/html/search/all_17.js +1 -1
  62. package/SVF-doxygen/html/search/all_18.js +1 -1
  63. package/SVF-doxygen/html/search/all_19.js +11 -11
  64. package/SVF-doxygen/html/search/all_1a.js +172 -172
  65. package/SVF-doxygen/html/search/all_2.js +169 -169
  66. package/SVF-doxygen/html/search/all_3.js +642 -642
  67. package/SVF-doxygen/html/search/all_4.js +233 -233
  68. package/SVF-doxygen/html/search/all_5.js +119 -119
  69. package/SVF-doxygen/html/search/all_6.js +225 -225
  70. package/SVF-doxygen/html/search/all_7.js +946 -947
  71. package/SVF-doxygen/html/search/all_9.js +481 -486
  72. package/SVF-doxygen/html/search/all_a.js +46 -46
  73. package/SVF-doxygen/html/search/all_b.js +26 -26
  74. package/SVF-doxygen/html/search/all_c.js +116 -116
  75. package/SVF-doxygen/html/search/all_d.js +196 -196
  76. package/SVF-doxygen/html/search/all_e.js +207 -207
  77. package/SVF-doxygen/html/search/all_f.js +115 -115
  78. package/SVF-doxygen/html/search/classes_0.js +26 -26
  79. package/SVF-doxygen/html/search/classes_1.js +9 -9
  80. package/SVF-doxygen/html/search/classes_10.js +73 -73
  81. package/SVF-doxygen/html/search/classes_11.js +15 -15
  82. package/SVF-doxygen/html/search/classes_12.js +2 -2
  83. package/SVF-doxygen/html/search/classes_13.js +10 -10
  84. package/SVF-doxygen/html/search/classes_14.js +14 -14
  85. package/SVF-doxygen/html/search/classes_15.js +1 -1
  86. package/SVF-doxygen/html/search/classes_2.js +80 -80
  87. package/SVF-doxygen/html/search/classes_3.js +37 -37
  88. package/SVF-doxygen/html/search/classes_4.js +9 -9
  89. package/SVF-doxygen/html/search/classes_5.js +28 -28
  90. package/SVF-doxygen/html/search/classes_6.js +104 -104
  91. package/SVF-doxygen/html/search/classes_7.js +33 -33
  92. package/SVF-doxygen/html/search/classes_8.js +56 -56
  93. package/SVF-doxygen/html/search/classes_9.js +1 -1
  94. package/SVF-doxygen/html/search/classes_a.js +12 -12
  95. package/SVF-doxygen/html/search/classes_b.js +29 -29
  96. package/SVF-doxygen/html/search/classes_c.js +6 -6
  97. package/SVF-doxygen/html/search/classes_d.js +18 -18
  98. package/SVF-doxygen/html/search/classes_e.js +36 -36
  99. package/SVF-doxygen/html/search/classes_f.js +25 -25
  100. package/SVF-doxygen/html/search/defines_0.js +3 -3
  101. package/SVF-doxygen/html/search/defines_1.js +2 -2
  102. package/SVF-doxygen/html/search/defines_2.js +30 -30
  103. package/SVF-doxygen/html/search/defines_3.js +21 -21
  104. package/SVF-doxygen/html/search/defines_4.js +2 -2
  105. package/SVF-doxygen/html/search/defines_5.js +4 -4
  106. package/SVF-doxygen/html/search/defines_6.js +2 -2
  107. package/SVF-doxygen/html/search/defines_7.js +5 -5
  108. package/SVF-doxygen/html/search/defines_8.js +11 -11
  109. package/SVF-doxygen/html/search/defines_9.js +9 -9
  110. package/SVF-doxygen/html/search/defines_a.js +2 -2
  111. package/SVF-doxygen/html/search/defines_b.js +1 -1
  112. package/SVF-doxygen/html/search/defines_c.js +3 -3
  113. package/SVF-doxygen/html/search/defines_d.js +2 -2
  114. package/SVF-doxygen/html/search/defines_e.js +7 -7
  115. package/SVF-doxygen/html/search/defines_f.js +3 -3
  116. package/SVF-doxygen/html/search/enums_0.js +3 -3
  117. package/SVF-doxygen/html/search/enums_1.js +2 -2
  118. package/SVF-doxygen/html/search/enums_10.js +1 -1
  119. package/SVF-doxygen/html/search/enums_11.js +1 -1
  120. package/SVF-doxygen/html/search/enums_2.js +8 -8
  121. package/SVF-doxygen/html/search/enums_3.js +1 -1
  122. package/SVF-doxygen/html/search/enums_4.js +3 -3
  123. package/SVF-doxygen/html/search/enums_5.js +1 -1
  124. package/SVF-doxygen/html/search/enums_6.js +2 -2
  125. package/SVF-doxygen/html/search/enums_7.js +2 -2
  126. package/SVF-doxygen/html/search/enums_8.js +4 -4
  127. package/SVF-doxygen/html/search/enums_9.js +1 -1
  128. package/SVF-doxygen/html/search/enums_a.js +1 -1
  129. package/SVF-doxygen/html/search/enums_b.js +7 -7
  130. package/SVF-doxygen/html/search/enums_c.js +1 -1
  131. package/SVF-doxygen/html/search/enums_d.js +4 -4
  132. package/SVF-doxygen/html/search/enums_e.js +2 -2
  133. package/SVF-doxygen/html/search/enums_f.js +4 -4
  134. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  135. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  136. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  137. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  138. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  139. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  140. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  141. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  142. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  143. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  144. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  145. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  146. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  147. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  148. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  149. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  150. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  151. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  152. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  153. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  154. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  155. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  156. package/SVF-doxygen/html/search/files_0.js +13 -13
  157. package/SVF-doxygen/html/search/files_1.js +7 -7
  158. package/SVF-doxygen/html/search/files_10.js +8 -8
  159. package/SVF-doxygen/html/search/files_11.js +8 -8
  160. package/SVF-doxygen/html/search/files_12.js +2 -2
  161. package/SVF-doxygen/html/search/files_2.js +55 -55
  162. package/SVF-doxygen/html/search/files_3.js +14 -14
  163. package/SVF-doxygen/html/search/files_4.js +5 -5
  164. package/SVF-doxygen/html/search/files_5.js +13 -13
  165. package/SVF-doxygen/html/search/files_6.js +9 -9
  166. package/SVF-doxygen/html/search/files_7.js +14 -14
  167. package/SVF-doxygen/html/search/files_8.js +13 -13
  168. package/SVF-doxygen/html/search/files_9.js +18 -18
  169. package/SVF-doxygen/html/search/files_a.js +3 -3
  170. package/SVF-doxygen/html/search/files_b.js +2 -2
  171. package/SVF-doxygen/html/search/files_c.js +20 -20
  172. package/SVF-doxygen/html/search/files_d.js +4 -4
  173. package/SVF-doxygen/html/search/files_e.js +62 -62
  174. package/SVF-doxygen/html/search/files_f.js +8 -8
  175. package/SVF-doxygen/html/search/functions_0.js +12 -12
  176. package/SVF-doxygen/html/search/functions_1.js +360 -360
  177. package/SVF-doxygen/html/search/functions_10.js +140 -140
  178. package/SVF-doxygen/html/search/functions_11.js +138 -138
  179. package/SVF-doxygen/html/search/functions_12.js +279 -279
  180. package/SVF-doxygen/html/search/functions_13.js +59 -59
  181. package/SVF-doxygen/html/search/functions_14.js +39 -39
  182. package/SVF-doxygen/html/search/functions_15.js +71 -71
  183. package/SVF-doxygen/html/search/functions_16.js +32 -32
  184. package/SVF-doxygen/html/search/functions_17.js +3 -3
  185. package/SVF-doxygen/html/search/functions_18.js +172 -172
  186. package/SVF-doxygen/html/search/functions_2.js +87 -87
  187. package/SVF-doxygen/html/search/functions_3.js +257 -257
  188. package/SVF-doxygen/html/search/functions_4.js +75 -75
  189. package/SVF-doxygen/html/search/functions_5.js +53 -53
  190. package/SVF-doxygen/html/search/functions_6.js +59 -59
  191. package/SVF-doxygen/html/search/functions_7.js +852 -853
  192. package/SVF-doxygen/html/search/functions_8.js +149 -149
  193. package/SVF-doxygen/html/search/functions_9.js +423 -428
  194. package/SVF-doxygen/html/search/functions_a.js +30 -30
  195. package/SVF-doxygen/html/search/functions_b.js +2 -2
  196. package/SVF-doxygen/html/search/functions_c.js +26 -26
  197. package/SVF-doxygen/html/search/functions_d.js +77 -77
  198. package/SVF-doxygen/html/search/functions_e.js +35 -35
  199. package/SVF-doxygen/html/search/functions_f.js +56 -56
  200. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  201. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  202. package/SVF-doxygen/html/search/related_0.js +2 -2
  203. package/SVF-doxygen/html/search/related_1.js +2 -2
  204. package/SVF-doxygen/html/search/related_2.js +2 -2
  205. package/SVF-doxygen/html/search/related_3.js +2 -2
  206. package/SVF-doxygen/html/search/related_4.js +2 -2
  207. package/SVF-doxygen/html/search/related_5.js +1 -1
  208. package/SVF-doxygen/html/search/related_6.js +2 -2
  209. package/SVF-doxygen/html/search/related_7.js +4 -4
  210. package/SVF-doxygen/html/search/related_8.js +2 -2
  211. package/SVF-doxygen/html/search/related_9.js +4 -4
  212. package/SVF-doxygen/html/search/related_a.js +19 -19
  213. package/SVF-doxygen/html/search/related_b.js +4 -4
  214. package/SVF-doxygen/html/search/related_c.js +1 -1
  215. package/SVF-doxygen/html/search/related_d.js +12 -12
  216. package/SVF-doxygen/html/search/related_e.js +2 -2
  217. package/SVF-doxygen/html/search/related_f.js +2 -2
  218. package/SVF-doxygen/html/search/typedefs_0.js +19 -18
  219. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  220. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  221. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  222. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  223. package/SVF-doxygen/html/search/typedefs_13.js +33 -34
  224. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  225. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  226. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  227. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  228. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  229. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  230. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  231. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  232. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  233. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  234. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  235. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  236. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  237. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  238. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  239. package/SVF-doxygen/html/search/variables_0.js +151 -151
  240. package/SVF-doxygen/html/search/variables_1.js +75 -75
  241. package/SVF-doxygen/html/search/variables_10.js +97 -97
  242. package/SVF-doxygen/html/search/variables_11.js +44 -44
  243. package/SVF-doxygen/html/search/variables_12.js +92 -92
  244. package/SVF-doxygen/html/search/variables_13.js +75 -75
  245. package/SVF-doxygen/html/search/variables_14.js +14 -14
  246. package/SVF-doxygen/html/search/variables_15.js +48 -48
  247. package/SVF-doxygen/html/search/variables_16.js +9 -9
  248. package/SVF-doxygen/html/search/variables_17.js +1 -1
  249. package/SVF-doxygen/html/search/variables_18.js +2 -2
  250. package/SVF-doxygen/html/search/variables_2.js +38 -38
  251. package/SVF-doxygen/html/search/variables_3.js +142 -142
  252. package/SVF-doxygen/html/search/variables_4.js +55 -55
  253. package/SVF-doxygen/html/search/variables_5.js +37 -37
  254. package/SVF-doxygen/html/search/variables_6.js +66 -66
  255. package/SVF-doxygen/html/search/variables_7.js +33 -33
  256. package/SVF-doxygen/html/search/variables_8.js +7 -7
  257. package/SVF-doxygen/html/search/variables_9.js +78 -78
  258. package/SVF-doxygen/html/search/variables_a.js +4 -4
  259. package/SVF-doxygen/html/search/variables_b.js +10 -10
  260. package/SVF-doxygen/html/search/variables_c.js +45 -45
  261. package/SVF-doxygen/html/search/variables_d.js +56 -56
  262. package/SVF-doxygen/html/search/variables_e.js +123 -123
  263. package/SVF-doxygen/html/search/variables_f.js +29 -29
  264. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html +5 -5
  265. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +5 -5
  266. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +5 -5
  267. package/SVF-doxygen/html/svf-ex_8cpp.html +7 -7
  268. package/SVF-doxygen/html/svf-ex_8cpp_source.html +7 -7
  269. package/package.json +1 -1
  270. package/svf/include/AbstractExecution/ConsExeState.h +99 -96
  271. package/svf/include/AbstractExecution/ExeState.h +66 -53
  272. package/svf/include/AbstractExecution/IntervalExeState.h +66 -61
  273. package/svf/include/AbstractExecution/SVFIR2ConsExeState.h +7 -7
  274. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +20 -14
  275. package/svf/lib/AbstractExecution/ConsExeState.cpp +13 -13
  276. package/svf/lib/AbstractExecution/ExeState.cpp +19 -19
  277. package/svf/lib/AbstractExecution/IntervalExeState.cpp +4 -4
  278. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +36 -36
  279. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +80 -92
@@ -34,17 +34,17 @@ using namespace SVF;
34
34
 
35
35
  bool ExeState::operator==(const ExeState &rhs) const
36
36
  {
37
- return eqVarToVAddrs(_varToVAddrs, rhs._varToVAddrs) && eqVarToVAddrs(_locToVAddrs, rhs._locToVAddrs);
37
+ return eqVarToAddrs(_varToAddrs, rhs._varToAddrs) && eqVarToAddrs(_locToAddrs, rhs._locToAddrs);
38
38
  }
39
39
 
40
40
  bool ExeState::joinWith(const ExeState &other)
41
41
  {
42
42
  bool changed = false;
43
- for (auto it = other._varToVAddrs.begin(); it != other._varToVAddrs.end(); ++it)
43
+ for (auto it = other._varToAddrs.begin(); it != other._varToAddrs.end(); ++it)
44
44
  {
45
45
  auto key = it->first;
46
- auto oit = _varToVAddrs.find(key);
47
- if (oit != _varToVAddrs.end())
46
+ auto oit = _varToAddrs.find(key);
47
+ if (oit != _varToAddrs.end())
48
48
  {
49
49
  if(oit->second.join_with(it->second))
50
50
  changed = true;
@@ -52,14 +52,14 @@ bool ExeState::joinWith(const ExeState &other)
52
52
  else
53
53
  {
54
54
  changed = true;
55
- _varToVAddrs.emplace(key, it->second);
55
+ _varToAddrs.emplace(key, it->second);
56
56
  }
57
57
  }
58
- for (auto it = other._locToVAddrs.begin(); it != other._locToVAddrs.end(); ++it)
58
+ for (auto it = other._locToAddrs.begin(); it != other._locToAddrs.end(); ++it)
59
59
  {
60
60
  auto key = it->first;
61
- auto oit = _locToVAddrs.find(key);
62
- if (oit != _locToVAddrs.end())
61
+ auto oit = _locToAddrs.find(key);
62
+ if (oit != _locToAddrs.end())
63
63
  {
64
64
  if(oit->second.join_with(it->second))
65
65
  changed = true;
@@ -67,7 +67,7 @@ bool ExeState::joinWith(const ExeState &other)
67
67
  else
68
68
  {
69
69
  changed = true;
70
- _locToVAddrs.emplace(key, it->second);
70
+ _locToAddrs.emplace(key, it->second);
71
71
  }
72
72
  }
73
73
  return changed;
@@ -76,21 +76,21 @@ bool ExeState::joinWith(const ExeState &other)
76
76
  bool ExeState::meetWith(const ExeState &other)
77
77
  {
78
78
  bool changed = false;
79
- for (auto it = other._varToVAddrs.begin(); it != other._varToVAddrs.end(); ++it)
79
+ for (auto it = other._varToAddrs.begin(); it != other._varToAddrs.end(); ++it)
80
80
  {
81
81
  auto key = it->first;
82
- auto oit = _varToVAddrs.find(key);
83
- if (oit != _varToVAddrs.end())
82
+ auto oit = _varToAddrs.find(key);
83
+ if (oit != _varToAddrs.end())
84
84
  {
85
85
  if(oit->second.meet_with(it->second))
86
86
  changed = true;
87
87
  }
88
88
  }
89
- for (auto it = other._locToVAddrs.begin(); it != other._locToVAddrs.end(); ++it)
89
+ for (auto it = other._locToAddrs.begin(); it != other._locToAddrs.end(); ++it)
90
90
  {
91
91
  auto key = it->first;
92
- auto oit = _locToVAddrs.find(key);
93
- if (oit != _locToVAddrs.end())
92
+ auto oit = _locToAddrs.find(key);
93
+ if (oit != _locToAddrs.end())
94
94
  {
95
95
  if(oit->second.meet_with(it->second))
96
96
  changed = true;
@@ -101,14 +101,14 @@ bool ExeState::meetWith(const ExeState &other)
101
101
 
102
102
  u32_t ExeState::hash() const
103
103
  {
104
- size_t h = getVarToVAddrs().size() * 2;
104
+ size_t h = getVarToAddrs().size() * 2;
105
105
  Hash<u32_t> hf;
106
- for (const auto &t: getVarToVAddrs())
106
+ for (const auto &t: getVarToAddrs())
107
107
  {
108
108
  h ^= hf(t.first) + 0x9e3779b9 + (h << 6) + (h >> 2);
109
109
  }
110
- size_t h2 = getLocToVAddrs().size() * 2;
111
- for (const auto &t: getLocToVAddrs())
110
+ size_t h2 = getLocToAddrs().size() * 2;
111
+ for (const auto &t: getLocToAddrs())
112
112
  {
113
113
  h2 ^= hf(t.first) + 0x9e3779b9 + (h2 << 6) + (h2 >> 2);
114
114
  }
@@ -191,8 +191,8 @@ void IntervalExeState::printExprValues(std::ostream &oss) const
191
191
  oss << "-----------Var and Value-----------\n";
192
192
  printTable(_varToItvVal, oss);
193
193
  printTable(_locToItvVal, oss);
194
- printTable(_varToVAddrs, oss);
195
- printTable(_locToVAddrs, oss);
194
+ printTable(_varToAddrs, oss);
195
+ printTable(_locToAddrs, oss);
196
196
  oss << "-----------------------------------------\n";
197
197
  }
198
198
 
@@ -219,7 +219,7 @@ void IntervalExeState::printTable(const VarToValMap &table, std::ostream &oss) c
219
219
  }
220
220
  }
221
221
 
222
- void IntervalExeState::printTable(const VarToVAddrs &table, std::ostream &oss) const
222
+ void IntervalExeState::printTable(const VarToAddrs &table, std::ostream &oss) const
223
223
  {
224
224
  oss.flags(std::ios::left);
225
225
  std::set<NodeID> ordered;
@@ -230,7 +230,7 @@ void IntervalExeState::printTable(const VarToVAddrs &table, std::ostream &oss) c
230
230
  for (const auto &item: ordered)
231
231
  {
232
232
  oss << "Var" << std::to_string(item);
233
- VAddrs sim = table.at(item);
233
+ Addrs sim = table.at(item);
234
234
  oss << "\t Value: " << std::hex << "[ ";
235
235
  for (auto it = sim.begin(); it != sim.end(); ++it)
236
236
  {
@@ -35,9 +35,9 @@ using namespace std;
35
35
  SVFIR2ConsExeState::~SVFIR2ConsExeState()
36
36
  {
37
37
  ConsExeState::globalConsES._varToVal.clear();
38
- ConsExeState::globalConsES._varToVAddrs.clear();
38
+ ConsExeState::globalConsES._varToAddrs.clear();
39
39
  ConsExeState::globalConsES._locToVal.clear();
40
- ConsExeState::globalConsES._locToVAddrs.clear();
40
+ ConsExeState::globalConsES._locToAddrs.clear();
41
41
  }
42
42
  /// Translator for llvm ir
43
43
  //{%
@@ -55,7 +55,7 @@ void SVFIR2ConsExeState::translateAddr(const AddrStmt *addr)
55
55
  }
56
56
  else if (inVarToAddrsTable(addr->getRHSVarID()))
57
57
  {
58
- _es->globalConsES._varToVAddrs[addr->getLHSVarID()] = _es->globalConsES._varToVAddrs[addr->getRHSVarID()];
58
+ _es->globalConsES._varToAddrs[addr->getLHSVarID()] = _es->globalConsES._varToAddrs[addr->getRHSVarID()];
59
59
  }
60
60
  else
61
61
  {
@@ -74,7 +74,7 @@ void SVFIR2ConsExeState::translateBinary(const BinaryOPStmt *binary)
74
74
  u32_t op1 = binary->getOpVarID(1);
75
75
  u32_t res = binary->getResID();
76
76
  // rhs is not initialized
77
- if (!_es->inVarToVal(op0) || !_es->inVarToVal(op1))
77
+ if (!_es->inVarToValTable(op0) || !_es->inVarToValTable(op1))
78
78
  return;
79
79
 
80
80
  SingleAbsValue &lhs = (*_es)[op0], &rhs = (*_es)[op1];
@@ -196,7 +196,7 @@ void SVFIR2ConsExeState::translateCmp(const CmpStmt *cmp)
196
196
  else if (inVarToAddrsTable(op0) && inVarToAddrsTable(op1))
197
197
  {
198
198
 
199
- VAddrs &lhs = _es->getVAddrs(op0), &rhs = _es->getVAddrs(op1);
199
+ Addrs &lhs = _es->getAddrs(op0), &rhs = _es->getAddrs(op1);
200
200
  if (lhs.size() == 1)
201
201
  {
202
202
  (*_es)[res] = SingleAbsValue::topConstant();
@@ -346,7 +346,7 @@ void SVFIR2ConsExeState::translateLoad(const LoadStmt *load)
346
346
  u32_t lhs = load->getLHSVarID();
347
347
  if (inVarToAddrsTable(rhs))
348
348
  {
349
- const VAddrs &addrs = _es->getVAddrs(rhs);
349
+ const Addrs &addrs = _es->getAddrs(rhs);
350
350
  for (const auto &addr: addrs)
351
351
  {
352
352
  assert(isVirtualMemAddress(addr) && "not addr?");
@@ -355,13 +355,13 @@ void SVFIR2ConsExeState::translateLoad(const LoadStmt *load)
355
355
  {
356
356
  if (inLocToAddrsTable(objId))
357
357
  {
358
- _es->getVAddrs(lhs).setBottom();
358
+ _es->getAddrs(lhs).setBottom();
359
359
  }
360
360
  break;
361
361
  }
362
362
  else if (!load->getLHSVar()->getType() && inLocToAddrsTable(objId))
363
363
  {
364
- _es->getVAddrs(lhs).setBottom();
364
+ _es->getAddrs(lhs).setBottom();
365
365
  break;
366
366
  }
367
367
  else if (inLocToValTable(objId))
@@ -381,11 +381,11 @@ void SVFIR2ConsExeState::translateLoad(const LoadStmt *load)
381
381
  {
382
382
  if (!inVarToAddrsTable(lhs))
383
383
  {
384
- _es->getVAddrs(lhs) = _es->loadVAddrs(addr);
384
+ _es->getAddrs(lhs) = _es->loadAddrs(addr);
385
385
  }
386
386
  else
387
387
  {
388
- _es->getVAddrs(lhs).join_with(_es->loadVAddrs(addr));
388
+ _es->getAddrs(lhs).join_with(_es->loadAddrs(addr));
389
389
  }
390
390
  }
391
391
  }
@@ -393,11 +393,11 @@ void SVFIR2ConsExeState::translateLoad(const LoadStmt *load)
393
393
  {
394
394
  if (!inVarToAddrsTable(lhs))
395
395
  {
396
- _es->getVAddrs(lhs) = _es->loadVAddrs(addr);
396
+ _es->getAddrs(lhs) = _es->loadAddrs(addr);
397
397
  }
398
398
  else
399
399
  {
400
- _es->getVAddrs(lhs).join_with(_es->loadVAddrs(addr));
400
+ _es->getAddrs(lhs).join_with(_es->loadAddrs(addr));
401
401
  }
402
402
  }
403
403
  else if (inLocToValTable(objId))
@@ -428,7 +428,7 @@ void SVFIR2ConsExeState::translateStore(const StoreStmt *store)
428
428
  {
429
429
  if (inVarToValTable(rhs))
430
430
  {
431
- const VAddrs &addrs = _es->getVAddrs(lhs);
431
+ const Addrs &addrs = _es->getAddrs(lhs);
432
432
  for (const auto &addr: addrs)
433
433
  {
434
434
  assert(isVirtualMemAddress(addr) && "not addr?");
@@ -437,11 +437,11 @@ void SVFIR2ConsExeState::translateStore(const StoreStmt *store)
437
437
  }
438
438
  else if (inVarToAddrsTable(rhs))
439
439
  {
440
- const VAddrs &addrs = _es->getVAddrs(lhs);
440
+ const Addrs &addrs = _es->getAddrs(lhs);
441
441
  for (const auto &addr: addrs)
442
442
  {
443
443
  assert(isVirtualMemAddress(addr) && "not addr?");
444
- _es->storeVAddrs(addr, _es->getVAddrs(rhs));
444
+ _es->storeAddrs(addr, _es->getAddrs(rhs));
445
445
  }
446
446
  }
447
447
  }
@@ -468,7 +468,7 @@ void SVFIR2ConsExeState::translateCopy(const CopyStmt *copy)
468
468
  }
469
469
  else if (inVarToAddrsTable(rhs))
470
470
  {
471
- _es->getVAddrs(lhs) = _es->getVAddrs(rhs);
471
+ _es->getAddrs(lhs) = _es->getAddrs(rhs);
472
472
  }
473
473
  }
474
474
  }
@@ -488,7 +488,7 @@ void SVFIR2ConsExeState::translateCall(const CallPE *callPE)
488
488
  }
489
489
  else if (inVarToAddrsTable(rhs))
490
490
  {
491
- _es->getVAddrs(lhs) = _es->getVAddrs(rhs);
491
+ _es->getAddrs(lhs) = _es->getAddrs(rhs);
492
492
  }
493
493
  }
494
494
 
@@ -502,7 +502,7 @@ void SVFIR2ConsExeState::translateRet(const RetPE *retPE)
502
502
  }
503
503
  else if (inVarToAddrsTable(rhs))
504
504
  {
505
- _es->getVAddrs(lhs) = _es->getVAddrs(rhs);
505
+ _es->getAddrs(lhs) = _es->getAddrs(rhs);
506
506
  }
507
507
  }
508
508
 
@@ -517,7 +517,7 @@ void SVFIR2ConsExeState::translateGep(const GepStmt *gep, bool isGlobal)
517
517
  u32_t lhs = gep->getLHSVarID();
518
518
  // rhs is not initialized
519
519
  if (!inVarToAddrsTable(rhs)) return;
520
- const VAddrs &rhsVal = _es->getVAddrs(rhs);
520
+ const Addrs &rhsVal = _es->getAddrs(rhs);
521
521
  if (rhsVal.empty()) return;
522
522
  std::pair<s32_t, s32_t> offset = getGepOffset(gep);
523
523
  if (offset.first == -1 && offset.second == -1) return;
@@ -525,7 +525,7 @@ void SVFIR2ConsExeState::translateGep(const GepStmt *gep, bool isGlobal)
525
525
  {
526
526
  return;
527
527
  }
528
- VAddrs gepAddrs;
528
+ Addrs gepAddrs;
529
529
  s32_t ub = offset.second;
530
530
  if (offset.second > (s32_t) Options::MaxFieldLimit() - 1)
531
531
  {
@@ -536,7 +536,7 @@ void SVFIR2ConsExeState::translateGep(const GepStmt *gep, bool isGlobal)
536
536
  gepAddrs.join_with(getGepObjAddress(rhs, i));
537
537
  }
538
538
  if (gepAddrs.empty()) return;
539
- _es->getVAddrs(lhs) = gepAddrs;
539
+ _es->getAddrs(lhs) = gepAddrs;
540
540
  return;
541
541
  }
542
542
 
@@ -579,10 +579,10 @@ void SVFIR2ConsExeState::translatePhi(const PhiStmt *phi)
579
579
  * @param offset
580
580
  * @return
581
581
  */
582
- SVFIR2ConsExeState::VAddrs SVFIR2ConsExeState::getGepObjAddress(u32_t base, s32_t offset)
582
+ SVFIR2ConsExeState::Addrs SVFIR2ConsExeState::getGepObjAddress(u32_t base, s32_t offset)
583
583
  {
584
- const VAddrs &addrs = _es->getVAddrs(base);
585
- VAddrs ret;
584
+ const Addrs &addrs = _es->getAddrs(base);
585
+ Addrs ret;
586
586
  for (const auto &addr: addrs)
587
587
  {
588
588
  int64_t baseObj = getInternalID(addr);
@@ -594,7 +594,7 @@ SVFIR2ConsExeState::VAddrs SVFIR2ConsExeState::getGepObjAddress(u32_t base, s32_
594
594
  assert(SVFUtil::isa<ObjVar>(PAG::getPAG()->getGNode(baseObj)) && "Fail to get the base object address!");
595
595
  NodeID gepObj = PAG::getPAG()->getGepObjVar(baseObj, offset);
596
596
  initSVFVar(gepObj);
597
- if (offset == 0 && baseObj != gepObj) _es->getVAddrs(gepObj) = _es->getVAddrs(base);
597
+ if (offset == 0 && baseObj != gepObj) _es->getAddrs(gepObj) = _es->getAddrs(base);
598
598
  ret.insert(getVirtualMemAddress(gepObj));
599
599
  }
600
600
  return ret;
@@ -736,7 +736,7 @@ void SVFIR2ConsExeState::initObjVar(const ObjVar *objVar, u32_t varId)
736
736
  else if (SVFUtil::isa<SVFConstantNullPtr>(obj->getValue()))
737
737
  _es->globalConsES._varToVal[varId] = 0;
738
738
  else if (SVFUtil::isa<SVFGlobalValue>(obj->getValue()))
739
- _es->globalConsES._varToVAddrs[varId] = getVirtualMemAddress(varId);
739
+ _es->globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);
740
740
  else if (obj->isConstDataOrAggData())
741
741
  {
742
742
  // TODO
@@ -750,19 +750,19 @@ void SVFIR2ConsExeState::initObjVar(const ObjVar *objVar, u32_t varId)
750
750
  }
751
751
  else
752
752
  {
753
- _es->globalConsES._varToVAddrs[varId] = getVirtualMemAddress(varId);
753
+ _es->globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);
754
754
  }
755
755
  }
756
756
  else
757
757
  {
758
- _es->globalConsES._varToVAddrs[varId] = getVirtualMemAddress(varId);
758
+ _es->globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);
759
759
  }
760
760
  }
761
761
 
762
762
 
763
763
  void SVFIR2ConsExeState::initSVFVar(u32_t varId)
764
764
  {
765
- if (_es->inVarToVal(varId)) return;
765
+ if (_es->inVarToValTable(varId)) return;
766
766
  SVFIR *svfir = PAG::getPAG();
767
767
  SVFVar *svfVar = svfir->getGNode(varId);
768
768
  // write objvar into cache instead of exestate
@@ -793,17 +793,17 @@ void SVFIR2ConsExeState::moveToGlobal()
793
793
  {
794
794
  ConsExeState::globalConsES._locToVal.insert(it);
795
795
  }
796
- for (const auto &it: _es->_varToVAddrs)
796
+ for (const auto &it: _es->_varToAddrs)
797
797
  {
798
- ConsExeState::globalConsES._varToVAddrs.insert(it);
798
+ ConsExeState::globalConsES._varToAddrs.insert(it);
799
799
  }
800
- for (const auto &it: _es->_locToVAddrs)
800
+ for (const auto &it: _es->_locToAddrs)
801
801
  {
802
- ConsExeState::globalConsES._locToVAddrs.insert(it);
802
+ ConsExeState::globalConsES._locToAddrs.insert(it);
803
803
  }
804
- ConsExeState::globalConsES._varToVAddrs[0] = ConsExeState::getVirtualMemAddress(0);
804
+ ConsExeState::globalConsES._varToAddrs[0] = ConsExeState::getVirtualMemAddress(0);
805
805
  _es->_varToVal.clear();
806
806
  _es->_locToVal.clear();
807
- _es->_varToVAddrs.clear();
808
- _es->_locToVAddrs.clear();
807
+ _es->_varToAddrs.clear();
808
+ _es->_locToAddrs.clear();
809
809
  }