svf-tools 1.0.849 → 1.0.850

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 (284) hide show
  1. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +293 -217
  2. package/SVF-doxygen/html/IntervalExeState_8h.html +2 -0
  3. package/SVF-doxygen/html/IntervalExeState_8h_source.html +622 -435
  4. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +60 -60
  5. package/SVF-doxygen/html/RelationSolver_8h_source.html +16 -16
  6. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +10 -10
  7. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +8 -8
  8. package/SVF-doxygen/html/annotated.html +215 -214
  9. package/SVF-doxygen/html/classSVF_1_1ExeState.html +9 -8
  10. package/SVF-doxygen/html/classSVF_1_1ExeState.png +0 -0
  11. package/SVF-doxygen/html/classSVF_1_1IntervalESBase-members.html +168 -0
  12. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2331 -0
  13. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.png +0 -0
  14. package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +79 -62
  15. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +497 -1381
  16. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.png +0 -0
  17. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +8 -8
  18. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +100 -100
  19. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +29 -29
  20. package/SVF-doxygen/html/classes.html +232 -231
  21. package/SVF-doxygen/html/functions.html +2 -2
  22. package/SVF-doxygen/html/functions_a.html +1 -1
  23. package/SVF-doxygen/html/functions_b.html +4 -4
  24. package/SVF-doxygen/html/functions_c.html +2 -2
  25. package/SVF-doxygen/html/functions_e.html +4 -3
  26. package/SVF-doxygen/html/functions_f.html +3 -3
  27. package/SVF-doxygen/html/functions_func.html +1 -1
  28. package/SVF-doxygen/html/functions_func_b.html +4 -4
  29. package/SVF-doxygen/html/functions_func_c.html +2 -2
  30. package/SVF-doxygen/html/functions_func_e.html +3 -2
  31. package/SVF-doxygen/html/functions_func_g.html +27 -24
  32. package/SVF-doxygen/html/functions_func_h.html +4 -3
  33. package/SVF-doxygen/html/functions_func_i.html +16 -9
  34. package/SVF-doxygen/html/functions_func_j.html +1 -0
  35. package/SVF-doxygen/html/functions_func_l.html +6 -4
  36. package/SVF-doxygen/html/functions_func_m.html +1 -0
  37. package/SVF-doxygen/html/functions_func_n.html +6 -4
  38. package/SVF-doxygen/html/functions_func_o.html +17 -11
  39. package/SVF-doxygen/html/functions_func_p.html +3 -3
  40. package/SVF-doxygen/html/functions_func_r.html +1 -1
  41. package/SVF-doxygen/html/functions_func_s.html +2 -2
  42. package/SVF-doxygen/html/functions_func_t.html +2 -2
  43. package/SVF-doxygen/html/functions_func_w.html +4 -2
  44. package/SVF-doxygen/html/functions_func_~.html +3 -0
  45. package/SVF-doxygen/html/functions_g.html +24 -21
  46. package/SVF-doxygen/html/functions_h.html +6 -5
  47. package/SVF-doxygen/html/functions_i.html +21 -14
  48. package/SVF-doxygen/html/functions_j.html +1 -0
  49. package/SVF-doxygen/html/functions_l.html +10 -8
  50. package/SVF-doxygen/html/functions_m.html +1 -0
  51. package/SVF-doxygen/html/functions_n.html +5 -3
  52. package/SVF-doxygen/html/functions_o.html +18 -12
  53. package/SVF-doxygen/html/functions_p.html +17 -13
  54. package/SVF-doxygen/html/functions_r.html +7 -8
  55. package/SVF-doxygen/html/functions_rela_r.html +2 -1
  56. package/SVF-doxygen/html/functions_rela_s.html +1 -0
  57. package/SVF-doxygen/html/functions_s.html +15 -14
  58. package/SVF-doxygen/html/functions_t.html +5 -5
  59. package/SVF-doxygen/html/functions_type_l.html +1 -1
  60. package/SVF-doxygen/html/functions_type_v.html +1 -1
  61. package/SVF-doxygen/html/functions_v.html +7 -5
  62. package/SVF-doxygen/html/functions_vars.html +2 -2
  63. package/SVF-doxygen/html/functions_w.html +13 -9
  64. package/SVF-doxygen/html/functions_~.html +3 -0
  65. package/SVF-doxygen/html/hierarchy.html +2 -1
  66. package/SVF-doxygen/html/namespaceSVF.html +2 -0
  67. package/SVF-doxygen/html/search/all_0.js +2 -2
  68. package/SVF-doxygen/html/search/all_1.js +1 -1
  69. package/SVF-doxygen/html/search/all_10.js +325 -325
  70. package/SVF-doxygen/html/search/all_11.js +224 -224
  71. package/SVF-doxygen/html/search/all_12.js +552 -552
  72. package/SVF-doxygen/html/search/all_13.js +190 -190
  73. package/SVF-doxygen/html/search/all_14.js +67 -67
  74. package/SVF-doxygen/html/search/all_15.js +168 -168
  75. package/SVF-doxygen/html/search/all_16.js +63 -63
  76. package/SVF-doxygen/html/search/all_17.js +1 -1
  77. package/SVF-doxygen/html/search/all_18.js +1 -1
  78. package/SVF-doxygen/html/search/all_19.js +11 -11
  79. package/SVF-doxygen/html/search/all_1a.js +174 -173
  80. package/SVF-doxygen/html/search/all_2.js +4 -4
  81. package/SVF-doxygen/html/search/all_3.js +2 -2
  82. package/SVF-doxygen/html/search/all_5.js +2 -2
  83. package/SVF-doxygen/html/search/all_6.js +1 -1
  84. package/SVF-doxygen/html/search/all_7.js +6 -6
  85. package/SVF-doxygen/html/search/all_8.js +2 -2
  86. package/SVF-doxygen/html/search/all_9.js +406 -405
  87. package/SVF-doxygen/html/search/all_a.js +46 -46
  88. package/SVF-doxygen/html/search/all_b.js +26 -26
  89. package/SVF-doxygen/html/search/all_c.js +115 -115
  90. package/SVF-doxygen/html/search/all_d.js +197 -197
  91. package/SVF-doxygen/html/search/all_e.js +207 -207
  92. package/SVF-doxygen/html/search/all_f.js +116 -116
  93. package/SVF-doxygen/html/search/classes_0.js +26 -26
  94. package/SVF-doxygen/html/search/classes_1.js +9 -9
  95. package/SVF-doxygen/html/search/classes_10.js +73 -73
  96. package/SVF-doxygen/html/search/classes_11.js +15 -15
  97. package/SVF-doxygen/html/search/classes_12.js +2 -2
  98. package/SVF-doxygen/html/search/classes_13.js +10 -10
  99. package/SVF-doxygen/html/search/classes_14.js +14 -14
  100. package/SVF-doxygen/html/search/classes_15.js +1 -1
  101. package/SVF-doxygen/html/search/classes_2.js +81 -81
  102. package/SVF-doxygen/html/search/classes_3.js +37 -37
  103. package/SVF-doxygen/html/search/classes_4.js +9 -9
  104. package/SVF-doxygen/html/search/classes_5.js +28 -28
  105. package/SVF-doxygen/html/search/classes_6.js +104 -104
  106. package/SVF-doxygen/html/search/classes_7.js +34 -34
  107. package/SVF-doxygen/html/search/classes_8.js +57 -56
  108. package/SVF-doxygen/html/search/classes_9.js +1 -1
  109. package/SVF-doxygen/html/search/classes_a.js +12 -12
  110. package/SVF-doxygen/html/search/classes_b.js +29 -29
  111. package/SVF-doxygen/html/search/classes_c.js +6 -6
  112. package/SVF-doxygen/html/search/classes_d.js +18 -18
  113. package/SVF-doxygen/html/search/classes_e.js +36 -36
  114. package/SVF-doxygen/html/search/classes_f.js +25 -25
  115. package/SVF-doxygen/html/search/defines_0.js +3 -3
  116. package/SVF-doxygen/html/search/defines_1.js +2 -2
  117. package/SVF-doxygen/html/search/defines_2.js +30 -30
  118. package/SVF-doxygen/html/search/defines_3.js +20 -20
  119. package/SVF-doxygen/html/search/defines_4.js +2 -2
  120. package/SVF-doxygen/html/search/defines_5.js +4 -4
  121. package/SVF-doxygen/html/search/defines_6.js +2 -2
  122. package/SVF-doxygen/html/search/defines_7.js +5 -5
  123. package/SVF-doxygen/html/search/defines_8.js +11 -11
  124. package/SVF-doxygen/html/search/defines_9.js +9 -9
  125. package/SVF-doxygen/html/search/defines_a.js +2 -2
  126. package/SVF-doxygen/html/search/defines_b.js +1 -1
  127. package/SVF-doxygen/html/search/defines_c.js +3 -3
  128. package/SVF-doxygen/html/search/defines_d.js +2 -2
  129. package/SVF-doxygen/html/search/defines_e.js +7 -7
  130. package/SVF-doxygen/html/search/defines_f.js +3 -3
  131. package/SVF-doxygen/html/search/enums_0.js +3 -3
  132. package/SVF-doxygen/html/search/enums_1.js +2 -2
  133. package/SVF-doxygen/html/search/enums_10.js +1 -1
  134. package/SVF-doxygen/html/search/enums_11.js +1 -1
  135. package/SVF-doxygen/html/search/enums_2.js +8 -8
  136. package/SVF-doxygen/html/search/enums_3.js +1 -1
  137. package/SVF-doxygen/html/search/enums_4.js +3 -3
  138. package/SVF-doxygen/html/search/enums_5.js +1 -1
  139. package/SVF-doxygen/html/search/enums_6.js +2 -2
  140. package/SVF-doxygen/html/search/enums_7.js +2 -2
  141. package/SVF-doxygen/html/search/enums_8.js +4 -4
  142. package/SVF-doxygen/html/search/enums_9.js +1 -1
  143. package/SVF-doxygen/html/search/enums_a.js +1 -1
  144. package/SVF-doxygen/html/search/enums_b.js +7 -7
  145. package/SVF-doxygen/html/search/enums_c.js +1 -1
  146. package/SVF-doxygen/html/search/enums_d.js +4 -4
  147. package/SVF-doxygen/html/search/enums_e.js +2 -2
  148. package/SVF-doxygen/html/search/enums_f.js +4 -4
  149. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  150. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  151. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  152. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  153. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  154. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  155. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  156. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  157. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  158. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  159. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  160. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  161. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  162. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  163. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  164. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  165. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  166. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  167. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  168. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  169. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  170. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  171. package/SVF-doxygen/html/search/files_0.js +13 -13
  172. package/SVF-doxygen/html/search/files_1.js +7 -7
  173. package/SVF-doxygen/html/search/files_10.js +8 -8
  174. package/SVF-doxygen/html/search/files_11.js +8 -8
  175. package/SVF-doxygen/html/search/files_12.js +2 -2
  176. package/SVF-doxygen/html/search/files_2.js +57 -57
  177. package/SVF-doxygen/html/search/files_3.js +14 -14
  178. package/SVF-doxygen/html/search/files_4.js +5 -5
  179. package/SVF-doxygen/html/search/files_5.js +13 -13
  180. package/SVF-doxygen/html/search/files_6.js +9 -9
  181. package/SVF-doxygen/html/search/files_7.js +14 -14
  182. package/SVF-doxygen/html/search/files_8.js +13 -13
  183. package/SVF-doxygen/html/search/files_9.js +18 -18
  184. package/SVF-doxygen/html/search/files_a.js +3 -3
  185. package/SVF-doxygen/html/search/files_b.js +2 -2
  186. package/SVF-doxygen/html/search/files_c.js +20 -20
  187. package/SVF-doxygen/html/search/files_d.js +4 -4
  188. package/SVF-doxygen/html/search/files_e.js +62 -62
  189. package/SVF-doxygen/html/search/files_f.js +8 -8
  190. package/SVF-doxygen/html/search/functions_0.js +13 -13
  191. package/SVF-doxygen/html/search/functions_1.js +362 -362
  192. package/SVF-doxygen/html/search/functions_10.js +140 -140
  193. package/SVF-doxygen/html/search/functions_11.js +139 -139
  194. package/SVF-doxygen/html/search/functions_12.js +288 -288
  195. package/SVF-doxygen/html/search/functions_13.js +59 -59
  196. package/SVF-doxygen/html/search/functions_14.js +39 -39
  197. package/SVF-doxygen/html/search/functions_15.js +71 -71
  198. package/SVF-doxygen/html/search/functions_16.js +32 -32
  199. package/SVF-doxygen/html/search/functions_17.js +3 -3
  200. package/SVF-doxygen/html/search/functions_18.js +174 -173
  201. package/SVF-doxygen/html/search/functions_2.js +89 -89
  202. package/SVF-doxygen/html/search/functions_3.js +261 -261
  203. package/SVF-doxygen/html/search/functions_4.js +78 -78
  204. package/SVF-doxygen/html/search/functions_5.js +53 -53
  205. package/SVF-doxygen/html/search/functions_6.js +60 -60
  206. package/SVF-doxygen/html/search/functions_7.js +855 -855
  207. package/SVF-doxygen/html/search/functions_8.js +148 -148
  208. package/SVF-doxygen/html/search/functions_9.js +421 -420
  209. package/SVF-doxygen/html/search/functions_a.js +30 -30
  210. package/SVF-doxygen/html/search/functions_b.js +2 -2
  211. package/SVF-doxygen/html/search/functions_c.js +25 -25
  212. package/SVF-doxygen/html/search/functions_d.js +79 -79
  213. package/SVF-doxygen/html/search/functions_e.js +35 -35
  214. package/SVF-doxygen/html/search/functions_f.js +56 -56
  215. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  216. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  217. package/SVF-doxygen/html/search/related_0.js +2 -2
  218. package/SVF-doxygen/html/search/related_1.js +2 -2
  219. package/SVF-doxygen/html/search/related_2.js +3 -3
  220. package/SVF-doxygen/html/search/related_3.js +2 -2
  221. package/SVF-doxygen/html/search/related_4.js +2 -2
  222. package/SVF-doxygen/html/search/related_5.js +1 -1
  223. package/SVF-doxygen/html/search/related_6.js +2 -2
  224. package/SVF-doxygen/html/search/related_7.js +4 -4
  225. package/SVF-doxygen/html/search/related_8.js +2 -2
  226. package/SVF-doxygen/html/search/related_9.js +4 -4
  227. package/SVF-doxygen/html/search/related_a.js +19 -19
  228. package/SVF-doxygen/html/search/related_b.js +4 -4
  229. package/SVF-doxygen/html/search/related_c.js +2 -2
  230. package/SVF-doxygen/html/search/related_d.js +12 -12
  231. package/SVF-doxygen/html/search/related_e.js +2 -2
  232. package/SVF-doxygen/html/search/related_f.js +2 -2
  233. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  234. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  235. package/SVF-doxygen/html/search/typedefs_10.js +62 -62
  236. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  237. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  238. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  239. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  240. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  241. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  242. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  243. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  244. package/SVF-doxygen/html/search/typedefs_6.js +56 -56
  245. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  246. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  247. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  248. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  249. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  250. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  251. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  252. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  253. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  254. package/SVF-doxygen/html/search/variables_0.js +151 -151
  255. package/SVF-doxygen/html/search/variables_1.js +75 -75
  256. package/SVF-doxygen/html/search/variables_10.js +98 -98
  257. package/SVF-doxygen/html/search/variables_11.js +45 -45
  258. package/SVF-doxygen/html/search/variables_12.js +90 -90
  259. package/SVF-doxygen/html/search/variables_13.js +74 -74
  260. package/SVF-doxygen/html/search/variables_14.js +14 -14
  261. package/SVF-doxygen/html/search/variables_15.js +49 -49
  262. package/SVF-doxygen/html/search/variables_16.js +9 -9
  263. package/SVF-doxygen/html/search/variables_17.js +1 -1
  264. package/SVF-doxygen/html/search/variables_18.js +2 -2
  265. package/SVF-doxygen/html/search/variables_2.js +38 -38
  266. package/SVF-doxygen/html/search/variables_3.js +142 -142
  267. package/SVF-doxygen/html/search/variables_4.js +50 -50
  268. package/SVF-doxygen/html/search/variables_5.js +37 -37
  269. package/SVF-doxygen/html/search/variables_6.js +66 -66
  270. package/SVF-doxygen/html/search/variables_7.js +34 -34
  271. package/SVF-doxygen/html/search/variables_8.js +7 -7
  272. package/SVF-doxygen/html/search/variables_9.js +78 -78
  273. package/SVF-doxygen/html/search/variables_a.js +4 -4
  274. package/SVF-doxygen/html/search/variables_b.js +10 -10
  275. package/SVF-doxygen/html/search/variables_c.js +45 -45
  276. package/SVF-doxygen/html/search/variables_d.js +55 -55
  277. package/SVF-doxygen/html/search/variables_e.js +123 -123
  278. package/SVF-doxygen/html/search/variables_f.js +30 -30
  279. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +6 -6
  280. package/package.json +1 -1
  281. package/svf/include/AbstractExecution/IntervalExeState.h +274 -102
  282. package/svf/include/AbstractExecution/RelationSolver.h +9 -9
  283. package/svf/lib/AbstractExecution/IntervalExeState.cpp +85 -14
  284. package/svf/lib/AbstractExecution/RelationSolver.cpp +22 -22
@@ -66,12 +66,8 @@ $(function() {
66
66
  </div><!-- top -->
67
67
  <div class="header">
68
68
  <div class="summary">
69
- <a href="#pub-types">Public Types</a> &#124;
70
69
  <a href="#pub-methods">Public Member Functions</a> &#124;
71
- <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
72
70
  <a href="#pub-static-attribs">Static Public Attributes</a> &#124;
73
- <a href="#pro-attribs">Protected Attributes</a> &#124;
74
- <a href="#pri-methods">Private Member Functions</a> &#124;
75
71
  <a href="#friends">Friends</a> &#124;
76
72
  <a href="classSVF_1_1IntervalExeState-members.html">List of all members</a> </div>
77
73
  <div class="headertitle">
@@ -86,33 +82,17 @@ Inheritance diagram for SVF::IntervalExeState:</div>
86
82
  <div class="center">
87
83
  <img src="classSVF_1_1IntervalExeState.png" usemap="#SVF::IntervalExeState_map" alt=""/>
88
84
  <map id="SVF::IntervalExeState_map" name="SVF::IntervalExeState_map">
85
+ <area href="classSVF_1_1IntervalESBase.html" alt="SVF::IntervalESBase" shape="rect" coords="0,56,134,80"/>
89
86
  <area href="classSVF_1_1ExeState.html" alt="SVF::ExeState" shape="rect" coords="0,0,134,24"/>
90
87
  </map>
91
88
  </div></div>
92
89
  <table class="memberdecls">
93
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
94
- Public Types</h2></td></tr>
95
- <tr class="memitem:ae2b12e4add0714aa861f790864e098ff"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a></td></tr>
96
- <tr class="separator:ae2b12e4add0714aa861f790864e098ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
- <tr class="memitem:a3b95a08fa7b123549e732819d9371946"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a></td></tr>
98
- <tr class="separator:a3b95a08fa7b123549e732819d9371946"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
- <tr class="inherit_header pub_types_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
100
- <tr class="memitem:a259b93247e06141077b2c1ae15efcbb8 inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">ExeState_TYPE</a> { <a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>,
101
- <a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e">SingleValueK</a>
102
- }</td></tr>
103
- <tr class="memdesc:a259b93247e06141077b2c1ae15efcbb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execution state type. <a href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">More...</a><br /></td></tr>
104
- <tr class="separator:a259b93247e06141077b2c1ae15efcbb8 inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
- <tr class="memitem:a78038dd4884a501cfc94f073021eac96 inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1AddressValue.html">AddressValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a></td></tr>
106
- <tr class="separator:a78038dd4884a501cfc94f073021eac96 inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
- <tr class="memitem:a09f34aca79479221305769cae307feef inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a></td></tr>
108
- <tr class="separator:a09f34aca79479221305769cae307feef inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
- </table><table class="memberdecls">
110
90
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
111
91
  Public Member Functions</h2></td></tr>
112
92
  <tr class="memitem:adce87f96e58b25bd6ff046e6608f4d2c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">IntervalExeState</a> ()</td></tr>
113
93
  <tr class="memdesc:adce87f96e58b25bd6ff046e6608f4d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <a href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">More...</a><br /></td></tr>
114
94
  <tr class="separator:adce87f96e58b25bd6ff046e6608f4d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
- <tr class="memitem:a5803940144915a922af7ddef09fb23c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0">IntervalExeState</a> (<a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;_varToValMap, <a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> &amp;_locToValMap)</td></tr>
95
+ <tr class="memitem:a5803940144915a922af7ddef09fb23c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0">IntervalExeState</a> (<a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;_varToValMap, <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;_locToValMap)</td></tr>
116
96
  <tr class="separator:a5803940144915a922af7ddef09fb23c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
97
  <tr class="memitem:a781dc413b32c33e1c0fd5154d2c50654"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654">IntervalExeState</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</td></tr>
118
98
  <tr class="memdesc:a781dc413b32c33e1c0fd5154d2c50654"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor <a href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654">More...</a><br /></td></tr>
@@ -127,39 +107,24 @@ Public Member Functions</h2></td></tr>
127
107
  <tr class="memitem:ac3969ddc15f3bd675d5a352dfd9b9bf7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7">operator=</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&amp;rhs)</td></tr>
128
108
  <tr class="memdesc:ac3969ddc15f3bd675d5a352dfd9b9bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator= move constructor <a href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7">More...</a><br /></td></tr>
129
109
  <tr class="separator:ac3969ddc15f3bd675d5a352dfd9b9bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
- <tr class="memitem:af1f0b9b41ccaa98aa23a7e128a253253"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">bottom</a> () const</td></tr>
131
- <tr class="memdesc:af1f0b9b41ccaa98aa23a7e128a253253"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all value bottom. <a href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">More...</a><br /></td></tr>
132
- <tr class="separator:af1f0b9b41ccaa98aa23a7e128a253253"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:ad1b59eda77f703a29e9070c3ef70e430"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">top</a> () const</td></tr>
134
- <tr class="memdesc:ad1b59eda77f703a29e9070c3ef70e430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all value top. <a href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">More...</a><br /></td></tr>
135
- <tr class="separator:ad1b59eda77f703a29e9070c3ef70e430"><td class="memSeparator" colspan="2">&#160;</td></tr>
136
- <tr class="memitem:a182ec2709e8c92b8bd29ba809bd3d1f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a182ec2709e8c92b8bd29ba809bd3d1f7">sliceState</a> (<a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &gt; &amp;sl)</td></tr>
137
- <tr class="memdesc:a182ec2709e8c92b8bd29ba809bd3d1f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy some values and return a new <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>. <a href="classSVF_1_1IntervalExeState.html#a182ec2709e8c92b8bd29ba809bd3d1f7">More...</a><br /></td></tr>
138
- <tr class="separator:a182ec2709e8c92b8bd29ba809bd3d1f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
110
  <tr class="memitem:a056e0db56033ac4dc041e6d82d614dbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) override</td></tr>
140
111
  <tr class="memdesc:a056e0db56033ac4dc041e6d82d614dbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">get memory addresses of variable <a href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">More...</a><br /></td></tr>
141
112
  <tr class="separator:a056e0db56033ac4dc041e6d82d614dbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
- <tr class="memitem:a7420a7637b62d451babadb852c9c2ac2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a7420a7637b62d451babadb852c9c2ac2">operator[]</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</td></tr>
143
- <tr class="memdesc:a7420a7637b62d451babadb852c9c2ac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">get interval value of variable <a href="classSVF_1_1IntervalExeState.html#a7420a7637b62d451babadb852c9c2ac2">More...</a><br /></td></tr>
144
- <tr class="separator:a7420a7637b62d451babadb852c9c2ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+ <tr class="memitem:a2f39e01a347d10b2992a46e5cc52ab77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a2f39e01a347d10b2992a46e5cc52ab77">operator[]</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId) override</td></tr>
114
+ <tr class="memdesc:a2f39e01a347d10b2992a46e5cc52ab77"><td class="mdescLeft">&#160;</td><td class="mdescRight">get interval value of variable <a href="classSVF_1_1IntervalExeState.html#a2f39e01a347d10b2992a46e5cc52ab77">More...</a><br /></td></tr>
115
+ <tr class="separator:a2f39e01a347d10b2992a46e5cc52ab77"><td class="memSeparator" colspan="2">&#160;</td></tr>
145
116
  <tr class="memitem:ad485a35730353c0e945bc84a034d9e45"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const override</td></tr>
146
117
  <tr class="memdesc:ad485a35730353c0e945bc84a034d9e45"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToAddrs table <a href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">More...</a><br /></td></tr>
147
118
  <tr class="separator:ad485a35730353c0e945bc84a034d9e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
- <tr class="memitem:aba57b0f3c813c47c1b69915f145efbd6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#aba57b0f3c813c47c1b69915f145efbd6">inVarToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
149
- <tr class="memdesc:aba57b0f3c813c47c1b69915f145efbd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToVal table <a href="classSVF_1_1IntervalExeState.html#aba57b0f3c813c47c1b69915f145efbd6">More...</a><br /></td></tr>
150
- <tr class="separator:aba57b0f3c813c47c1b69915f145efbd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
+ <tr class="memitem:aab316a63c25483eefc38bed0a86a0e7e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">inVarToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const override</td></tr>
120
+ <tr class="memdesc:aab316a63c25483eefc38bed0a86a0e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToVal table <a href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">More...</a><br /></td></tr>
121
+ <tr class="separator:aab316a63c25483eefc38bed0a86a0e7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
122
  <tr class="memitem:af61110c081ca71f9348e8dfff5aa76e4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const override</td></tr>
152
123
  <tr class="memdesc:af61110c081ca71f9348e8dfff5aa76e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores memory addresses <a href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">More...</a><br /></td></tr>
153
124
  <tr class="separator:af61110c081ca71f9348e8dfff5aa76e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
- <tr class="memitem:af278d2193ba8931cce4cf5398cc33b02"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#af278d2193ba8931cce4cf5398cc33b02">inLocToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
155
- <tr class="memdesc:af278d2193ba8931cce4cf5398cc33b02"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores interval value <a href="classSVF_1_1IntervalExeState.html#af278d2193ba8931cce4cf5398cc33b02">More...</a><br /></td></tr>
156
- <tr class="separator:af278d2193ba8931cce4cf5398cc33b02"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
- <tr class="memitem:a4e3e495118c907a29d7705904273f6d3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a> () const</td></tr>
158
- <tr class="memdesc:a4e3e495118c907a29d7705904273f6d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">get var2val map <a href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">More...</a><br /></td></tr>
159
- <tr class="separator:a4e3e495118c907a29d7705904273f6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
160
- <tr class="memitem:ae0d4b22023ce63327f55484cffb051cf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a> () const</td></tr>
161
- <tr class="memdesc:ae0d4b22023ce63327f55484cffb051cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">get loc2val map <a href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">More...</a><br /></td></tr>
162
- <tr class="separator:ae0d4b22023ce63327f55484cffb051cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+ <tr class="memitem:a50aee49f7f34e05f7e2cb28ae55099f8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">inLocToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const override</td></tr>
126
+ <tr class="memdesc:a50aee49f7f34e05f7e2cb28ae55099f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores interval value <a href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">More...</a><br /></td></tr>
127
+ <tr class="separator:a50aee49f7f34e05f7e2cb28ae55099f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
128
  <tr class="memitem:a6fdad70e3a0b39e146f0b93f24f055c6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6">inLocalLocToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
164
129
  <tr class="separator:a6fdad70e3a0b39e146f0b93f24f055c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
165
130
  <tr class="memitem:ad675e973daeb7d366cf7e3cd3c0b13fb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb">inLocalLocToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
@@ -184,35 +149,16 @@ Public Member Functions</h2></td></tr>
184
149
  <tr class="memitem:a1e5d399b2111d9b8ed17f790cab12d5d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">meetWith</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other)</td></tr>
185
150
  <tr class="memdesc:a1e5d399b2111d9b8ed17f790cab12d5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain meet with other, important! other widen this. <a href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">More...</a><br /></td></tr>
186
151
  <tr class="separator:a1e5d399b2111d9b8ed17f790cab12d5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
187
- <tr class="memitem:a3cadadfd8c2ce6251855f1aa5f2ac8ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a3cadadfd8c2ce6251855f1aa5f2ac8ce">meetWith</a> (<a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> *other)</td></tr>
188
- <tr class="memdesc:a3cadadfd8c2ce6251855f1aa5f2ac8ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain meet with other varToValMap <a href="classSVF_1_1IntervalExeState.html#a3cadadfd8c2ce6251855f1aa5f2ac8ce">More...</a><br /></td></tr>
189
- <tr class="separator:a3cadadfd8c2ce6251855f1aa5f2ac8ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
190
- <tr class="memitem:a12fe65f05dfe7a01e771e0b9990faba8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8">Interval2NumValue</a> (const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e) const</td></tr>
191
- <tr class="memdesc:a12fe65f05dfe7a01e771e0b9990faba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return int value from an expression if it is a numeral, otherwise return an approximate value. <a href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8">More...</a><br /></td></tr>
192
- <tr class="separator:a12fe65f05dfe7a01e771e0b9990faba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
193
- <tr class="memitem:a73d2e475625f5b9204cdecb94381c558"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a73d2e475625f5b9204cdecb94381c558">createIntervalValue</a> (double lb, double ub, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
194
- <tr class="memdesc:a73d2e475625f5b9204cdecb94381c558"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: Create new interval value. <a href="classSVF_1_1IntervalExeState.html#a73d2e475625f5b9204cdecb94381c558">More...</a><br /></td></tr>
195
- <tr class="separator:a73d2e475625f5b9204cdecb94381c558"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
- <tr class="memitem:a6a8c6bbff583ccd71453af5de884df89"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a6a8c6bbff583ccd71453af5de884df89">has_bottom</a> ()</td></tr>
197
- <tr class="memdesc:a6a8c6bbff583ccd71453af5de884df89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if map has bottom value. <a href="classSVF_1_1IntervalExeState.html#a6a8c6bbff583ccd71453af5de884df89">More...</a><br /></td></tr>
198
- <tr class="separator:a6a8c6bbff583ccd71453af5de884df89"><td class="memSeparator" colspan="2">&#160;</td></tr>
199
152
  <tr class="memitem:a85b0e711160d67ea84f426025b980dce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">hash</a> () const override</td></tr>
200
153
  <tr class="separator:a85b0e711160d67ea84f426025b980dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
201
- <tr class="memitem:a65be64fc3b46b3d8e0c22d8a478df5cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;val)</td></tr>
202
- <tr class="separator:a65be64fc3b46b3d8e0c22d8a478df5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
203
- <tr class="memitem:ae28249f952e1aa620b23e946a1f209ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</td></tr>
204
- <tr class="separator:ae28249f952e1aa620b23e946a1f209ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
+ <tr class="memitem:a960ec3359dfcb5e89fb66120c868ac5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">load</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr) override</td></tr>
155
+ <tr class="separator:a960ec3359dfcb5e89fb66120c868ac5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
205
156
  <tr class="memitem:ad17ceaf8058043151ae0f23b3415458a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">loadAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr) override</td></tr>
206
157
  <tr class="separator:ad17ceaf8058043151ae0f23b3415458a"><td class="memSeparator" colspan="2">&#160;</td></tr>
207
- <tr class="memitem:a7c116401ebfd4e0947f5be6a61d1edcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a7c116401ebfd4e0947f5be6a61d1edcc">getLocToVal</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id)</td></tr>
208
- <tr class="separator:a7c116401ebfd4e0947f5be6a61d1edcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
209
- <tr class="memitem:ab2ca8fade3399ebbffd3cc32e52604d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ab2ca8fade3399ebbffd3cc32e52604d5">getLocAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id)</td></tr>
210
- <tr class="separator:ab2ca8fade3399ebbffd3cc32e52604d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
211
- <tr class="memitem:aa6adb9becbc2541198708823e3e35c9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#aa6adb9becbc2541198708823e3e35c9d">printExprValues</a> (std::ostream &amp;oss) const override</td></tr>
212
- <tr class="memdesc:aa6adb9becbc2541198708823e3e35c9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print values of all expressions. <a href="classSVF_1_1IntervalExeState.html#aa6adb9becbc2541198708823e3e35c9d">More...</a><br /></td></tr>
213
- <tr class="separator:aa6adb9becbc2541198708823e3e35c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
214
- <tr class="memitem:a3a8f8b09df0befa318cbcd43d191d37a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a3a8f8b09df0befa318cbcd43d191d37a">toString</a> () const override</td></tr>
215
- <tr class="separator:a3a8f8b09df0befa318cbcd43d191d37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
158
+ <tr class="memitem:a48247d3ce543a9773d668998f7f58ac3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a48247d3ce543a9773d668998f7f58ac3">getLocToVal</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) override</td></tr>
159
+ <tr class="separator:a48247d3ce543a9773d668998f7f58ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
160
+ <tr class="memitem:a053ad8e95d16e2ec047c64258c2021f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a053ad8e95d16e2ec047c64258c2021f2">getLocAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) override</td></tr>
161
+ <tr class="separator:a053ad8e95d16e2ec047c64258c2021f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
216
162
  <tr class="memitem:a69f5125f14b129607fafb3717160f4c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a69f5125f14b129607fafb3717160f4c1">equals</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other) const</td></tr>
217
163
  <tr class="separator:a69f5125f14b129607fafb3717160f4c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
218
164
  <tr class="memitem:a92b846d3cd77ab12a35cb81815e22ee3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3">operator==</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs) const</td></tr>
@@ -223,12 +169,94 @@ Public Member Functions</h2></td></tr>
223
169
  <tr class="separator:aa4acf1e8ae7571f527047e36b77dfb58"><td class="memSeparator" colspan="2">&#160;</td></tr>
224
170
  <tr class="memitem:a637a9c0f06b57e16a7f1afdd25df897f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f">operator&gt;=</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs) const</td></tr>
225
171
  <tr class="separator:a637a9c0f06b57e16a7f1afdd25df897f"><td class="memSeparator" colspan="2">&#160;</td></tr>
226
- <tr class="memitem:a4723715a8d9be3021b39082432d99375"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a4723715a8d9be3021b39082432d99375">clear</a> ()</td></tr>
227
- <tr class="separator:a4723715a8d9be3021b39082432d99375"><td class="memSeparator" colspan="2">&#160;</td></tr>
228
172
  <tr class="memitem:a0e4c8a41aa861ff2862d8b620c902f21"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">operator==</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
229
173
  <tr class="separator:a0e4c8a41aa861ff2862d8b620c902f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
230
174
  <tr class="memitem:ab828094e1026046814c1e3d44d3f084c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ab828094e1026046814c1e3d44d3f084c">operator!=</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
231
175
  <tr class="separator:ab828094e1026046814c1e3d44d3f084c"><td class="memSeparator" colspan="2">&#160;</td></tr>
176
+ <tr class="inherit_header pub_methods_classSVF_1_1IntervalESBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1IntervalESBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></td></tr>
177
+ <tr class="memitem:a2da3f0da084f66f5b82c86e6650fd903 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a> ()</td></tr>
178
+ <tr class="memdesc:a2da3f0da084f66f5b82c86e6650fd903 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor <a href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">More...</a><br /></td></tr>
179
+ <tr class="separator:a2da3f0da084f66f5b82c86e6650fd903 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
180
+ <tr class="memitem:a989bf2c55925d29790c4272aa31c3bb6 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a989bf2c55925d29790c4272aa31c3bb6">IntervalESBase</a> (<a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;_varToValMap, <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;_locToValMap)</td></tr>
181
+ <tr class="separator:a989bf2c55925d29790c4272aa31c3bb6 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
182
+ <tr class="memitem:a317d19f98d43b05963b5649fc402eed4 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4">IntervalESBase</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)</td></tr>
183
+ <tr class="memdesc:a317d19f98d43b05963b5649fc402eed4 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor <a href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4">More...</a><br /></td></tr>
184
+ <tr class="separator:a317d19f98d43b05963b5649fc402eed4 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
185
+ <tr class="memitem:a765e98325842f6df15255af9a8036e8c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a765e98325842f6df15255af9a8036e8c">~IntervalESBase</a> ()=default</td></tr>
186
+ <tr class="separator:a765e98325842f6df15255af9a8036e8c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
187
+ <tr class="memitem:a926025a01239d163e59582824ceb0580 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580">operator=</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)</td></tr>
188
+ <tr class="separator:a926025a01239d163e59582824ceb0580 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
189
+ <tr class="memitem:a2906309f1b7691be20b8d3a3968dfe91 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91">IntervalESBase</a> (<a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;rhs)</td></tr>
190
+ <tr class="memdesc:a2906309f1b7691be20b8d3a3968dfe91 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">move constructor <a href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91">More...</a><br /></td></tr>
191
+ <tr class="separator:a2906309f1b7691be20b8d3a3968dfe91 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
192
+ <tr class="memitem:ab4d2297eb82611a3198ba3befeda5e54 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54">operator=</a> (<a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;rhs)</td></tr>
193
+ <tr class="memdesc:ab4d2297eb82611a3198ba3befeda5e54 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator= move constructor <a href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54">More...</a><br /></td></tr>
194
+ <tr class="separator:ab4d2297eb82611a3198ba3befeda5e54 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
195
+ <tr class="memitem:a839e8ee927c1cad86aef3059b41ba2eb inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a> () const</td></tr>
196
+ <tr class="memdesc:a839e8ee927c1cad86aef3059b41ba2eb inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all value bottom. <a href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">More...</a><br /></td></tr>
197
+ <tr class="separator:a839e8ee927c1cad86aef3059b41ba2eb inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
198
+ <tr class="memitem:a33fd0e4a654dd4f5b7762b0088e11674 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a> () const</td></tr>
199
+ <tr class="memdesc:a33fd0e4a654dd4f5b7762b0088e11674 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all value top. <a href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">More...</a><br /></td></tr>
200
+ <tr class="separator:a33fd0e4a654dd4f5b7762b0088e11674 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
201
+ <tr class="memitem:a2c15de9b10a74fbcb171ff2f328ce7f2 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2">sliceState</a> (<a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &gt; &amp;sl)</td></tr>
202
+ <tr class="memdesc:a2c15de9b10a74fbcb171ff2f328ce7f2 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy some values and return a new <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>. <a href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2">More...</a><br /></td></tr>
203
+ <tr class="separator:a2c15de9b10a74fbcb171ff2f328ce7f2 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
204
+ <tr class="memitem:a903797577ba99ef57879774a3849bbfe inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a> () const</td></tr>
205
+ <tr class="memdesc:a903797577ba99ef57879774a3849bbfe inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">get var2val map <a href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">More...</a><br /></td></tr>
206
+ <tr class="separator:a903797577ba99ef57879774a3849bbfe inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
207
+ <tr class="memitem:af7451ea87d5117a90b5912a1e6f34e10 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a> () const</td></tr>
208
+ <tr class="memdesc:af7451ea87d5117a90b5912a1e6f34e10 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">get loc2val map <a href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">More...</a><br /></td></tr>
209
+ <tr class="separator:af7451ea87d5117a90b5912a1e6f34e10 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
+ <tr class="memitem:a9a167f67476d2e080cc6e31d127ee715 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a9a167f67476d2e080cc6e31d127ee715">widening</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
211
+ <tr class="memdesc:a9a167f67476d2e080cc6e31d127ee715 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain widen with other, and return the widened domain <a href="classSVF_1_1IntervalESBase.html#a9a167f67476d2e080cc6e31d127ee715">More...</a><br /></td></tr>
212
+ <tr class="separator:a9a167f67476d2e080cc6e31d127ee715 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
213
+ <tr class="memitem:a3f8da19a79bfdc37c38e659a94371aba inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a3f8da19a79bfdc37c38e659a94371aba">narrowing</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
214
+ <tr class="memdesc:a3f8da19a79bfdc37c38e659a94371aba inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain narrow with other, and return the narrowed domain <a href="classSVF_1_1IntervalESBase.html#a3f8da19a79bfdc37c38e659a94371aba">More...</a><br /></td></tr>
215
+ <tr class="separator:a3f8da19a79bfdc37c38e659a94371aba inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
216
+ <tr class="memitem:a2db6b5360cf8e90dbd4174ad0382ec56 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">widenWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
217
+ <tr class="memdesc:a2db6b5360cf8e90dbd4174ad0382ec56 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain widen with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">More...</a><br /></td></tr>
218
+ <tr class="separator:a2db6b5360cf8e90dbd4174ad0382ec56 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
219
+ <tr class="memitem:adc0db607e4c0f117760535df67b91fbd inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
220
+ <tr class="memdesc:adc0db607e4c0f117760535df67b91fbd inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain join with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">More...</a><br /></td></tr>
221
+ <tr class="separator:adc0db607e4c0f117760535df67b91fbd inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
222
+ <tr class="memitem:a52b590dc437bc01ce116255e699c3c55 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">narrowWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
223
+ <tr class="memdesc:a52b590dc437bc01ce116255e699c3c55 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain narrow with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">More...</a><br /></td></tr>
224
+ <tr class="separator:a52b590dc437bc01ce116255e699c3c55 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
225
+ <tr class="memitem:a92a8531c7f12cc6f9117596aa5e534b6 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">meetWith</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other)</td></tr>
226
+ <tr class="memdesc:a92a8531c7f12cc6f9117596aa5e534b6 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">domain meet with other, important! other widen this. <a href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">More...</a><br /></td></tr>
227
+ <tr class="separator:a92a8531c7f12cc6f9117596aa5e534b6 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
228
+ <tr class="memitem:a2ff42e1ba569614cc86f8a3af65b7c41 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">Interval2NumValue</a> (const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e) const</td></tr>
229
+ <tr class="memdesc:a2ff42e1ba569614cc86f8a3af65b7c41 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return int value from an expression if it is a numeral, otherwise return an approximate value. <a href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">More...</a><br /></td></tr>
230
+ <tr class="separator:a2ff42e1ba569614cc86f8a3af65b7c41 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
231
+ <tr class="memitem:a080484bdcd9287e95d0ced0fa474fd05 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05">createIntervalValue</a> (double lb, double ub, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
232
+ <tr class="memdesc:a080484bdcd9287e95d0ced0fa474fd05 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: Create new interval value. <a href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05">More...</a><br /></td></tr>
233
+ <tr class="separator:a080484bdcd9287e95d0ced0fa474fd05 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
234
+ <tr class="memitem:a2387b671954d5c1fdd4b08b71ffa0e6c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c">has_bottom</a> ()</td></tr>
235
+ <tr class="memdesc:a2387b671954d5c1fdd4b08b71ffa0e6c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if map has bottom value. <a href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c">More...</a><br /></td></tr>
236
+ <tr class="separator:a2387b671954d5c1fdd4b08b71ffa0e6c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
237
+ <tr class="memitem:adb26b186ee31bce7449a7b36faa24cc2 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;val)</td></tr>
238
+ <tr class="separator:adb26b186ee31bce7449a7b36faa24cc2 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
239
+ <tr class="memitem:a4c0ede557a333bfea3f5d4a9a4dc8a9e inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a4c0ede557a333bfea3f5d4a9a4dc8a9e">printExprValues</a> (std::ostream &amp;oss) const override</td></tr>
240
+ <tr class="memdesc:a4c0ede557a333bfea3f5d4a9a4dc8a9e inherit pub_methods_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print values of all expressions. <a href="classSVF_1_1IntervalESBase.html#a4c0ede557a333bfea3f5d4a9a4dc8a9e">More...</a><br /></td></tr>
241
+ <tr class="separator:a4c0ede557a333bfea3f5d4a9a4dc8a9e inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
242
+ <tr class="memitem:ab5d7ac23f8334fa32ae0a78c8f1d9fa9 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab5d7ac23f8334fa32ae0a78c8f1d9fa9">toString</a> () const override</td></tr>
243
+ <tr class="separator:ab5d7ac23f8334fa32ae0a78c8f1d9fa9 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
244
+ <tr class="memitem:a9133df5ab00e7c2918a8047fd0bdfb08 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a9133df5ab00e7c2918a8047fd0bdfb08">equals</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other) const</td></tr>
245
+ <tr class="separator:a9133df5ab00e7c2918a8047fd0bdfb08 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
246
+ <tr class="memitem:a6f6ba2a615f1227cf8397345d1d0f25d inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a6f6ba2a615f1227cf8397345d1d0f25d">operator==</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
247
+ <tr class="separator:a6f6ba2a615f1227cf8397345d1d0f25d inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
248
+ <tr class="memitem:ab3d0a23befaf69fac553e6e3ae3a42e0 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab3d0a23befaf69fac553e6e3ae3a42e0">operator!=</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
249
+ <tr class="separator:ab3d0a23befaf69fac553e6e3ae3a42e0 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
250
+ <tr class="memitem:aaafb882ca79738d39697d1461bd2032f inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#aaafb882ca79738d39697d1461bd2032f">operator&lt;</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
251
+ <tr class="separator:aaafb882ca79738d39697d1461bd2032f inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
252
+ <tr class="memitem:a8722234ba6bea5223e79174ff1d095c7 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a8722234ba6bea5223e79174ff1d095c7">operator&gt;=</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) const</td></tr>
253
+ <tr class="separator:a8722234ba6bea5223e79174ff1d095c7 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
254
+ <tr class="memitem:a4849103f97f0c03e434882c32e8d695b inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a4849103f97f0c03e434882c32e8d695b">clear</a> ()</td></tr>
255
+ <tr class="separator:a4849103f97f0c03e434882c32e8d695b inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
256
+ <tr class="memitem:a0e4c8a41aa861ff2862d8b620c902f21 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a0e4c8a41aa861ff2862d8b620c902f21">operator==</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
257
+ <tr class="separator:a0e4c8a41aa861ff2862d8b620c902f21 inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
258
+ <tr class="memitem:ab828094e1026046814c1e3d44d3f084c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ab828094e1026046814c1e3d44d3f084c">operator!=</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &amp;rhs) const</td></tr>
259
+ <tr class="separator:ab828094e1026046814c1e3d44d3f084c inherit pub_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
232
260
  <tr class="inherit_header pub_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
233
261
  <tr class="memitem:af1b6335e3ca95d491b0d8dfb95cf3c9b inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a> (<a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">ExeState_TYPE</a> kind)</td></tr>
234
262
  <tr class="separator:af1b6335e3ca95d491b0d8dfb95cf3c9b inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -269,14 +297,42 @@ Public Member Functions</h2></td></tr>
269
297
  <tr class="memitem:ad2f921623e41209c6702534c98431403 inherit pub_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ad2f921623e41209c6702534c98431403">locToAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId) const</td></tr>
270
298
  <tr class="separator:ad2f921623e41209c6702534c98431403 inherit pub_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
271
299
  </table><table class="memberdecls">
272
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
273
- Static Public Member Functions</h2></td></tr>
274
- <tr class="memitem:ac3a30689d2918b7db8bb6b640322f457"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ac3a30689d2918b7db8bb6b640322f457">eqVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;rhs)</td></tr>
275
- <tr class="separator:ac3a30689d2918b7db8bb6b640322f457"><td class="memSeparator" colspan="2">&#160;</td></tr>
276
- <tr class="memitem:a7129d3e1901c527f7c4876cb1c54a890"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a7129d3e1901c527f7c4876cb1c54a890">lessThanVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;rhs)</td></tr>
277
- <tr class="separator:a7129d3e1901c527f7c4876cb1c54a890"><td class="memSeparator" colspan="2">&#160;</td></tr>
278
- <tr class="memitem:a695fcc1ffc4a0fab83cc65ee755eebcb"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a695fcc1ffc4a0fab83cc65ee755eebcb">geqVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;rhs)</td></tr>
279
- <tr class="separator:a695fcc1ffc4a0fab83cc65ee755eebcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
300
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
301
+ Static Public Attributes</h2></td></tr>
302
+ <tr class="memitem:a92b1b163493a74a31d30a261128edd05"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a></td></tr>
303
+ <tr class="separator:a92b1b163493a74a31d30a261128edd05"><td class="memSeparator" colspan="2">&#160;</td></tr>
304
+ </table><table class="memberdecls">
305
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
306
+ Friends</h2></td></tr>
307
+ <tr class="memitem:af1ac478aba3f3858d5f6f4b15a9f73a6"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#af1ac478aba3f3858d5f6f4b15a9f73a6">SVFIR2ItvExeState</a></td></tr>
308
+ <tr class="separator:af1ac478aba3f3858d5f6f4b15a9f73a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
309
+ <tr class="memitem:a44841fb4ad23542383ea77bf1ffda65f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a44841fb4ad23542383ea77bf1ffda65f">RelationSolver</a></td></tr>
310
+ <tr class="separator:a44841fb4ad23542383ea77bf1ffda65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
311
+ </table><table class="memberdecls">
312
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
313
+ Additional Inherited Members</h2></td></tr>
314
+ <tr class="inherit_header pub_types_classSVF_1_1IntervalESBase"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1IntervalESBase')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></td></tr>
315
+ <tr class="memitem:a02e3d5f7074c4f77338edc9a7add95d8 inherit pub_types_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a></td></tr>
316
+ <tr class="separator:a02e3d5f7074c4f77338edc9a7add95d8 inherit pub_types_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
317
+ <tr class="memitem:a2c8cf00ffaa36fed2e634adbaff7b412 inherit pub_types_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a></td></tr>
318
+ <tr class="separator:a2c8cf00ffaa36fed2e634adbaff7b412 inherit pub_types_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
319
+ <tr class="inherit_header pub_types_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
320
+ <tr class="memitem:a259b93247e06141077b2c1ae15efcbb8 inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">ExeState_TYPE</a> { <a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>,
321
+ <a class="el" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e">SingleValueK</a>
322
+ }</td></tr>
323
+ <tr class="memdesc:a259b93247e06141077b2c1ae15efcbb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execution state type. <a href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8">More...</a><br /></td></tr>
324
+ <tr class="separator:a259b93247e06141077b2c1ae15efcbb8 inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
325
+ <tr class="memitem:a78038dd4884a501cfc94f073021eac96 inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1AddressValue.html">AddressValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a></td></tr>
326
+ <tr class="separator:a78038dd4884a501cfc94f073021eac96 inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
327
+ <tr class="memitem:a09f34aca79479221305769cae307feef inherit pub_types_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a></td></tr>
328
+ <tr class="separator:a09f34aca79479221305769cae307feef inherit pub_types_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
329
+ <tr class="inherit_header pub_static_methods_classSVF_1_1IntervalESBase"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classSVF_1_1IntervalESBase')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></td></tr>
330
+ <tr class="memitem:a5fbb3e0a06cb36f020a6de20ebd04ad1 inherit pub_static_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</td></tr>
331
+ <tr class="separator:a5fbb3e0a06cb36f020a6de20ebd04ad1 inherit pub_static_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
332
+ <tr class="memitem:af1837e907961eb3594b817b62b9ea9a3 inherit pub_static_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#af1837e907961eb3594b817b62b9ea9a3">lessThanVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</td></tr>
333
+ <tr class="separator:af1837e907961eb3594b817b62b9ea9a3 inherit pub_static_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
334
+ <tr class="memitem:a7f8254581235c03a3fad17e51d00db0c inherit pub_static_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</td></tr>
335
+ <tr class="separator:a7f8254581235c03a3fad17e51d00db0c inherit pub_static_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
280
336
  <tr class="inherit_header pub_static_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
281
337
  <tr class="memitem:a35a28ef0a8acd14f44e6755eff424d9d inherit pub_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static z3::context &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">getContext</a> ()</td></tr>
282
338
  <tr class="separator:a35a28ef0a8acd14f44e6755eff424d9d inherit pub_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -289,20 +345,21 @@ Static Public Member Functions</h2></td></tr>
289
345
  <tr class="memitem:ab72f3bc855feeda75e11768ab03ad84e inherit pub_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</td></tr>
290
346
  <tr class="memdesc:ab72f3bc855feeda75e11768ab03ad84e inherit pub_static_methods_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the internal index if idx is an address otherwise return the value of idx. <a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">More...</a><br /></td></tr>
291
347
  <tr class="separator:ab72f3bc855feeda75e11768ab03ad84e inherit pub_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
292
- </table><table class="memberdecls">
293
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
294
- Static Public Attributes</h2></td></tr>
295
- <tr class="memitem:a92b1b163493a74a31d30a261128edd05"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a></td></tr>
296
- <tr class="separator:a92b1b163493a74a31d30a261128edd05"><td class="memSeparator" colspan="2">&#160;</td></tr>
297
- </table><table class="memberdecls">
298
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
299
- Protected Attributes</h2></td></tr>
300
- <tr class="memitem:ac72e3ae77e06e0dfc7c2edd2bf765d77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a></td></tr>
301
- <tr class="memdesc:ac72e3ae77e06e0dfc7c2edd2bf765d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a variable (symbol) to its interval value. <a href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">More...</a><br /></td></tr>
302
- <tr class="separator:ac72e3ae77e06e0dfc7c2edd2bf765d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
303
- <tr class="memitem:a39dead4fe213e3d02b1613debbc86e71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a></td></tr>
304
- <tr class="memdesc:a39dead4fe213e3d02b1613debbc86e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a memory address to its stored interval value. <a href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">More...</a><br /></td></tr>
305
- <tr class="separator:a39dead4fe213e3d02b1613debbc86e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
348
+ <tr class="inherit_header pro_methods_classSVF_1_1IntervalESBase"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1IntervalESBase')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></td></tr>
349
+ <tr class="memitem:a14e210bd24b2104afb36ad50a0899c09 inherit pro_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a> (const <a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;table, std::ostream &amp;oss) const</td></tr>
350
+ <tr class="separator:a14e210bd24b2104afb36ad50a0899c09 inherit pro_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
351
+ <tr class="memitem:a2b5821a3dd16e98687768b51cf05b789 inherit pro_methods_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#a2b5821a3dd16e98687768b51cf05b789">printTable</a> (const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;table, std::ostream &amp;oss) const</td></tr>
352
+ <tr class="separator:a2b5821a3dd16e98687768b51cf05b789 inherit pro_methods_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
353
+ <tr class="inherit_header pro_static_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
354
+ <tr class="memitem:a0a24ad3ced48b6755b7fc917d0f0fbb9 inherit pro_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">eqVarToAddrs</a> (const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;lhs, const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;rhs)</td></tr>
355
+ <tr class="separator:a0a24ad3ced48b6755b7fc917d0f0fbb9 inherit pro_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
356
+ <tr class="inherit_header pro_attribs_classSVF_1_1IntervalESBase"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classSVF_1_1IntervalESBase')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></td></tr>
357
+ <tr class="memitem:ad2288306aed7301ccd30e55410c7b428 inherit pro_attribs_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a></td></tr>
358
+ <tr class="memdesc:ad2288306aed7301ccd30e55410c7b428 inherit pro_attribs_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a variable (symbol) to its interval value. <a href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">More...</a><br /></td></tr>
359
+ <tr class="separator:ad2288306aed7301ccd30e55410c7b428 inherit pro_attribs_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
360
+ <tr class="memitem:acba74693030fca248521412c552e3dcc inherit pro_attribs_classSVF_1_1IntervalESBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a></td></tr>
361
+ <tr class="memdesc:acba74693030fca248521412c552e3dcc inherit pro_attribs_classSVF_1_1IntervalESBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a memory address to its stored interval value. <a href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">More...</a><br /></td></tr>
362
+ <tr class="separator:acba74693030fca248521412c552e3dcc inherit pro_attribs_classSVF_1_1IntervalESBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
306
363
  <tr class="inherit_header pro_attribs_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
307
364
  <tr class="memitem:ad317f2ae2e599a131a6fd9f415f5d712 inherit pro_attribs_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a> {{0, <a class="el" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">getVirtualMemAddress</a>(0)}}</td></tr>
308
365
  <tr class="memdesc:ad317f2ae2e599a131a6fd9f415f5d712 inherit pro_attribs_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a variable (symbol) to its memory addresses. <a href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">More...</a><br /></td></tr>
@@ -310,64 +367,11 @@ Protected Attributes</h2></td></tr>
310
367
  <tr class="memitem:a79866a547dc4805d3fefdfd528d2df2a inherit pro_attribs_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a></td></tr>
311
368
  <tr class="memdesc:a79866a547dc4805d3fefdfd528d2df2a inherit pro_attribs_classSVF_1_1ExeState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a memory address to its stored memory addresses. <a href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">More...</a><br /></td></tr>
312
369
  <tr class="separator:a79866a547dc4805d3fefdfd528d2df2a inherit pro_attribs_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
313
- </table><table class="memberdecls">
314
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
315
- Private Member Functions</h2></td></tr>
316
- <tr class="memitem:abf57a44b95108e255242f630ba33f37b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a> (const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;table, std::ostream &amp;oss) const</td></tr>
317
- <tr class="separator:abf57a44b95108e255242f630ba33f37b"><td class="memSeparator" colspan="2">&#160;</td></tr>
318
- <tr class="memitem:a4d22ccce6915c9fe8238e20433b9d5b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a4d22ccce6915c9fe8238e20433b9d5b8">printTable</a> (const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;table, std::ostream &amp;oss) const</td></tr>
319
- <tr class="separator:a4d22ccce6915c9fe8238e20433b9d5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
320
- </table><table class="memberdecls">
321
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
322
- Friends</h2></td></tr>
323
- <tr class="memitem:af1ac478aba3f3858d5f6f4b15a9f73a6"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#af1ac478aba3f3858d5f6f4b15a9f73a6">SVFIR2ItvExeState</a></td></tr>
324
- <tr class="separator:af1ac478aba3f3858d5f6f4b15a9f73a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
325
- <tr class="memitem:a44841fb4ad23542383ea77bf1ffda65f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntervalExeState.html#a44841fb4ad23542383ea77bf1ffda65f">RelationSolver</a></td></tr>
326
- <tr class="separator:a44841fb4ad23542383ea77bf1ffda65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
327
- </table><table class="memberdecls">
328
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
329
- Additional Inherited Members</h2></td></tr>
330
- <tr class="inherit_header pro_static_methods_classSVF_1_1ExeState"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classSVF_1_1ExeState')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classSVF_1_1ExeState.html">SVF::ExeState</a></td></tr>
331
- <tr class="memitem:a0a24ad3ced48b6755b7fc917d0f0fbb9 inherit pro_static_methods_classSVF_1_1ExeState"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">eqVarToAddrs</a> (const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;lhs, const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;rhs)</td></tr>
332
- <tr class="separator:a0a24ad3ced48b6755b7fc917d0f0fbb9 inherit pro_static_methods_classSVF_1_1ExeState"><td class="memSeparator" colspan="2">&#160;</td></tr>
333
370
  </table>
334
371
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
335
372
  <div class="textblock">
336
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00055">55</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
337
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
338
- <a id="a3b95a08fa7b123549e732819d9371946"></a>
339
- <h2 class="memtitle"><span class="permalink"><a href="#a3b95a08fa7b123549e732819d9371946">&#9670;&nbsp;</a></span>LocToValMap</h2>
340
-
341
- <div class="memitem">
342
- <div class="memproto">
343
- <table class="memname">
344
- <tr>
345
- <td class="memname">typedef <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> <a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">SVF::IntervalExeState::LocToValMap</a></td>
346
- </tr>
347
- </table>
348
- </div><div class="memdoc">
349
-
350
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00063">63</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
351
-
352
- </div>
353
- </div>
354
- <a id="ae2b12e4add0714aa861f790864e098ff"></a>
355
- <h2 class="memtitle"><span class="permalink"><a href="#ae2b12e4add0714aa861f790864e098ff">&#9670;&nbsp;</a></span>VarToValMap</h2>
356
-
357
- <div class="memitem">
358
- <div class="memproto">
359
- <table class="memname">
360
- <tr>
361
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&gt; <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">SVF::IntervalExeState::VarToValMap</a></td>
362
- </tr>
363
- </table>
364
- </div><div class="memdoc">
365
-
366
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00061">61</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
367
-
368
- </div>
369
- </div>
370
- <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
373
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00407">407</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
374
+ </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
371
375
  <a id="adce87f96e58b25bd6ff046e6608f4d2c"></a>
372
376
  <h2 class="memtitle"><span class="permalink"><a href="#adce87f96e58b25bd6ff046e6608f4d2c">&#9670;&nbsp;</a></span>IntervalExeState() <span class="overload">[1/4]</span></h2>
373
377
 
@@ -393,8 +397,8 @@ Additional Inherited Members</h2></td></tr>
393
397
 
394
398
  <p>default constructor </p>
395
399
 
396
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00069">69</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
397
- <div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;: <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">ExeState::IntervalK</a>) {}</div>
400
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00417">417</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
401
+ <div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;: <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a>() {}</div>
398
402
  </div><!-- fragment -->
399
403
  </div>
400
404
  </div>
@@ -410,13 +414,13 @@ Additional Inherited Members</h2></td></tr>
410
414
  <tr>
411
415
  <td class="memname">SVF::IntervalExeState::IntervalExeState </td>
412
416
  <td>(</td>
413
- <td class="paramtype"><a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
417
+ <td class="paramtype"><a class="el" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;&#160;</td>
414
418
  <td class="paramname"><em>_varToValMap</em>, </td>
415
419
  </tr>
416
420
  <tr>
417
421
  <td class="paramkey"></td>
418
422
  <td></td>
419
- <td class="paramtype"><a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> &amp;&#160;</td>
423
+ <td class="paramtype"><a class="el" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;&#160;</td>
420
424
  <td class="paramname"><em>_locToValMap</em>&#160;</td>
421
425
  </tr>
422
426
  <tr>
@@ -432,10 +436,8 @@ Additional Inherited Members</h2></td></tr>
432
436
  </table>
433
437
  </div><div class="memdoc">
434
438
 
435
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00071">71</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
436
- <div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; : <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">ExeState::IntervalK</a>),</div>
437
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>(_varToValMap),</div>
438
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>(_locToValMap) {}</div>
439
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00419">419</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
440
+ <div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;: <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a>(_varToValMap, _locToValMap) {}</div>
439
441
  </div><!-- fragment -->
440
442
  </div>
441
443
  </div>
@@ -465,12 +467,11 @@ Additional Inherited Members</h2></td></tr>
465
467
 
466
468
  <p>copy constructor </p>
467
469
 
468
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00076">76</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
469
- <div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; : <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(rhs), <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>(rhs.getVarToVal()),</div>
470
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>(rhs.getLocToVal())</div>
471
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
472
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
473
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
470
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00422">422</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
471
+ <div class="fragment"><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; : <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a>(rhs)</div>
472
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; {</div>
473
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; </div>
474
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
474
475
  </div><!-- fragment -->
475
476
  </div>
476
477
  </div>
@@ -525,19 +526,17 @@ Additional Inherited Members</h2></td></tr>
525
526
 
526
527
  <p>move constructor </p>
527
528
 
528
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00097">97</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
529
- <div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; : <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs)),</div>
530
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToItvVal)),</div>
531
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._locToItvVal))</div>
532
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
533
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
534
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
529
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00437">437</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
530
+ <div class="fragment"><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; : <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs))</div>
531
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; {</div>
532
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; </div>
533
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
535
534
  </div><!-- fragment -->
536
535
  </div>
537
536
  </div>
538
537
  <h2 class="groupheader">Member Function Documentation</h2>
539
- <a id="af1f0b9b41ccaa98aa23a7e128a253253"></a>
540
- <h2 class="memtitle"><span class="permalink"><a href="#af1f0b9b41ccaa98aa23a7e128a253253">&#9670;&nbsp;</a></span>bottom()</h2>
538
+ <a id="a052d677fb5ee940ed0686f3d67d10d19"></a>
539
+ <h2 class="memtitle"><span class="permalink"><a href="#a052d677fb5ee940ed0686f3d67d10d19">&#9670;&nbsp;</a></span>cpyItvToLocal()</h2>
541
540
 
542
541
  <div class="memitem">
543
542
  <div class="memproto">
@@ -546,10 +545,11 @@ Additional Inherited Members</h2></td></tr>
546
545
  <td class="mlabels-left">
547
546
  <table class="memname">
548
547
  <tr>
549
- <td class="memname"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> SVF::IntervalExeState::bottom </td>
548
+ <td class="memname">void SVF::IntervalExeState::cpyItvToLocal </td>
550
549
  <td>(</td>
551
- <td class="paramname"></td><td>)</td>
552
- <td> const</td>
550
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
551
+ <td class="paramname"><em>varId</em></td><td>)</td>
552
+ <td></td>
553
553
  </tr>
554
554
  </table>
555
555
  </td>
@@ -559,55 +559,45 @@ Additional Inherited Members</h2></td></tr>
559
559
  </table>
560
560
  </div><div class="memdoc">
561
561
 
562
- <p>Set all value bottom. </p>
563
-
564
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00117">117</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
565
- <div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
566
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">IntervalExeState</a> inv = *<span class="keyword">this</span>;</div>
567
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv._varToItvVal)</div>
568
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
569
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.set_to_bottom();</div>
570
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
571
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> inv;</div>
572
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
562
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00513">513</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
563
+ <div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div>
564
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keyword">auto</span> localIt = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(varId);</div>
565
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="comment">// local already have varId</span></div>
566
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">if</span> (localIt != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end()) <span class="keywordflow">return</span>;</div>
567
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(varId);</div>
568
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">if</span> (globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
569
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div>
570
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[varId] = globIt-&gt;second;</div>
571
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; }</div>
572
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div>
573
573
  </div><!-- fragment -->
574
574
  </div>
575
575
  </div>
576
- <a id="a4723715a8d9be3021b39082432d99375"></a>
577
- <h2 class="memtitle"><span class="permalink"><a href="#a4723715a8d9be3021b39082432d99375">&#9670;&nbsp;</a></span>clear()</h2>
576
+ <a id="a69f5125f14b129607fafb3717160f4c1"></a>
577
+ <h2 class="memtitle"><span class="permalink"><a href="#a69f5125f14b129607fafb3717160f4c1">&#9670;&nbsp;</a></span>equals()</h2>
578
578
 
579
579
  <div class="memitem">
580
580
  <div class="memproto">
581
- <table class="mlabels">
582
- <tr>
583
- <td class="mlabels-left">
584
581
  <table class="memname">
585
582
  <tr>
586
- <td class="memname">void SVF::IntervalExeState::clear </td>
583
+ <td class="memname">bool IntervalExeState::equals </td>
587
584
  <td>(</td>
588
- <td class="paramname"></td><td>)</td>
589
- <td></td>
585
+ <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&#160;</td>
586
+ <td class="paramname"><em>other</em></td><td>)</td>
587
+ <td> const</td>
590
588
  </tr>
591
589
  </table>
592
- </td>
593
- <td class="mlabels-right">
594
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
595
- </tr>
596
- </table>
597
590
  </div><div class="memdoc">
598
591
 
599
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00451">451</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
600
- <div class="fragment"><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
601
- <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.clear();</div>
602
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.clear();</div>
603
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.clear();</div>
604
- <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.clear();</div>
605
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
592
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00243">243</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
593
+ <div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;{</div>
594
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span> == other;</div>
595
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div>
606
596
  </div><!-- fragment -->
607
597
  </div>
608
598
  </div>
609
- <a id="a052d677fb5ee940ed0686f3d67d10d19"></a>
610
- <h2 class="memtitle"><span class="permalink"><a href="#a052d677fb5ee940ed0686f3d67d10d19">&#9670;&nbsp;</a></span>cpyItvToLocal()</h2>
599
+ <a id="a056e0db56033ac4dc041e6d82d614dbd"></a>
600
+ <h2 class="memtitle"><span class="permalink"><a href="#a056e0db56033ac4dc041e6d82d614dbd">&#9670;&nbsp;</a></span>getAddrs()</h2>
611
601
 
612
602
  <div class="memitem">
613
603
  <div class="memproto">
@@ -616,36 +606,37 @@ Additional Inherited Members</h2></td></tr>
616
606
  <td class="mlabels-left">
617
607
  <table class="memname">
618
608
  <tr>
619
- <td class="memname">void SVF::IntervalExeState::cpyItvToLocal </td>
609
+ <td class="memname"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalExeState::getAddrs </td>
620
610
  <td>(</td>
621
611
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
622
- <td class="paramname"><em>varId</em></td><td>)</td>
612
+ <td class="paramname"><em>id</em></td><td>)</td>
623
613
  <td></td>
624
614
  </tr>
625
615
  </table>
626
616
  </td>
627
617
  <td class="mlabels-right">
628
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
618
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
629
619
  </tr>
630
620
  </table>
631
621
  </div><div class="memdoc">
632
622
 
633
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00230">230</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
634
- <div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
635
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">auto</span> localIt = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(varId);</div>
636
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// local already have varId</span></div>
637
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (localIt != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end()) <span class="keywordflow">return</span>;</div>
638
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(varId);</div>
639
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span> (globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end())</div>
640
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div>
641
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[varId] = globIt-&gt;second;</div>
642
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div>
643
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
623
+ <p>get memory addresses of variable </p>
624
+
625
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a5b199cda24038f6f60fe4fa6b6d6bb76">SVF::IntervalESBase</a>.</p>
626
+
627
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00452">452</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
628
+ <div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; {</div>
629
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
630
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
631
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
632
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">else</span></div>
633
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[id];</div>
634
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div>
644
635
  </div><!-- fragment -->
645
636
  </div>
646
637
  </div>
647
- <a id="a73d2e475625f5b9204cdecb94381c558"></a>
648
- <h2 class="memtitle"><span class="permalink"><a href="#a73d2e475625f5b9204cdecb94381c558">&#9670;&nbsp;</a></span>createIntervalValue()</h2>
638
+ <a id="a053ad8e95d16e2ec047c64258c2021f2"></a>
639
+ <h2 class="memtitle"><span class="permalink"><a href="#a053ad8e95d16e2ec047c64258c2021f2">&#9670;&nbsp;</a></span>getLocAddrs()</h2>
649
640
 
650
641
  <div class="memitem">
651
642
  <div class="memproto">
@@ -654,71 +645,41 @@ Additional Inherited Members</h2></td></tr>
654
645
  <td class="mlabels-left">
655
646
  <table class="memname">
656
647
  <tr>
657
- <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVF::IntervalExeState::createIntervalValue </td>
648
+ <td class="memname"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalExeState::getLocAddrs </td>
658
649
  <td>(</td>
659
- <td class="paramtype">double&#160;</td>
660
- <td class="paramname"><em>lb</em>, </td>
661
- </tr>
662
- <tr>
663
- <td class="paramkey"></td>
664
- <td></td>
665
- <td class="paramtype">double&#160;</td>
666
- <td class="paramname"><em>ub</em>, </td>
667
- </tr>
668
- <tr>
669
- <td class="paramkey"></td>
670
- <td></td>
671
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
672
- <td class="paramname"><em>id</em>&#160;</td>
673
- </tr>
674
- <tr>
650
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
651
+ <td class="paramname"><em>id</em></td><td>)</td>
675
652
  <td></td>
676
- <td>)</td>
677
- <td></td><td></td>
678
653
  </tr>
679
654
  </table>
680
655
  </td>
681
656
  <td class="mlabels-right">
682
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
657
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
683
658
  </tr>
684
659
  </table>
685
660
  </div><div class="memdoc">
686
661
 
687
- <p>TODO: Create new interval value. </p>
688
-
689
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00272">272</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
690
- <div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
691
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[id] = IntervalValue(lb, ub);</div>
692
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[id];</div>
693
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
694
- </div><!-- fragment -->
695
- </div>
696
- </div>
697
- <a id="a69f5125f14b129607fafb3717160f4c1"></a>
698
- <h2 class="memtitle"><span class="permalink"><a href="#a69f5125f14b129607fafb3717160f4c1">&#9670;&nbsp;</a></span>equals()</h2>
699
-
700
- <div class="memitem">
701
- <div class="memproto">
702
- <table class="memname">
703
- <tr>
704
- <td class="memname">bool IntervalExeState::equals </td>
705
- <td>(</td>
706
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&#160;</td>
707
- <td class="paramname"><em>other</em></td><td>)</td>
708
- <td> const</td>
709
- </tr>
710
- </table>
711
- </div><div class="memdoc">
712
-
713
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00037">37</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
714
- <div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
715
- <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span> == other;</div>
716
- <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;}</div>
662
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a04145be14d0b0f60eb0f357e0ec7a92c">SVF::IntervalESBase</a>.</p>
663
+
664
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00596">596</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
665
+ <div class="fragment"><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div>
666
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
667
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
668
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
669
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">else</span></div>
670
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; {</div>
671
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
672
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
673
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
674
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">else</span></div>
675
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[id];</div>
676
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; }</div>
677
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div>
717
678
  </div><!-- fragment -->
718
679
  </div>
719
680
  </div>
720
- <a id="ac3a30689d2918b7db8bb6b640322f457"></a>
721
- <h2 class="memtitle"><span class="permalink"><a href="#ac3a30689d2918b7db8bb6b640322f457">&#9670;&nbsp;</a></span>eqVarToValMap()</h2>
681
+ <a id="a48247d3ce543a9773d668998f7f58ac3"></a>
682
+ <h2 class="memtitle"><span class="permalink"><a href="#a48247d3ce543a9773d668998f7f58ac3">&#9670;&nbsp;</a></span>getLocToVal()</h2>
722
683
 
723
684
  <div class="memitem">
724
685
  <div class="memproto">
@@ -727,50 +688,41 @@ Additional Inherited Members</h2></td></tr>
727
688
  <td class="mlabels-left">
728
689
  <table class="memname">
729
690
  <tr>
730
- <td class="memname">static bool SVF::IntervalExeState::eqVarToValMap </td>
691
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; SVF::IntervalExeState::getLocToVal </td>
731
692
  <td>(</td>
732
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
733
- <td class="paramname"><em>lhs</em>, </td>
734
- </tr>
735
- <tr>
736
- <td class="paramkey"></td>
737
- <td></td>
738
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
739
- <td class="paramname"><em>rhs</em>&#160;</td>
740
- </tr>
741
- <tr>
693
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
694
+ <td class="paramname"><em>id</em></td><td>)</td>
742
695
  <td></td>
743
- <td>)</td>
744
- <td></td><td></td>
745
696
  </tr>
746
697
  </table>
747
698
  </td>
748
699
  <td class="mlabels-right">
749
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
700
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
750
701
  </tr>
751
702
  </table>
752
703
  </div><div class="memdoc">
753
704
 
754
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00383">383</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
755
- <div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div>
756
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
757
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
758
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div>
759
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
760
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
761
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
762
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.equals(it-&gt;second))</div>
763
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div>
764
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
765
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div>
766
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
767
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
768
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
705
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a46a305a70ec53c6bda50caafec38791a">SVF::IntervalESBase</a>.</p>
706
+
707
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00581">581</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
708
+ <div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; {</div>
709
+ <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>);</div>
710
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
711
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
712
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">else</span></div>
713
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div>
714
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>);</div>
715
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
716
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
717
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">else</span></div>
718
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[id];</div>
719
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div>
720
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div>
769
721
  </div><!-- fragment -->
770
722
  </div>
771
723
  </div>
772
- <a id="a695fcc1ffc4a0fab83cc65ee755eebcb"></a>
773
- <h2 class="memtitle"><span class="permalink"><a href="#a695fcc1ffc4a0fab83cc65ee755eebcb">&#9670;&nbsp;</a></span>geqVarToValMap()</h2>
724
+ <a id="a85b0e711160d67ea84f426025b980dce"></a>
725
+ <h2 class="memtitle"><span class="permalink"><a href="#a85b0e711160d67ea84f426025b980dce">&#9670;&nbsp;</a></span>hash()</h2>
774
726
 
775
727
  <div class="memitem">
776
728
  <div class="memproto">
@@ -779,47 +731,30 @@ Additional Inherited Members</h2></td></tr>
779
731
  <td class="mlabels-left">
780
732
  <table class="memname">
781
733
  <tr>
782
- <td class="memname">static bool SVF::IntervalExeState::geqVarToValMap </td>
734
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> IntervalExeState::hash </td>
783
735
  <td>(</td>
784
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
785
- <td class="paramname"><em>lhs</em>, </td>
786
- </tr>
787
- <tr>
788
- <td class="paramkey"></td>
789
- <td></td>
790
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
791
- <td class="paramname"><em>rhs</em>&#160;</td>
792
- </tr>
793
- <tr>
794
- <td></td>
795
- <td>)</td>
796
- <td></td><td></td>
736
+ <td class="paramname"></td><td>)</td>
737
+ <td> const</td>
797
738
  </tr>
798
739
  </table>
799
740
  </td>
800
741
  <td class="mlabels-right">
801
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
742
+ <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
802
743
  </tr>
803
744
  </table>
804
745
  </div><div class="memdoc">
805
746
 
806
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00414">414</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
807
- <div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div>
808
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">if</span> (rhs.empty()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
809
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: rhs)</div>
810
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; {</div>
811
- <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keyword">auto</span> it = lhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
812
- <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">if</span> (it == lhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
813
- <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="comment">// judge from expr id</span></div>
814
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">if</span> (!it-&gt;second.geq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
815
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div>
816
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
817
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
747
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a2ecbba4a55776562262b6ddc9f0d9101">SVF::IntervalESBase</a>.</p>
748
+
749
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00248">248</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
750
+ <div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div>
751
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a2ecbba4a55776562262b6ddc9f0d9101">IntervalESBase::hash</a>();</div>
752
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
818
753
  </div><!-- fragment -->
819
754
  </div>
820
755
  </div>
821
- <a id="a056e0db56033ac4dc041e6d82d614dbd"></a>
822
- <h2 class="memtitle"><span class="permalink"><a href="#a056e0db56033ac4dc041e6d82d614dbd">&#9670;&nbsp;</a></span>getAddrs()</h2>
756
+ <a id="ad675e973daeb7d366cf7e3cd3c0b13fb"></a>
757
+ <h2 class="memtitle"><span class="permalink"><a href="#ad675e973daeb7d366cf7e3cd3c0b13fb">&#9670;&nbsp;</a></span>inLocalLocToAddrsTable()</h2>
823
758
 
824
759
  <div class="memitem">
825
760
  <div class="memproto">
@@ -828,37 +763,29 @@ Additional Inherited Members</h2></td></tr>
828
763
  <td class="mlabels-left">
829
764
  <table class="memname">
830
765
  <tr>
831
- <td class="memname"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalExeState::getAddrs </td>
766
+ <td class="memname">bool SVF::IntervalExeState::inLocalLocToAddrsTable </td>
832
767
  <td>(</td>
833
768
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
834
769
  <td class="paramname"><em>id</em></td><td>)</td>
835
- <td></td>
770
+ <td> const</td>
836
771
  </tr>
837
772
  </table>
838
773
  </td>
839
774
  <td class="mlabels-right">
840
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
775
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
841
776
  </tr>
842
777
  </table>
843
778
  </div><div class="memdoc">
844
779
 
845
- <p>get memory addresses of variable </p>
846
-
847
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a3b340ae2aad86f6125d24b42ec8901d0">SVF::ExeState</a>.</p>
848
-
849
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00157">157</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
850
- <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
851
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
852
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
853
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
854
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">else</span></div>
855
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[id];</div>
856
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
780
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00506">506</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
781
+ <div class="fragment"><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; {</div>
782
+ <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end();</div>
783
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div>
857
784
  </div><!-- fragment -->
858
785
  </div>
859
786
  </div>
860
- <a id="ab2ca8fade3399ebbffd3cc32e52604d5"></a>
861
- <h2 class="memtitle"><span class="permalink"><a href="#ab2ca8fade3399ebbffd3cc32e52604d5">&#9670;&nbsp;</a></span>getLocAddrs()</h2>
787
+ <a id="a6fdad70e3a0b39e146f0b93f24f055c6"></a>
788
+ <h2 class="memtitle"><span class="permalink"><a href="#a6fdad70e3a0b39e146f0b93f24f055c6">&#9670;&nbsp;</a></span>inLocalLocToValTable()</h2>
862
789
 
863
790
  <div class="memitem">
864
791
  <div class="memproto">
@@ -867,11 +794,11 @@ Additional Inherited Members</h2></td></tr>
867
794
  <td class="mlabels-left">
868
795
  <table class="memname">
869
796
  <tr>
870
- <td class="memname"><a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a>&amp; SVF::IntervalExeState::getLocAddrs </td>
797
+ <td class="memname">bool SVF::IntervalExeState::inLocalLocToValTable </td>
871
798
  <td>(</td>
872
799
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
873
800
  <td class="paramname"><em>id</em></td><td>)</td>
874
- <td></td>
801
+ <td> const</td>
875
802
  </tr>
876
803
  </table>
877
804
  </td>
@@ -881,25 +808,15 @@ Additional Inherited Members</h2></td></tr>
881
808
  </table>
882
809
  </div><div class="memdoc">
883
810
 
884
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00358">358</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
885
- <div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
886
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
887
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
888
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
889
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">else</span></div>
890
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div>
891
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
892
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
893
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
894
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">else</span></div>
895
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[id];</div>
896
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div>
897
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
811
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00501">501</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
812
+ <div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div>
813
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end();</div>
814
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div>
898
815
  </div><!-- fragment -->
899
816
  </div>
900
817
  </div>
901
- <a id="ae0d4b22023ce63327f55484cffb051cf"></a>
902
- <h2 class="memtitle"><span class="permalink"><a href="#ae0d4b22023ce63327f55484cffb051cf">&#9670;&nbsp;</a></span>getLocToVal() <span class="overload">[1/2]</span></h2>
818
+ <a id="af61110c081ca71f9348e8dfff5aa76e4"></a>
819
+ <h2 class="memtitle"><span class="permalink"><a href="#af61110c081ca71f9348e8dfff5aa76e4">&#9670;&nbsp;</a></span>inLocToAddrsTable()</h2>
903
820
 
904
821
  <div class="memitem">
905
822
  <div class="memproto">
@@ -908,30 +825,34 @@ Additional Inherited Members</h2></td></tr>
908
825
  <td class="mlabels-left">
909
826
  <table class="memname">
910
827
  <tr>
911
- <td class="memname">const <a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a>&amp; SVF::IntervalExeState::getLocToVal </td>
828
+ <td class="memname">bool SVF::IntervalExeState::inLocToAddrsTable </td>
912
829
  <td>(</td>
913
- <td class="paramname"></td><td>)</td>
830
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
831
+ <td class="paramname"><em>id</em></td><td>)</td>
914
832
  <td> const</td>
915
833
  </tr>
916
834
  </table>
917
835
  </td>
918
836
  <td class="mlabels-right">
919
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
837
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
920
838
  </tr>
921
839
  </table>
922
840
  </div><div class="memdoc">
923
841
 
924
- <p>get loc2val map </p>
842
+ <p>whether the memory address stores memory addresses </p>
843
+
844
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a6c517028bddfa9f4617950a02f347ce8">SVF::IntervalESBase</a>.</p>
925
845
 
926
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00213">213</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
927
- <div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div>
928
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>;</div>
929
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div>
846
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00488">488</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
847
+ <div class="fragment"><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; {</div>
848
+ <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end() ||</div>
849
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end();</div>
850
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; }</div>
930
851
  </div><!-- fragment -->
931
852
  </div>
932
853
  </div>
933
- <a id="a7c116401ebfd4e0947f5be6a61d1edcc"></a>
934
- <h2 class="memtitle"><span class="permalink"><a href="#a7c116401ebfd4e0947f5be6a61d1edcc">&#9670;&nbsp;</a></span>getLocToVal() <span class="overload">[2/2]</span></h2>
854
+ <a id="a50aee49f7f34e05f7e2cb28ae55099f8"></a>
855
+ <h2 class="memtitle"><span class="permalink"><a href="#a50aee49f7f34e05f7e2cb28ae55099f8">&#9670;&nbsp;</a></span>inLocToValTable()</h2>
935
856
 
936
857
  <div class="memitem">
937
858
  <div class="memproto">
@@ -940,39 +861,34 @@ Additional Inherited Members</h2></td></tr>
940
861
  <td class="mlabels-left">
941
862
  <table class="memname">
942
863
  <tr>
943
- <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; SVF::IntervalExeState::getLocToVal </td>
864
+ <td class="memname">bool SVF::IntervalExeState::inLocToValTable </td>
944
865
  <td>(</td>
945
866
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
946
867
  <td class="paramname"><em>id</em></td><td>)</td>
947
- <td></td>
868
+ <td> const</td>
948
869
  </tr>
949
870
  </table>
950
871
  </td>
951
872
  <td class="mlabels-right">
952
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
873
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
953
874
  </tr>
954
875
  </table>
955
876
  </div><div class="memdoc">
956
877
 
957
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00343">343</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
958
- <div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div>
959
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(<span class="keywordtype">id</span>);</div>
960
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
961
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
962
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span></div>
963
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div>
964
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(<span class="keywordtype">id</span>);</div>
965
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
966
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
967
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">else</span></div>
968
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>[id];</div>
969
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
970
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div>
878
+ <p>whether the memory address stores interval value </p>
879
+
880
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a8926e8fe328e3a3596fee42e06130da7">SVF::IntervalESBase</a>.</p>
881
+
882
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00495">495</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
883
+ <div class="fragment"><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
884
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end() ||</div>
885
+ <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end();</div>
886
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
971
887
  </div><!-- fragment -->
972
888
  </div>
973
889
  </div>
974
- <a id="a4e3e495118c907a29d7705904273f6d3"></a>
975
- <h2 class="memtitle"><span class="permalink"><a href="#a4e3e495118c907a29d7705904273f6d3">&#9670;&nbsp;</a></span>getVarToVal()</h2>
890
+ <a id="ad485a35730353c0e945bc84a034d9e45"></a>
891
+ <h2 class="memtitle"><span class="permalink"><a href="#ad485a35730353c0e945bc84a034d9e45">&#9670;&nbsp;</a></span>inVarToAddrsTable()</h2>
976
892
 
977
893
  <div class="memitem">
978
894
  <div class="memproto">
@@ -981,30 +897,34 @@ Additional Inherited Members</h2></td></tr>
981
897
  <td class="mlabels-left">
982
898
  <table class="memname">
983
899
  <tr>
984
- <td class="memname">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a>&amp; SVF::IntervalExeState::getVarToVal </td>
900
+ <td class="memname">bool SVF::IntervalExeState::inVarToAddrsTable </td>
985
901
  <td>(</td>
986
- <td class="paramname"></td><td>)</td>
902
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
903
+ <td class="paramname"><em>id</em></td><td>)</td>
987
904
  <td> const</td>
988
905
  </tr>
989
906
  </table>
990
907
  </td>
991
908
  <td class="mlabels-right">
992
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
909
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
993
910
  </tr>
994
911
  </table>
995
912
  </div><div class="memdoc">
996
913
 
997
- <p>get var2val map </p>
914
+ <p>whether the variable is in varToAddrs table </p>
915
+
916
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a551d07983a89971d4e2422e6be850d4f">SVF::IntervalESBase</a>.</p>
998
917
 
999
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00207">207</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1000
- <div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
1001
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>;</div>
1002
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
918
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00474">474</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
919
+ <div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
920
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end() ||</div>
921
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end();</div>
922
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div>
1003
923
  </div><!-- fragment -->
1004
924
  </div>
1005
925
  </div>
1006
- <a id="a6a8c6bbff583ccd71453af5de884df89"></a>
1007
- <h2 class="memtitle"><span class="permalink"><a href="#a6a8c6bbff583ccd71453af5de884df89">&#9670;&nbsp;</a></span>has_bottom()</h2>
926
+ <a id="aab316a63c25483eefc38bed0a86a0e7e"></a>
927
+ <h2 class="memtitle"><span class="permalink"><a href="#aab316a63c25483eefc38bed0a86a0e7e">&#9670;&nbsp;</a></span>inVarToValTable()</h2>
1008
928
 
1009
929
  <div class="memitem">
1010
930
  <div class="memproto">
@@ -1013,330 +933,40 @@ Additional Inherited Members</h2></td></tr>
1013
933
  <td class="mlabels-left">
1014
934
  <table class="memname">
1015
935
  <tr>
1016
- <td class="memname">bool SVF::IntervalExeState::has_bottom </td>
936
+ <td class="memname">bool SVF::IntervalExeState::inVarToValTable </td>
1017
937
  <td>(</td>
1018
- <td class="paramname"></td><td>)</td>
1019
- <td></td>
938
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
939
+ <td class="paramname"><em>id</em></td><td>)</td>
940
+ <td> const</td>
1020
941
  </tr>
1021
942
  </table>
1022
943
  </td>
1023
944
  <td class="mlabels-right">
1024
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
945
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1025
946
  </tr>
1026
947
  </table>
1027
948
  </div><div class="memdoc">
1028
949
 
1029
- <p>Return true if map has bottom value. </p>
1030
-
1031
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00279">279</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1032
- <div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div>
1033
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
1034
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
1035
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
1036
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div>
1037
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1038
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div>
1039
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div>
1040
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
1041
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
1042
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
1043
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
1044
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1045
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div>
1046
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div>
1047
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1048
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
950
+ <p>whether the variable is in varToVal table </p>
951
+
952
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#aa240089b9af05b9a0406451b94ed41e0">SVF::IntervalESBase</a>.</p>
953
+
954
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00481">481</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
955
+ <div class="fragment"><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div>
956
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end() ||</div>
957
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end();</div>
958
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; }</div>
1049
959
  </div><!-- fragment -->
1050
960
  </div>
1051
961
  </div>
1052
- <a id="a85b0e711160d67ea84f426025b980dce"></a>
1053
- <h2 class="memtitle"><span class="permalink"><a href="#a85b0e711160d67ea84f426025b980dce">&#9670;&nbsp;</a></span>hash()</h2>
962
+ <a id="a46ef74cd1412790b088f1d7320f57a9f"></a>
963
+ <h2 class="memtitle"><span class="permalink"><a href="#a46ef74cd1412790b088f1d7320f57a9f">&#9670;&nbsp;</a></span>joinWith()</h2>
1054
964
 
1055
965
  <div class="memitem">
1056
966
  <div class="memproto">
1057
- <table class="mlabels">
1058
- <tr>
1059
- <td class="mlabels-left">
1060
967
  <table class="memname">
1061
968
  <tr>
1062
- <td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> IntervalExeState::hash </td>
1063
- <td>(</td>
1064
- <td class="paramname"></td><td>)</td>
1065
- <td> const</td>
1066
- </tr>
1067
- </table>
1068
- </td>
1069
- <td class="mlabels-right">
1070
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1071
- </tr>
1072
- </table>
1073
- </div><div class="memdoc">
1074
-
1075
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a2e63af0f29d04484c09cca217b799986">SVF::ExeState</a>.</p>
1076
-
1077
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00042">42</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1078
- <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
1079
- <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">size_t</span> h = <a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().size() * 2;</div>
1080
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="structSVF_1_1Hash.html">Hash&lt;u32_t&gt;</a> hf;</div>
1081
- <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;t: <a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
1082
- <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {</div>
1083
- <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; h ^= hf(t.first) + 0x9e3779b9 + (h &lt;&lt; 6) + (h &gt;&gt; 2);</div>
1084
- <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div>
1085
- <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordtype">size_t</span> h2 = <a class="code" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a>().size() * 2;</div>
1086
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;t: <a class="code" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a>())</div>
1087
- <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
1088
- <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; h2 ^= hf(t.first) + 0x9e3779b9 + (h2 &lt;&lt; 6) + (h2 &gt;&gt; 2);</div>
1089
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
1090
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="structSVF_1_1Hash.html">Hash&lt;std::pair&lt;std::pair&lt;u32_t, u32_t&gt;</a>, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&gt;&gt; pairH;</div>
1091
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> pairH(std::make_pair(std::make_pair(h, h2), (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) <a class="code" href="classSVF_1_1ExeState.html#a2e63af0f29d04484c09cca217b799986">ExeState::hash</a>()));</div>
1092
- <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
1093
- </div><!-- fragment -->
1094
- </div>
1095
- </div>
1096
- <a id="ad675e973daeb7d366cf7e3cd3c0b13fb"></a>
1097
- <h2 class="memtitle"><span class="permalink"><a href="#ad675e973daeb7d366cf7e3cd3c0b13fb">&#9670;&nbsp;</a></span>inLocalLocToAddrsTable()</h2>
1098
-
1099
- <div class="memitem">
1100
- <div class="memproto">
1101
- <table class="mlabels">
1102
- <tr>
1103
- <td class="mlabels-left">
1104
- <table class="memname">
1105
- <tr>
1106
- <td class="memname">bool SVF::IntervalExeState::inLocalLocToAddrsTable </td>
1107
- <td>(</td>
1108
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1109
- <td class="paramname"><em>id</em></td><td>)</td>
1110
- <td> const</td>
1111
- </tr>
1112
- </table>
1113
- </td>
1114
- <td class="mlabels-right">
1115
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1116
- </tr>
1117
- </table>
1118
- </div><div class="memdoc">
1119
-
1120
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00223">223</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1121
- <div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div>
1122
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end();</div>
1123
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
1124
- </div><!-- fragment -->
1125
- </div>
1126
- </div>
1127
- <a id="a6fdad70e3a0b39e146f0b93f24f055c6"></a>
1128
- <h2 class="memtitle"><span class="permalink"><a href="#a6fdad70e3a0b39e146f0b93f24f055c6">&#9670;&nbsp;</a></span>inLocalLocToValTable()</h2>
1129
-
1130
- <div class="memitem">
1131
- <div class="memproto">
1132
- <table class="mlabels">
1133
- <tr>
1134
- <td class="mlabels-left">
1135
- <table class="memname">
1136
- <tr>
1137
- <td class="memname">bool SVF::IntervalExeState::inLocalLocToValTable </td>
1138
- <td>(</td>
1139
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1140
- <td class="paramname"><em>id</em></td><td>)</td>
1141
- <td> const</td>
1142
- </tr>
1143
- </table>
1144
- </td>
1145
- <td class="mlabels-right">
1146
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1147
- </tr>
1148
- </table>
1149
- </div><div class="memdoc">
1150
-
1151
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00218">218</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1152
- <div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div>
1153
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end();</div>
1154
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
1155
- </div><!-- fragment -->
1156
- </div>
1157
- </div>
1158
- <a id="af61110c081ca71f9348e8dfff5aa76e4"></a>
1159
- <h2 class="memtitle"><span class="permalink"><a href="#af61110c081ca71f9348e8dfff5aa76e4">&#9670;&nbsp;</a></span>inLocToAddrsTable()</h2>
1160
-
1161
- <div class="memitem">
1162
- <div class="memproto">
1163
- <table class="mlabels">
1164
- <tr>
1165
- <td class="mlabels-left">
1166
- <table class="memname">
1167
- <tr>
1168
- <td class="memname">bool SVF::IntervalExeState::inLocToAddrsTable </td>
1169
- <td>(</td>
1170
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1171
- <td class="paramname"><em>id</em></td><td>)</td>
1172
- <td> const</td>
1173
- </tr>
1174
- </table>
1175
- </td>
1176
- <td class="mlabels-right">
1177
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1178
- </tr>
1179
- </table>
1180
- </div><div class="memdoc">
1181
-
1182
- <p>whether the memory address stores memory addresses </p>
1183
-
1184
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a54168f48a6c1fe983d20efce06a35710">SVF::ExeState</a>.</p>
1185
-
1186
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00193">193</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1187
- <div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
1188
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end() ||</div>
1189
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end();</div>
1190
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
1191
- </div><!-- fragment -->
1192
- </div>
1193
- </div>
1194
- <a id="af278d2193ba8931cce4cf5398cc33b02"></a>
1195
- <h2 class="memtitle"><span class="permalink"><a href="#af278d2193ba8931cce4cf5398cc33b02">&#9670;&nbsp;</a></span>inLocToValTable()</h2>
1196
-
1197
- <div class="memitem">
1198
- <div class="memproto">
1199
- <table class="mlabels">
1200
- <tr>
1201
- <td class="mlabels-left">
1202
- <table class="memname">
1203
- <tr>
1204
- <td class="memname">bool SVF::IntervalExeState::inLocToValTable </td>
1205
- <td>(</td>
1206
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1207
- <td class="paramname"><em>id</em></td><td>)</td>
1208
- <td> const</td>
1209
- </tr>
1210
- </table>
1211
- </td>
1212
- <td class="mlabels-right">
1213
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1214
- </tr>
1215
- </table>
1216
- </div><div class="memdoc">
1217
-
1218
- <p>whether the memory address stores interval value </p>
1219
-
1220
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00200">200</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1221
- <div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
1222
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end() ||</div>
1223
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end();</div>
1224
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
1225
- </div><!-- fragment -->
1226
- </div>
1227
- </div>
1228
- <a id="a12fe65f05dfe7a01e771e0b9990faba8"></a>
1229
- <h2 class="memtitle"><span class="permalink"><a href="#a12fe65f05dfe7a01e771e0b9990faba8">&#9670;&nbsp;</a></span>Interval2NumValue()</h2>
1230
-
1231
- <div class="memitem">
1232
- <div class="memproto">
1233
- <table class="mlabels">
1234
- <tr>
1235
- <td class="mlabels-left">
1236
- <table class="memname">
1237
- <tr>
1238
- <td class="memname"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> SVF::IntervalExeState::Interval2NumValue </td>
1239
- <td>(</td>
1240
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td>
1241
- <td class="paramname"><em>e</em></td><td>)</td>
1242
- <td> const</td>
1243
- </tr>
1244
- </table>
1245
- </td>
1246
- <td class="mlabels-right">
1247
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1248
- </tr>
1249
- </table>
1250
- </div><div class="memdoc">
1251
-
1252
- <p>Return int value from an expression if it is a numeral, otherwise return an approximate value. </p>
1253
-
1254
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00265">265</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1255
- <div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div>
1256
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">//TODO: return concrete value;</span></div>
1257
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) e.lb().getNumeral();</div>
1258
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
1259
- </div><!-- fragment -->
1260
- </div>
1261
- </div>
1262
- <a id="ad485a35730353c0e945bc84a034d9e45"></a>
1263
- <h2 class="memtitle"><span class="permalink"><a href="#ad485a35730353c0e945bc84a034d9e45">&#9670;&nbsp;</a></span>inVarToAddrsTable()</h2>
1264
-
1265
- <div class="memitem">
1266
- <div class="memproto">
1267
- <table class="mlabels">
1268
- <tr>
1269
- <td class="mlabels-left">
1270
- <table class="memname">
1271
- <tr>
1272
- <td class="memname">bool SVF::IntervalExeState::inVarToAddrsTable </td>
1273
- <td>(</td>
1274
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1275
- <td class="paramname"><em>id</em></td><td>)</td>
1276
- <td> const</td>
1277
- </tr>
1278
- </table>
1279
- </td>
1280
- <td class="mlabels-right">
1281
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1282
- </tr>
1283
- </table>
1284
- </div><div class="memdoc">
1285
-
1286
- <p>whether the variable is in varToAddrs table </p>
1287
-
1288
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a6dfff6d4302faeb80c78a512f32b529f">SVF::ExeState</a>.</p>
1289
-
1290
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00179">179</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1291
- <div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div>
1292
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end() ||</div>
1293
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end();</div>
1294
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
1295
- </div><!-- fragment -->
1296
- </div>
1297
- </div>
1298
- <a id="aba57b0f3c813c47c1b69915f145efbd6"></a>
1299
- <h2 class="memtitle"><span class="permalink"><a href="#aba57b0f3c813c47c1b69915f145efbd6">&#9670;&nbsp;</a></span>inVarToValTable()</h2>
1300
-
1301
- <div class="memitem">
1302
- <div class="memproto">
1303
- <table class="mlabels">
1304
- <tr>
1305
- <td class="mlabels-left">
1306
- <table class="memname">
1307
- <tr>
1308
- <td class="memname">bool SVF::IntervalExeState::inVarToValTable </td>
1309
- <td>(</td>
1310
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1311
- <td class="paramname"><em>id</em></td><td>)</td>
1312
- <td> const</td>
1313
- </tr>
1314
- </table>
1315
- </td>
1316
- <td class="mlabels-right">
1317
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1318
- </tr>
1319
- </table>
1320
- </div><div class="memdoc">
1321
-
1322
- <p>whether the variable is in varToVal table </p>
1323
-
1324
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00186">186</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1325
- <div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
1326
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end() ||</div>
1327
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end();</div>
1328
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
1329
- </div><!-- fragment -->
1330
- </div>
1331
- </div>
1332
- <a id="a46ef74cd1412790b088f1d7320f57a9f"></a>
1333
- <h2 class="memtitle"><span class="permalink"><a href="#a46ef74cd1412790b088f1d7320f57a9f">&#9670;&nbsp;</a></span>joinWith()</h2>
1334
-
1335
- <div class="memitem">
1336
- <div class="memproto">
1337
- <table class="memname">
1338
- <tr>
1339
- <td class="memname">void IntervalExeState::joinWith </td>
969
+ <td class="memname">void IntervalExeState::joinWith </td>
1340
970
  <td>(</td>
1341
971
  <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&#160;</td>
1342
972
  <td class="paramname"><em>other</em></td><td>)</td>
@@ -1347,90 +977,15 @@ Additional Inherited Members</h2></td></tr>
1347
977
 
1348
978
  <p>domain join with other, important! other widen this. </p>
1349
979
 
1350
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00114">114</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1351
- <div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div>
1352
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a60464bebe5f257bbe1356eee149524c0">ExeState::joinWith</a>(other);</div>
1353
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
1354
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
1355
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1356
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(key);</div>
1357
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end())</div>
1358
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
1359
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; oit-&gt;second.join_with(it-&gt;second);</div>
1360
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
1361
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">else</span></div>
1362
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
1363
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.emplace(key, it-&gt;second);</div>
1364
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
1365
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
1366
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
1367
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
1368
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1369
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(key);</div>
1370
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
1371
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div>
1372
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; oit-&gt;second.join_with(it-&gt;second);</div>
1373
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
1374
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">else</span></div>
1375
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
1376
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.emplace(key, it-&gt;second);</div>
1377
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
1378
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
1379
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;}</div>
1380
- </div><!-- fragment -->
1381
- </div>
1382
- </div>
1383
- <a id="a7129d3e1901c527f7c4876cb1c54a890"></a>
1384
- <h2 class="memtitle"><span class="permalink"><a href="#a7129d3e1901c527f7c4876cb1c54a890">&#9670;&nbsp;</a></span>lessThanVarToValMap()</h2>
1385
-
1386
- <div class="memitem">
1387
- <div class="memproto">
1388
- <table class="mlabels">
1389
- <tr>
1390
- <td class="mlabels-left">
1391
- <table class="memname">
1392
- <tr>
1393
- <td class="memname">static bool SVF::IntervalExeState::lessThanVarToValMap </td>
1394
- <td>(</td>
1395
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
1396
- <td class="paramname"><em>lhs</em>, </td>
1397
- </tr>
1398
- <tr>
1399
- <td class="paramkey"></td>
1400
- <td></td>
1401
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
1402
- <td class="paramname"><em>rhs</em>&#160;</td>
1403
- </tr>
1404
- <tr>
1405
- <td></td>
1406
- <td>)</td>
1407
- <td></td><td></td>
1408
- </tr>
1409
- </table>
1410
- </td>
1411
- <td class="mlabels-right">
1412
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
1413
- </tr>
1414
- </table>
1415
- </div><div class="memdoc">
1416
-
1417
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00400">400</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1418
- <div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div>
1419
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (lhs.empty()) <span class="keywordflow">return</span> !rhs.empty();</div>
1420
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
1421
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div>
1422
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
1423
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">if</span> (it == rhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1424
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="comment">// judge from expr id</span></div>
1425
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.geq(it-&gt;second)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1426
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div>
1427
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1428
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div>
980
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00297">297</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
981
+ <div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;{</div>
982
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">IntervalESBase::joinWith</a>(other);</div>
983
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;}</div>
1429
984
  </div><!-- fragment -->
1430
985
  </div>
1431
986
  </div>
1432
- <a id="ae28249f952e1aa620b23e946a1f209ab"></a>
1433
- <h2 class="memtitle"><span class="permalink"><a href="#ae28249f952e1aa620b23e946a1f209ab">&#9670;&nbsp;</a></span>load()</h2>
987
+ <a id="a960ec3359dfcb5e89fb66120c868ac5e"></a>
988
+ <h2 class="memtitle"><span class="permalink"><a href="#a960ec3359dfcb5e89fb66120c868ac5e">&#9670;&nbsp;</a></span>load()</h2>
1434
989
 
1435
990
  <div class="memitem">
1436
991
  <div class="memproto">
@@ -1448,27 +1003,29 @@ Additional Inherited Members</h2></td></tr>
1448
1003
  </table>
1449
1004
  </td>
1450
1005
  <td class="mlabels-right">
1451
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1006
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1452
1007
  </tr>
1453
1008
  </table>
1454
1009
  </div><div class="memdoc">
1455
1010
 
1456
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00309">309</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1457
- <div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
1458
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
1459
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
1460
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(objId);</div>
1461
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
1462
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1463
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">else</span></div>
1464
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
1465
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(objId);</div>
1466
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
1467
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
1468
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">else</span></div>
1469
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>[objId];</div>
1470
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
1471
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div>
1011
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a93c2088eacb3859d5e54899d3fa6b45f">SVF::IntervalESBase</a>.</p>
1012
+
1013
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00547">547</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1014
+ <div class="fragment"><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; {</div>
1015
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
1016
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
1017
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(objId);</div>
1018
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1019
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1020
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">else</span></div>
1021
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div>
1022
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(objId);</div>
1023
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1024
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
1025
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">else</span></div>
1026
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[objId];</div>
1027
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div>
1028
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div>
1472
1029
  </div><!-- fragment -->
1473
1030
  </div>
1474
1031
  </div>
@@ -1496,29 +1053,29 @@ Additional Inherited Members</h2></td></tr>
1496
1053
  </table>
1497
1054
  </div><div class="memdoc">
1498
1055
 
1499
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a9e0fd700bea1ac741d96b4f52fd4756f">SVF::ExeState</a>.</p>
1500
-
1501
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00326">326</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1502
- <div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; {</div>
1503
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
1504
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
1505
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
1506
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1507
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1508
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">else</span></div>
1509
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
1510
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
1511
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1512
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
1513
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">else</span></div>
1514
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[objId];</div>
1515
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
1516
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
1056
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#a1a012a83e3c2808e24ba8d5da4fbd85b">SVF::IntervalESBase</a>.</p>
1057
+
1058
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00564">564</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1059
+ <div class="fragment"><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; {</div>
1060
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
1061
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
1062
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
1063
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1064
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1065
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">else</span></div>
1066
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div>
1067
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
1068
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">if</span>(globIt != <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1069
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
1070
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">else</span></div>
1071
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[objId];</div>
1072
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div>
1073
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; }</div>
1517
1074
  </div><!-- fragment -->
1518
1075
  </div>
1519
1076
  </div>
1520
1077
  <a id="a1e5d399b2111d9b8ed17f790cab12d5d"></a>
1521
- <h2 class="memtitle"><span class="permalink"><a href="#a1e5d399b2111d9b8ed17f790cab12d5d">&#9670;&nbsp;</a></span>meetWith() <span class="overload">[1/2]</span></h2>
1078
+ <h2 class="memtitle"><span class="permalink"><a href="#a1e5d399b2111d9b8ed17f790cab12d5d">&#9670;&nbsp;</a></span>meetWith()</h2>
1522
1079
 
1523
1080
  <div class="memitem">
1524
1081
  <div class="memproto">
@@ -1535,49 +1092,11 @@ Additional Inherited Members</h2></td></tr>
1535
1092
 
1536
1093
  <p>domain meet with other, important! other widen this. </p>
1537
1094
 
1538
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00165">165</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1539
- <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div>
1540
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a80bcce9b4303d651b27332c2fc0d3bdc">ExeState::meetWith</a>(other);</div>
1541
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
1542
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
1543
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1544
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(key);</div>
1545
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end())</div>
1546
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
1547
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; oit-&gt;second.meet_with(it-&gt;second);</div>
1548
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
1549
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
1550
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
1551
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
1552
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1553
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">auto</span> oit = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(key);</div>
1554
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (oit != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
1555
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
1556
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; oit-&gt;second.meet_with(it-&gt;second);</div>
1557
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
1558
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
1559
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;}</div>
1095
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00309">309</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1096
+ <div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;{</div>
1097
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">IntervalESBase::meetWith</a>(other);</div>
1098
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div>
1560
1099
  </div><!-- fragment -->
1561
- </div>
1562
- </div>
1563
- <a id="a3cadadfd8c2ce6251855f1aa5f2ac8ce"></a>
1564
- <h2 class="memtitle"><span class="permalink"><a href="#a3cadadfd8c2ce6251855f1aa5f2ac8ce">&#9670;&nbsp;</a></span>meetWith() <span class="overload">[2/2]</span></h2>
1565
-
1566
- <div class="memitem">
1567
- <div class="memproto">
1568
- <table class="memname">
1569
- <tr>
1570
- <td class="memname">void SVF::IntervalExeState::meetWith </td>
1571
- <td>(</td>
1572
- <td class="paramtype"><a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> *&#160;</td>
1573
- <td class="paramname"><em>other</em></td><td>)</td>
1574
- <td></td>
1575
- </tr>
1576
- </table>
1577
- </div><div class="memdoc">
1578
-
1579
- <p>domain meet with other varToValMap </p>
1580
-
1581
1100
  </div>
1582
1101
  </div>
1583
1102
  <a id="a1e8f41b502167283ccb87bd128f232bc"></a>
@@ -1598,24 +1117,24 @@ Additional Inherited Members</h2></td></tr>
1598
1117
 
1599
1118
  <p>domain narrow with other, and return the narrowed domain </p>
1600
1119
 
1601
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00077">77</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1602
- <div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
1603
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> es = *<span class="keyword">this</span>;</div>
1604
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
1605
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
1606
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1607
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end())</div>
1608
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; it-&gt;second.narrow_with(other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.at(key));</div>
1609
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
1610
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
1611
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
1612
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1613
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
1614
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; it-&gt;second.narrow_with(other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.at(key));</div>
1615
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div>
1616
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> es;</div>
1617
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
1618
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;}</div>
1120
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00271">271</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1121
+ <div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;{</div>
1122
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> es = *<span class="keyword">this</span>;</div>
1123
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
1124
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div>
1125
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1126
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
1127
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; it-&gt;second.narrow_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(key));</div>
1128
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div>
1129
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
1130
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div>
1131
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1132
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1133
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; it-&gt;second.narrow_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.at(key));</div>
1134
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
1135
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> es;</div>
1136
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; </div>
1137
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;}</div>
1619
1138
  </div><!-- fragment -->
1620
1139
  </div>
1621
1140
  </div>
@@ -1637,23 +1156,10 @@ Additional Inherited Members</h2></td></tr>
1637
1156
 
1638
1157
  <p>domain narrow with other, important! other widen this. </p>
1639
1158
 
1640
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00146">146</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1641
- <div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div>
1642
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
1643
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div>
1644
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1645
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">auto</span> oit = other.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().find(key);</div>
1646
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (oit != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().end())</div>
1647
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; it-&gt;second.narrow_with(oit-&gt;second);</div>
1648
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
1649
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
1650
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div>
1651
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1652
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">auto</span> oit = other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(key);</div>
1653
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span> (oit != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
1654
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; it-&gt;second.narrow_with(oit-&gt;second);</div>
1655
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
1656
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div>
1159
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00303">303</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1160
+ <div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div>
1161
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">IntervalESBase::narrowWith</a>(other);</div>
1162
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div>
1657
1163
  </div><!-- fragment -->
1658
1164
  </div>
1659
1165
  </div>
@@ -1708,10 +1214,10 @@ Additional Inherited Members</h2></td></tr>
1708
1214
  </table>
1709
1215
  </div><div class="memdoc">
1710
1216
 
1711
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00435">435</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1712
- <div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div>
1713
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
1714
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div>
1217
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00621">621</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1218
+ <div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; {</div>
1219
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
1220
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; }</div>
1715
1221
  </div><!-- fragment -->
1716
1222
  </div>
1717
1223
  </div>
@@ -1739,10 +1245,10 @@ Additional Inherited Members</h2></td></tr>
1739
1245
  </table>
1740
1246
  </div><div class="memdoc">
1741
1247
 
1742
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00440">440</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1743
- <div class="fragment"><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div>
1744
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt;= rhs);</div>
1745
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div>
1248
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00626">626</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1249
+ <div class="fragment"><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; {</div>
1250
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt;= rhs);</div>
1251
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; }</div>
1746
1252
  </div><!-- fragment -->
1747
1253
  </div>
1748
1254
  </div>
@@ -1770,16 +1276,11 @@ Additional Inherited Members</h2></td></tr>
1770
1276
  </table>
1771
1277
  </div><div class="memdoc">
1772
1278
 
1773
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00085">85</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1774
- <div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
1775
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (rhs != *<span class="keyword">this</span>)</div>
1776
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
1777
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a> = rhs._varToItvVal;</div>
1778
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a> = rhs._locToItvVal;</div>
1779
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">ExeState::operator=</a>(rhs);</div>
1780
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
1781
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
1782
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
1279
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00430">430</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1280
+ <div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
1281
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580">IntervalESBase::operator=</a>(rhs);</div>
1282
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
1283
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
1783
1284
  </div><!-- fragment -->
1784
1285
  </div>
1785
1286
  </div>
@@ -1809,16 +1310,11 @@ Additional Inherited Members</h2></td></tr>
1809
1310
 
1810
1311
  <p>operator= move constructor </p>
1811
1312
 
1812
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00105">105</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1813
- <div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
1814
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (&amp;rhs != <span class="keyword">this</span>)</div>
1815
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
1816
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToItvVal);</div>
1817
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._locToItvVal);</div>
1818
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">ExeState::operator=</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs));</div>
1819
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
1820
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
1821
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
1313
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00443">443</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1314
+ <div class="fragment"><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
1315
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580">IntervalESBase::operator=</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs));</div>
1316
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
1317
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div>
1822
1318
  </div><!-- fragment -->
1823
1319
  </div>
1824
1320
  </div>
@@ -1865,11 +1361,11 @@ Additional Inherited Members</h2></td></tr>
1865
1361
  </table>
1866
1362
  </div><div class="memdoc">
1867
1363
 
1868
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00429">429</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1869
- <div class="fragment"><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; {</div>
1870
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">ExeState::operator==</a>(rhs) &amp;&amp; <a class="code" href="classSVF_1_1IntervalExeState.html#ac3a30689d2918b7db8bb6b640322f457">eqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>, rhs.getVarToVal()) &amp;&amp;</div>
1871
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac3a30689d2918b7db8bb6b640322f457">eqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>, rhs.getLocToVal());</div>
1872
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
1364
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00615">615</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1365
+ <div class="fragment"><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; {</div>
1366
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">ExeState::operator==</a>(rhs) &amp;&amp; <a class="code" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>, rhs._varToItvVal) &amp;&amp;</div>
1367
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>, rhs._locToItvVal);</div>
1368
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; }</div>
1873
1369
  </div><!-- fragment -->
1874
1370
  </div>
1875
1371
  </div>
@@ -1897,15 +1393,15 @@ Additional Inherited Members</h2></td></tr>
1897
1393
  </table>
1898
1394
  </div><div class="memdoc">
1899
1395
 
1900
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00446">446</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1901
- <div class="fragment"><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div>
1902
- <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a695fcc1ffc4a0fab83cc65ee755eebcb">geqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>, rhs.getVarToVal()) &amp;&amp; <a class="code" href="classSVF_1_1IntervalExeState.html#a695fcc1ffc4a0fab83cc65ee755eebcb">geqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>, rhs.getLocToVal());</div>
1903
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
1396
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00632">632</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1397
+ <div class="fragment"><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; {</div>
1398
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>, rhs.getVarToVal()) &amp;&amp; <a class="code" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>, rhs._locToItvVal);</div>
1399
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; }</div>
1904
1400
  </div><!-- fragment -->
1905
1401
  </div>
1906
1402
  </div>
1907
- <a id="a7420a7637b62d451babadb852c9c2ac2"></a>
1908
- <h2 class="memtitle"><span class="permalink"><a href="#a7420a7637b62d451babadb852c9c2ac2">&#9670;&nbsp;</a></span>operator[]()</h2>
1403
+ <a id="a2f39e01a347d10b2992a46e5cc52ab77"></a>
1404
+ <h2 class="memtitle"><span class="permalink"><a href="#a2f39e01a347d10b2992a46e5cc52ab77">&#9670;&nbsp;</a></span>operator[]()</h2>
1909
1405
 
1910
1406
  <div class="memitem">
1911
1407
  <div class="memproto">
@@ -1923,330 +1419,25 @@ Additional Inherited Members</h2></td></tr>
1923
1419
  </table>
1924
1420
  </td>
1925
1421
  <td class="mlabels-right">
1926
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1927
- </tr>
1928
- </table>
1929
- </div><div class="memdoc">
1930
-
1931
- <p>get interval value of variable </p>
1932
-
1933
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00167">167</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1934
- <div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
1935
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">auto</span> localIt = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(varId);</div>
1936
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span>(localIt != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end())</div>
1937
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> localIt-&gt;second;</div>
1938
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">else</span></div>
1939
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
1940
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[varId];</div>
1941
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
1942
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
1943
- </div><!-- fragment -->
1944
- </div>
1945
- </div>
1946
- <a id="aa6adb9becbc2541198708823e3e35c9d"></a>
1947
- <h2 class="memtitle"><span class="permalink"><a href="#aa6adb9becbc2541198708823e3e35c9d">&#9670;&nbsp;</a></span>printExprValues()</h2>
1948
-
1949
- <div class="memitem">
1950
- <div class="memproto">
1951
- <table class="mlabels">
1952
- <tr>
1953
- <td class="mlabels-left">
1954
- <table class="memname">
1955
- <tr>
1956
- <td class="memname">void IntervalExeState::printExprValues </td>
1957
- <td>(</td>
1958
- <td class="paramtype">std::ostream &amp;&#160;</td>
1959
- <td class="paramname"><em>oss</em></td><td>)</td>
1960
- <td> const</td>
1961
- </tr>
1962
- </table>
1963
- </td>
1964
- <td class="mlabels-right">
1965
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1966
- </tr>
1967
- </table>
1968
- </div><div class="memdoc">
1969
-
1970
- <p>Print values of all expressions. </p>
1971
-
1972
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#a06245a3061b7a52488d593b9faeddbe0">SVF::ExeState</a>.</p>
1973
-
1974
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00189">189</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1975
- <div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
1976
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;-----------Var and Value-----------\n&quot;</span>;</div>
1977
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>, oss);</div>
1978
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>, oss);</div>
1979
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a>(<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>, oss);</div>
1980
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a>(<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>, oss);</div>
1981
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;-----------------------------------------\n&quot;</span>;</div>
1982
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;}</div>
1983
- </div><!-- fragment -->
1984
- </div>
1985
- </div>
1986
- <a id="a4d22ccce6915c9fe8238e20433b9d5b8"></a>
1987
- <h2 class="memtitle"><span class="permalink"><a href="#a4d22ccce6915c9fe8238e20433b9d5b8">&#9670;&nbsp;</a></span>printTable() <span class="overload">[1/2]</span></h2>
1988
-
1989
- <div class="memitem">
1990
- <div class="memproto">
1991
- <table class="mlabels">
1992
- <tr>
1993
- <td class="mlabels-left">
1994
- <table class="memname">
1995
- <tr>
1996
- <td class="memname">void IntervalExeState::printTable </td>
1997
- <td>(</td>
1998
- <td class="paramtype">const <a class="el" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;&#160;</td>
1999
- <td class="paramname"><em>table</em>, </td>
2000
- </tr>
2001
- <tr>
2002
- <td class="paramkey"></td>
2003
- <td></td>
2004
- <td class="paramtype">std::ostream &amp;&#160;</td>
2005
- <td class="paramname"><em>oss</em>&#160;</td>
2006
- </tr>
2007
- <tr>
2008
- <td></td>
2009
- <td>)</td>
2010
- <td></td><td> const</td>
2011
- </tr>
2012
- </table>
2013
- </td>
2014
- <td class="mlabels-right">
2015
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
2016
- </tr>
2017
- </table>
2018
- </div><div class="memdoc">
2019
-
2020
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00222">222</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
2021
- <div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;{</div>
2022
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; oss.flags(std::ios::left);</div>
2023
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; std::set&lt;NodeID&gt; ordered;</div>
2024
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: table)</div>
2025
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
2026
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; ordered.insert(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
2027
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div>
2028
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: ordered)</div>
2029
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
2030
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; std::to_string(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
2031
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">Addrs</a> sim = table.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
2032
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;[ &quot;</span>;</div>
2033
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = sim.begin(); it != sim.end(); ++it)</div>
2034
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div>
2035
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; oss &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; std::to_string(*it&amp;(0x00ffffff)) &lt;&lt; <span class="stringliteral">&quot;) ,&quot;</span>;</div>
2036
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
2037
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div>
2038
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
2039
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div>
2040
- </div><!-- fragment -->
2041
- </div>
2042
- </div>
2043
- <a id="abf57a44b95108e255242f630ba33f37b"></a>
2044
- <h2 class="memtitle"><span class="permalink"><a href="#abf57a44b95108e255242f630ba33f37b">&#9670;&nbsp;</a></span>printTable() <span class="overload">[2/2]</span></h2>
2045
-
2046
- <div class="memitem">
2047
- <div class="memproto">
2048
- <table class="mlabels">
2049
- <tr>
2050
- <td class="mlabels-left">
2051
- <table class="memname">
2052
- <tr>
2053
- <td class="memname">void IntervalExeState::printTable </td>
2054
- <td>(</td>
2055
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;&#160;</td>
2056
- <td class="paramname"><em>table</em>, </td>
2057
- </tr>
2058
- <tr>
2059
- <td class="paramkey"></td>
2060
- <td></td>
2061
- <td class="paramtype">std::ostream &amp;&#160;</td>
2062
- <td class="paramname"><em>oss</em>&#160;</td>
2063
- </tr>
2064
- <tr>
2065
- <td></td>
2066
- <td>)</td>
2067
- <td></td><td> const</td>
2068
- </tr>
2069
- </table>
2070
- </td>
2071
- <td class="mlabels-right">
2072
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
2073
- </tr>
2074
- </table>
2075
- </div><div class="memdoc">
2076
-
2077
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00199">199</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
2078
- <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;{</div>
2079
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; oss.flags(std::ios::left);</div>
2080
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; std::set&lt;NodeID&gt; ordered;</div>
2081
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: table)</div>
2082
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
2083
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; ordered.insert(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
2084
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div>
2085
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: ordered)</div>
2086
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
2087
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; std::to_string(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
2088
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> sim = table.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
2089
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8">Interval2NumValue</a>(sim)))</div>
2090
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
2091
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8">Interval2NumValue</a>(sim) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
2092
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
2093
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">else</span></div>
2094
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
2095
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; oss &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::dec &lt;&lt; sim &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
2096
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div>
2097
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
2098
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;}</div>
2099
- </div><!-- fragment -->
2100
- </div>
2101
- </div>
2102
- <a id="a182ec2709e8c92b8bd29ba809bd3d1f7"></a>
2103
- <h2 class="memtitle"><span class="permalink"><a href="#a182ec2709e8c92b8bd29ba809bd3d1f7">&#9670;&nbsp;</a></span>sliceState()</h2>
2104
-
2105
- <div class="memitem">
2106
- <div class="memproto">
2107
- <table class="mlabels">
2108
- <tr>
2109
- <td class="mlabels-left">
2110
- <table class="memname">
2111
- <tr>
2112
- <td class="memname"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> SVF::IntervalExeState::sliceState </td>
2113
- <td>(</td>
2114
- <td class="paramtype"><a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> &gt; &amp;&#160;</td>
2115
- <td class="paramname"><em>sl</em></td><td>)</td>
2116
- <td></td>
2117
- </tr>
2118
- </table>
2119
- </td>
2120
- <td class="mlabels-right">
2121
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2122
- </tr>
2123
- </table>
2124
- </div><div class="memdoc">
2125
-
2126
- <p>Copy some values and return a new <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>. </p>
2127
-
2128
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00139">139</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2129
- <div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
2130
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">IntervalExeState</a> inv;</div>
2131
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> <span class="keywordtype">id</span>: sl)</div>
2132
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
2133
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; inv._varToItvVal[id] = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[id];</div>
2134
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
2135
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> inv;</div>
2136
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
2137
- </div><!-- fragment -->
2138
- </div>
2139
- </div>
2140
- <a id="a65be64fc3b46b3d8e0c22d8a478df5cb"></a>
2141
- <h2 class="memtitle"><span class="permalink"><a href="#a65be64fc3b46b3d8e0c22d8a478df5cb">&#9670;&nbsp;</a></span>store()</h2>
2142
-
2143
- <div class="memitem">
2144
- <div class="memproto">
2145
- <table class="mlabels">
2146
- <tr>
2147
- <td class="mlabels-left">
2148
- <table class="memname">
2149
- <tr>
2150
- <td class="memname">void SVF::IntervalExeState::store </td>
2151
- <td>(</td>
2152
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
2153
- <td class="paramname"><em>addr</em>, </td>
2154
- </tr>
2155
- <tr>
2156
- <td class="paramkey"></td>
2157
- <td></td>
2158
- <td class="paramtype">const <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&#160;</td>
2159
- <td class="paramname"><em>val</em>&#160;</td>
2160
- </tr>
2161
- <tr>
2162
- <td></td>
2163
- <td>)</td>
2164
- <td></td><td></td>
2165
- </tr>
2166
- </table>
2167
- </td>
2168
- <td class="mlabels-right">
2169
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2170
- </tr>
2171
- </table>
2172
- </div><div class="memdoc">
2173
-
2174
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00301">301</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2175
- <div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
2176
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
2177
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ExeState.html#a8edd5f30ab971ce893ffdb39d8b6a265">isNullPtr</a>(addr)) <span class="keywordflow">return</span>;</div>
2178
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
2179
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>[objId] = val;</div>
2180
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div>
2181
- </div><!-- fragment -->
2182
- </div>
2183
- </div>
2184
- <a id="ad1b59eda77f703a29e9070c3ef70e430"></a>
2185
- <h2 class="memtitle"><span class="permalink"><a href="#ad1b59eda77f703a29e9070c3ef70e430">&#9670;&nbsp;</a></span>top()</h2>
2186
-
2187
- <div class="memitem">
2188
- <div class="memproto">
2189
- <table class="mlabels">
2190
- <tr>
2191
- <td class="mlabels-left">
2192
- <table class="memname">
2193
- <tr>
2194
- <td class="memname"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> SVF::IntervalExeState::top </td>
2195
- <td>(</td>
2196
- <td class="paramname"></td><td>)</td>
2197
- <td> const</td>
2198
- </tr>
2199
- </table>
2200
- </td>
2201
- <td class="mlabels-right">
2202
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
2203
- </tr>
2204
- </table>
2205
- </div><div class="memdoc">
2206
-
2207
- <p>Set all value top. </p>
2208
-
2209
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00128">128</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2210
- <div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div>
2211
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">IntervalExeState</a> inv = *<span class="keyword">this</span>;</div>
2212
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv._varToItvVal)</div>
2213
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
2214
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.set_to_top();</div>
2215
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
2216
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> inv;</div>
2217
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
2218
- </div><!-- fragment -->
2219
- </div>
2220
- </div>
2221
- <a id="a3a8f8b09df0befa318cbcd43d191d37a"></a>
2222
- <h2 class="memtitle"><span class="permalink"><a href="#a3a8f8b09df0befa318cbcd43d191d37a">&#9670;&nbsp;</a></span>toString()</h2>
2223
-
2224
- <div class="memitem">
2225
- <div class="memproto">
2226
- <table class="mlabels">
2227
- <tr>
2228
- <td class="mlabels-left">
2229
- <table class="memname">
2230
- <tr>
2231
- <td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> SVF::IntervalExeState::toString </td>
2232
- <td>(</td>
2233
- <td class="paramname"></td><td>)</td>
2234
- <td> const</td>
2235
- </tr>
2236
- </table>
2237
- </td>
2238
- <td class="mlabels-right">
2239
1422
  <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2240
1423
  </tr>
2241
1424
  </table>
2242
1425
  </div><div class="memdoc">
2243
1426
 
2244
- <p>Reimplemented from <a class="el" href="classSVF_1_1ExeState.html#af58dd98bbad68a7c72e16831be26c677">SVF::ExeState</a>.</p>
1427
+ <p>get interval value of variable </p>
2245
1428
 
2246
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00376">376</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2247
- <div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
2248
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div>
2249
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
1429
+ <p>Reimplemented from <a class="el" href="classSVF_1_1IntervalESBase.html#af00c9267eb35bf16c88e321ca3009151">SVF::IntervalESBase</a>.</p>
1430
+
1431
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00462">462</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1432
+ <div class="fragment"><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; {</div>
1433
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">auto</span> localIt = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(varId);</div>
1434
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">if</span>(localIt != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
1435
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> localIt-&gt;second;</div>
1436
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">else</span></div>
1437
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
1438
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[varId];</div>
1439
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; }</div>
1440
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div>
2250
1441
  </div><!-- fragment -->
2251
1442
  </div>
2252
1443
  </div>
@@ -2268,23 +1459,23 @@ Additional Inherited Members</h2></td></tr>
2268
1459
 
2269
1460
  <p>domain widen with other, and return the widened domain </p>
2270
1461
 
2271
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00059">59</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
2272
- <div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
2273
- <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> es = *<span class="keyword">this</span>;</div>
2274
- <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
2275
- <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
2276
- <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2277
- <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end())</div>
2278
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.at(key));</div>
2279
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
2280
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
2281
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
2282
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2283
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
2284
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.at(key));</div>
2285
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
2286
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> es;</div>
2287
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
1462
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00253">253</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1463
+ <div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;{</div>
1464
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> es = *<span class="keyword">this</span>;</div>
1465
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
1466
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
1467
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1468
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end())</div>
1469
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(key));</div>
1470
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
1471
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
1472
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div>
1473
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
1474
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
1475
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.at(key));</div>
1476
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div>
1477
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> es;</div>
1478
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
2288
1479
  </div><!-- fragment -->
2289
1480
  </div>
2290
1481
  </div>
@@ -2306,21 +1497,10 @@ Additional Inherited Members</h2></td></tr>
2306
1497
 
2307
1498
  <p>domain widen with other, important! other widen this. </p>
2308
1499
 
2309
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00097">97</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
2310
- <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div>
2311
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.end(); ++it)</div>
2312
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
2313
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2314
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().find(key) != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().end())</div>
2315
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.at(key));</div>
2316
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
2317
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end(); ++it)</div>
2318
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
2319
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">auto</span> key = it-&gt;first;</div>
2320
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.find(key) != other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.end())</div>
2321
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; it-&gt;second.widen_with(other.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.at(key));</div>
2322
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
2323
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
1500
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8cpp_source.html#l00291">291</a> of file <a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a>.</p>
1501
+ <div class="fragment"><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;{</div>
1502
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">IntervalESBase::widenWith</a>(other);</div>
1503
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;}</div>
2324
1504
  </div><!-- fragment -->
2325
1505
  </div>
2326
1506
  </div>
@@ -2345,7 +1525,7 @@ Additional Inherited Members</h2></td></tr>
2345
1525
  </table>
2346
1526
  </div><div class="memdoc">
2347
1527
 
2348
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00058">58</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1528
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00410">410</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2349
1529
 
2350
1530
  </div>
2351
1531
  </div>
@@ -2369,63 +1549,11 @@ Additional Inherited Members</h2></td></tr>
2369
1549
  </table>
2370
1550
  </div><div class="memdoc">
2371
1551
 
2372
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00057">57</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1552
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00409">409</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2373
1553
 
2374
1554
  </div>
2375
1555
  </div>
2376
1556
  <h2 class="groupheader">Member Data Documentation</h2>
2377
- <a id="a39dead4fe213e3d02b1613debbc86e71"></a>
2378
- <h2 class="memtitle"><span class="permalink"><a href="#a39dead4fe213e3d02b1613debbc86e71">&#9670;&nbsp;</a></span>_locToItvVal</h2>
2379
-
2380
- <div class="memitem">
2381
- <div class="memproto">
2382
- <table class="mlabels">
2383
- <tr>
2384
- <td class="mlabels-left">
2385
- <table class="memname">
2386
- <tr>
2387
- <td class="memname"><a class="el" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> SVF::IntervalExeState::_locToItvVal</td>
2388
- </tr>
2389
- </table>
2390
- </td>
2391
- <td class="mlabels-right">
2392
- <span class="mlabels"><span class="mlabel">protected</span></span> </td>
2393
- </tr>
2394
- </table>
2395
- </div><div class="memdoc">
2396
-
2397
- <p>Map a memory address to its stored interval value. </p>
2398
-
2399
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00152">152</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2400
-
2401
- </div>
2402
- </div>
2403
- <a id="ac72e3ae77e06e0dfc7c2edd2bf765d77"></a>
2404
- <h2 class="memtitle"><span class="permalink"><a href="#ac72e3ae77e06e0dfc7c2edd2bf765d77">&#9670;&nbsp;</a></span>_varToItvVal</h2>
2405
-
2406
- <div class="memitem">
2407
- <div class="memproto">
2408
- <table class="mlabels">
2409
- <tr>
2410
- <td class="mlabels-left">
2411
- <table class="memname">
2412
- <tr>
2413
- <td class="memname"><a class="el" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> SVF::IntervalExeState::_varToItvVal</td>
2414
- </tr>
2415
- </table>
2416
- </td>
2417
- <td class="mlabels-right">
2418
- <span class="mlabels"><span class="mlabel">protected</span></span> </td>
2419
- </tr>
2420
- </table>
2421
- </div><div class="memdoc">
2422
-
2423
- <p>Map a variable (symbol) to its interval value. </p>
2424
-
2425
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00151">151</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2426
-
2427
- </div>
2428
- </div>
2429
1557
  <a id="a92b1b163493a74a31d30a261128edd05"></a>
2430
1558
  <h2 class="memtitle"><span class="permalink"><a href="#a92b1b163493a74a31d30a261128edd05">&#9670;&nbsp;</a></span>globalES</h2>
2431
1559
 
@@ -2446,7 +1574,7 @@ Additional Inherited Members</h2></td></tr>
2446
1574
  </table>
2447
1575
  </div><div class="memdoc">
2448
1576
 
2449
- <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00065">65</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
1577
+ <p class="definition">Definition at line <a class="el" href="IntervalExeState_8h_source.html#l00413">413</a> of file <a class="el" href="IntervalExeState_8h_source.html">IntervalExeState.h</a>.</p>
2450
1578
 
2451
1579
  </div>
2452
1580
  </div>
@@ -2455,39 +1583,27 @@ Additional Inherited Members</h2></td></tr>
2455
1583
  <li>/home/runner/work/SVF/SVF/svf/lib/AbstractExecution/<a class="el" href="IntervalExeState_8cpp_source.html">IntervalExeState.cpp</a></li>
2456
1584
  </ul>
2457
1585
  </div><!-- contents -->
1586
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a926025a01239d163e59582824ceb0580"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580">SVF::IntervalESBase::operator=</a></div><div class="ttdeci">IntervalESBase &amp; operator=(const IntervalESBase &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00081">IntervalExeState.h:81</a></div></div>
2458
1587
  <div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
2459
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a78038dd4884a501cfc94f073021eac96"><div class="ttname"><a href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">SVF::ExeState::Addrs</a></div><div class="ttdeci">AddressValue Addrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00052">ExeState.h:52</a></div></div>
2460
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a60464bebe5f257bbe1356eee149524c0"><div class="ttname"><a href="classSVF_1_1ExeState.html#a60464bebe5f257bbe1356eee149524c0">SVF::ExeState::joinWith</a></div><div class="ttdeci">bool joinWith(const ExeState &amp;other)</div><div class="ttdoc">Make all value join with the other.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00040">ExeState.cpp:40</a></div></div>
2461
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac3a30689d2918b7db8bb6b640322f457"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac3a30689d2918b7db8bb6b640322f457">SVF::IntervalExeState::eqVarToValMap</a></div><div class="ttdeci">static bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00383">IntervalExeState.h:383</a></div></div>
2462
1588
  <div class="ttc" id="aclassSVF_1_1ExeState_html_abfaad70395d9f4416f297887c84f7df4"><div class="ttname"><a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00277">ExeState.h:277</a></div></div>
2463
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a2e63af0f29d04484c09cca217b799986"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2e63af0f29d04484c09cca217b799986">SVF::ExeState::hash</a></div><div class="ttdeci">virtual u32_t hash() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00102">ExeState.cpp:102</a></div></div>
2464
- <div class="ttc" id="aclassSVF_1_1ExeState_html_af1b6335e3ca95d491b0d8dfb95cf3c9b"><div class="ttname"><a href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">SVF::ExeState::ExeState</a></div><div class="ttdeci">ExeState(ExeState_TYPE kind)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00063">ExeState.h:63</a></div></div>
2465
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a80bcce9b4303d651b27332c2fc0d3bdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a80bcce9b4303d651b27332c2fc0d3bdc">SVF::ExeState::meetWith</a></div><div class="ttdeci">bool meetWith(const ExeState &amp;other)</div><div class="ttdoc">Make all value meet with the other.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00076">ExeState.cpp:76</a></div></div>
2466
- <div class="ttc" id="astructSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00067">SVFType.h:67</a></div></div>
2467
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00270">IntervalValue.h:270</a></div></div>
2468
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a39dead4fe213e3d02b1613debbc86e71"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">SVF::IntervalExeState::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">Map a memory address to its stored interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00152">IntervalExeState.h:152</a></div></div>
1589
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2db6b5360cf8e90dbd4174ad0382ec56"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">SVF::IntervalESBase::widenWith</a></div><div class="ttdeci">void widenWith(const IntervalESBase &amp;other)</div><div class="ttdoc">domain widen with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00096">IntervalExeState.cpp:96</a></div></div>
2469
1590
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a0a24ad3ced48b6755b7fc917d0f0fbb9"><div class="ttname"><a href="classSVF_1_1ExeState.html#a0a24ad3ced48b6755b7fc917d0f0fbb9">SVF::ExeState::eqVarToAddrs</a></div><div class="ttdeci">static bool eqVarToAddrs(const VarToAddrs &amp;lhs, const VarToAddrs &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00190">ExeState.h:190</a></div></div>
2470
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac72e3ae77e06e0dfc7c2edd2bf765d77"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">SVF::IntervalExeState::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">Map a variable (symbol) to its interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00151">IntervalExeState.h:151</a></div></div>
2471
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ae0d4b22023ce63327f55484cffb051cf"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">SVF::IntervalExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdoc">get loc2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00213">IntervalExeState.h:213</a></div></div>
2472
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00055">IntervalExeState.h:55</a></div></div>
2473
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b1b163493a74a31d30a261128edd05"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">SVF::IntervalExeState::globalES</a></div><div class="ttdeci">static IntervalExeState globalES</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00065">IntervalExeState.h:65</a></div></div>
2474
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
1591
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_acba74693030fca248521412c552e3dcc"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">SVF::IntervalESBase::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">Map a memory address to its stored interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00148">IntervalExeState.h:148</a></div></div>
1592
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a92a8531c7f12cc6f9117596aa5e534b6"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">SVF::IntervalESBase::meetWith</a></div><div class="ttdeci">void meetWith(const IntervalESBase &amp;other)</div><div class="ttdoc">domain meet with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00164">IntervalExeState.cpp:164</a></div></div>
1593
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2ecbba4a55776562262b6ddc9f0d9101"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2ecbba4a55776562262b6ddc9f0d9101">SVF::IntervalESBase::hash</a></div><div class="ttdeci">u32_t hash() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00041">IntervalExeState.cpp:41</a></div></div>
1594
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ad2288306aed7301ccd30e55410c7b428"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">SVF::IntervalESBase::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">Map a variable (symbol) to its interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00147">IntervalExeState.h:147</a></div></div>
1595
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00407">IntervalExeState.h:407</a></div></div>
1596
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b1b163493a74a31d30a261128edd05"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">SVF::IntervalExeState::globalES</a></div><div class="ttdeci">static IntervalExeState globalES</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00413">IntervalExeState.h:413</a></div></div>
2475
1597
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a0e4c8a41aa861ff2862d8b620c902f21"><div class="ttname"><a href="classSVF_1_1ExeState.html#a0e4c8a41aa861ff2862d8b620c902f21">SVF::ExeState::operator==</a></div><div class="ttdeci">virtual bool operator==(const ExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00035">ExeState.cpp:35</a></div></div>
2476
1598
  <div class="ttc" id="aclassSVF_1_1ExeState_html_ad317f2ae2e599a131a6fd9f415f5d712"><div class="ttname"><a href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">SVF::ExeState::_varToAddrs</a></div><div class="ttdeci">VarToAddrs _varToAddrs</div><div class="ttdoc">Map a variable (symbol) to its memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00095">ExeState.h:95</a></div></div>
2477
- <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
2478
1599
  <div class="ttc" id="aclassSVF_1_1ExeState_html_ab72f3bc855feeda75e11768ab03ad84e"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">SVF::ExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00283">ExeState.h:283</a></div></div>
2479
1600
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
2480
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a4e3e495118c907a29d7705904273f6d3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">SVF::IntervalExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00207">IntervalExeState.h:207</a></div></div>
2481
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a12fe65f05dfe7a01e771e0b9990faba8"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8">SVF::IntervalExeState::Interval2NumValue</a></div><div class="ttdeci">s32_t Interval2NumValue(const IntervalValue &amp;e) const</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00265">IntervalExeState.h:265</a></div></div>
2482
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_adce87f96e58b25bd6ff046e6608f4d2c"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState()</div><div class="ttdoc">default constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00069">IntervalExeState.h:69</a></div></div>
2483
- <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
1601
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a52b590dc437bc01ce116255e699c3c55"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">SVF::IntervalESBase::narrowWith</a></div><div class="ttdeci">void narrowWith(const IntervalESBase &amp;other)</div><div class="ttdoc">domain narrow with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00145">IntervalExeState.cpp:145</a></div></div>
1602
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a7f8254581235c03a3fad17e51d00db0c"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">SVF::IntervalESBase::geqVarToValMap</a></div><div class="ttdeci">static bool geqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00355">IntervalExeState.h:355</a></div></div>
1603
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a5fbb3e0a06cb36f020a6de20ebd04ad1"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">SVF::IntervalESBase::eqVarToValMap</a></div><div class="ttdeci">static bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00324">IntervalExeState.h:324</a></div></div>
2484
1604
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a79866a547dc4805d3fefdfd528d2df2a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">SVF::ExeState::_locToAddrs</a></div><div class="ttdeci">VarToAddrs _locToAddrs</div><div class="ttdoc">Map a memory address to its stored memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00096">ExeState.h:96</a></div></div>
2485
- <div class="ttc" id="aclassSVF_1_1ExeState_html_aebeb2054a8118fd33df9fef31bacda03"><div class="ttname"><a href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">SVF::ExeState::operator=</a></div><div class="ttdeci">ExeState &amp; operator=(const ExeState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00073">ExeState.h:73</a></div></div>
2486
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_abf57a44b95108e255242f630ba33f37b"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">SVF::IntervalExeState::printTable</a></div><div class="ttdeci">void printTable(const VarToValMap &amp;table, std::ostream &amp;oss) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00199">IntervalExeState.cpp:199</a></div></div>
2487
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a8edd5f30ab971ce893ffdb39d8b6a265"><div class="ttname"><a href="classSVF_1_1ExeState.html#a8edd5f30ab971ce893ffdb39d8b6a265">SVF::ExeState::isNullPtr</a></div><div class="ttdeci">bool isNullPtr(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00169">ExeState.h:169</a></div></div>
2488
- <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
2489
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351"><div class="ttname"><a href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">SVF::ExeState::IntervalK</a></div><div class="ttdeci">@ IntervalK</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00057">ExeState.h:57</a></div></div>
2490
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a695fcc1ffc4a0fab83cc65ee755eebcb"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a695fcc1ffc4a0fab83cc65ee755eebcb">SVF::IntervalExeState::geqVarToValMap</a></div><div class="ttdeci">static bool geqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00414">IntervalExeState.h:414</a></div></div>
1605
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2da3f0da084f66f5b82c86e6650fd903"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">SVF::IntervalESBase::IntervalESBase</a></div><div class="ttdeci">IntervalESBase()</div><div class="ttdoc">default constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00065">IntervalExeState.h:65</a></div></div>
1606
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_adc0db607e4c0f117760535df67b91fbd"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">SVF::IntervalESBase::joinWith</a></div><div class="ttdeci">void joinWith(const IntervalESBase &amp;other)</div><div class="ttdoc">domain join with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00113">IntervalExeState.cpp:113</a></div></div>
2491
1607
  <!-- start footer part -->
2492
1608
  <hr class="footer"/><address class="footer"><small>
2493
1609
  Generated by &#160;<a href="http://www.doxygen.org/index.html">