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
@@ -122,486 +122,673 @@ $(function() {
122
122
  <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
123
123
  <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
124
124
  <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
125
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
126
- <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html"> 55</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ExeState.html">ExeState</a></div>
127
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{</div>
128
- <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#af1ac478aba3f3858d5f6f4b15a9f73a6"> 57</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a>;</div>
129
- <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a44841fb4ad23542383ea77bf1ffda65f"> 58</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1RelationSolver.html">RelationSolver</a>;</div>
130
- <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
131
- <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">public</span>:</div>
132
- <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff"> 61</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, IntervalValue&gt;</a> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a>;</div>
125
+ <div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html"> 54</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>: <span class="keyword">public</span> <a class="code" href="classSVF_1_1ExeState.html">ExeState</a></div>
126
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;{</div>
127
+ <div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#af1ac478aba3f3858d5f6f4b15a9f73a6"> 56</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a>;</div>
128
+ <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a44841fb4ad23542383ea77bf1ffda65f"> 57</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1RelationSolver.html">RelationSolver</a>;</div>
129
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">public</span>:</div>
130
+ <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8"> 59</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, IntervalValue&gt;</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a>;</div>
131
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
132
+ <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412"> 61</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a>;</div>
133
133
  <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
134
- <div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946"> 63</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a>;</div>
135
- <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
136
- <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05"> 65</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>;</div>
134
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">public</span>:</div>
135
+ <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903"> 65</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2da3f0da084f66f5b82c86e6650fd903">IntervalESBase</a>() : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html">ExeState</a>::<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>) {}</div>
137
136
  <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
138
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keyword">public</span>:</div>
139
- <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c"> 69</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">IntervalExeState</a>() : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html">ExeState</a>::<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>) {}</div>
137
+ <div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a989bf2c55925d29790c4272aa31c3bb6"> 67</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a989bf2c55925d29790c4272aa31c3bb6">IntervalESBase</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;_varToValMap, <a class="code" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;_locToValMap) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html">ExeState</a>::<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>),</div>
138
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>(_varToValMap),</div>
139
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>(_locToValMap) {}</div>
140
140
  <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
141
- <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0"> 71</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0">IntervalExeState</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;_varToValMap, <a class="code" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> &amp;_locToValMap) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html">ExeState</a>::<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8a39d5fb8ca9906072253f8af46b916351">IntervalK</a>),</div>
142
- <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>
143
- <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>
144
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
145
- <div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654"> 76</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654">IntervalExeState</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(rhs), <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>(rhs.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>()),</div>
146
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a>())</div>
147
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
141
+ <div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4"> 72</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4">IntervalESBase</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(rhs), <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>(rhs.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>()),</div>
142
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>(rhs.<a class="code" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a>())</div>
143
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
144
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
145
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
146
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
147
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a765e98325842f6df15255af9a8036e8c">~IntervalESBase</a>() = <span class="keywordflow">default</span>;</div>
148
148
  <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
149
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
150
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
151
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a9e6006e0f0a4039cf65f9e79be6eea49">~IntervalExeState</a>() = <span class="keywordflow">default</span>;</div>
152
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
153
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
154
- <div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a5ca48cf99bb54008d824d8c475c450f7"> 85</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a5ca48cf99bb54008d824d8c475c450f7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</div>
155
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
156
- <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>
157
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
158
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>;</div>
159
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>;</div>
160
- <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>
161
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
162
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
163
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
164
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
165
- <div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ac1272649c1549d0d942941bd8f4c4b41"> 97</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac1272649c1549d0d942941bd8f4c4b41">IntervalExeState</a>(<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&amp;rhs) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs)),</div>
166
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)),</div>
167
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>))</div>
168
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
169
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
170
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
171
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
172
- <div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7"> 105</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7">operator=</a>(<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&amp;rhs)</div>
173
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
174
- <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>
175
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
176
- <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>
177
- <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>
178
- <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>
179
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
180
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
181
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
182
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
183
- <div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253"> 117</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">bottom</a>()<span class="keyword"> const</span></div>
184
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keyword"> </span>{</div>
185
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> inv = *<span class="keyword">this</span>;</div>
186
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)</div>
187
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
188
- <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>
189
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
190
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> inv;</div>
191
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
192
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
193
- <div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430"> 128</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">top</a>()<span class="keyword"> const</span></div>
194
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword"> </span>{</div>
195
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> inv = *<span class="keyword">this</span>;</div>
196
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)</div>
197
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
198
- <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>
199
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
200
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> inv;</div>
201
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
202
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
203
- <div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a182ec2709e8c92b8bd29ba809bd3d1f7"> 139</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a182ec2709e8c92b8bd29ba809bd3d1f7">sliceState</a>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;sl)</div>
204
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
205
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> inv;</div>
206
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>: sl)</div>
207
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
208
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; inv.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[id] = <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[id];</div>
209
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
210
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> inv;</div>
211
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
212
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
213
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">protected</span>:</div>
214
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
215
- <div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77"> 151</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> <a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>; </div>
216
- <div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71"> 152</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>; </div>
217
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
218
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="keyword">public</span>:</div>
219
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
220
- <div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd"> 157</a></span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> override</span></div>
221
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="keyword"> </span>{</div>
222
- <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>
223
- <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>
224
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
225
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">else</span></div>
226
- <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>
227
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
228
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
229
- <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a7420a7637b62d451babadb852c9c2ac2"> 167</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a7420a7637b62d451babadb852c9c2ac2">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
230
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
231
- <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>
232
- <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>
233
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> localIt-&gt;second;</div>
234
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">else</span></div>
235
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
236
- <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>
237
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
238
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
239
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
240
- <div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45"> 179</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
241
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keyword"> </span>{</div>
242
- <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>
243
- <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>
244
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
245
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
246
- <div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#aba57b0f3c813c47c1b69915f145efbd6"> 186</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#aba57b0f3c813c47c1b69915f145efbd6">inVarToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
247
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="keyword"> </span>{</div>
248
- <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>
249
- <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>
250
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
251
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
252
- <div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4"> 193</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
253
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="keyword"> </span>{</div>
254
- <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>
255
- <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>
256
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
257
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
258
- <div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#af278d2193ba8931cce4cf5398cc33b02"> 200</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#af278d2193ba8931cce4cf5398cc33b02">inLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
259
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="keyword"> </span>{</div>
260
- <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>
261
- <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>
262
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
263
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
264
- <div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3"> 207</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>()<span class="keyword"> const</span></div>
265
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="keyword"> </span>{</div>
266
- <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>
267
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
268
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
269
- <div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf"> 213</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">LocToValMap</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a>()<span class="keyword"> const</span></div>
270
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="keyword"> </span>{</div>
271
- <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>
272
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div>
273
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
274
- <div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6"> 218</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6">inLocalLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
275
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="keyword"> </span>{</div>
276
- <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>
277
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
278
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
279
- <div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb"> 223</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb">inLocalLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
280
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword"> </span>{</div>
281
- <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>
149
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
150
+ <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580"> 81</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#a926025a01239d163e59582824ceb0580">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)</div>
151
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div>
152
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (rhs != *<span class="keyword">this</span>)</div>
153
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
154
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a> = rhs.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>;</div>
155
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a> = rhs.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>;</div>
156
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#aebeb2054a8118fd33df9fef31bacda03">ExeState::operator=</a>(rhs);</div>
157
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
158
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
159
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
160
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
161
+ <div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91"> 93</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91">IntervalESBase</a>(<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;rhs) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs)),</div>
162
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)),</div>
163
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>))</div>
164
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
165
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
166
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
167
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
168
+ <div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54"> 101</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54">operator=</a>(<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;&amp;rhs)</div>
169
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div>
170
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (&amp;rhs != <span class="keyword">this</span>)</div>
171
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
172
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToItvVal);</div>
173
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._locToItvVal);</div>
174
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</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>
175
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
176
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
177
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
178
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
179
+ <div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb"> 113</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a>()<span class="keyword"> const</span></div>
180
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keyword"> </span>{</div>
181
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> inv = *<span class="keyword">this</span>;</div>
182
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)</div>
183
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
184
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.set_to_bottom();</div>
185
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
186
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> inv;</div>
187
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
188
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
189
+ <div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674"> 124</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a>()<span class="keyword"> const</span></div>
190
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keyword"> </span>{</div>
191
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> inv = *<span class="keyword">this</span>;</div>
192
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)</div>
193
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
194
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.set_to_top();</div>
195
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
196
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> inv;</div>
197
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
198
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
199
+ <div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2"> 135</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2">sliceState</a>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;sl)</div>
200
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
201
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> inv;</div>
202
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>: sl)</div>
203
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
204
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; inv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id] = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id];</div>
205
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
206
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">return</span> inv;</div>
207
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
208
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
209
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="keyword">protected</span>:</div>
210
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
211
+ <div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428"> 147</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>; </div>
212
+ <div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc"> 148</a></span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>; </div>
213
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
214
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword">public</span>:</div>
215
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
216
+ <div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a5b199cda24038f6f60fe4fa6b6d6bb76"> 153</a></span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#a5b199cda24038f6f60fe4fa6b6d6bb76">getAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> override</span></div>
217
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="keyword"> </span>{</div>
218
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[id];</div>
219
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
220
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
221
+ <div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#af00c9267eb35bf16c88e321ca3009151"> 159</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#af00c9267eb35bf16c88e321ca3009151">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
222
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
223
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[varId];</div>
224
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
225
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
226
+ <div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a551d07983a89971d4e2422e6be850d4f"> 165</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a551d07983a89971d4e2422e6be850d4f">inVarToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
227
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="keyword"> </span>{</div>
228
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</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>
229
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
230
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
231
+ <div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#aa240089b9af05b9a0406451b94ed41e0"> 171</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#aa240089b9af05b9a0406451b94ed41e0">inVarToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
232
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="keyword"> </span>{</div>
233
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</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>
234
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
235
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
236
+ <div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a6c517028bddfa9f4617950a02f347ce8"> 177</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a6c517028bddfa9f4617950a02f347ce8">inLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
237
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="keyword"> </span>{</div>
238
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</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>
239
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
240
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
241
+ <div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a8926e8fe328e3a3596fee42e06130da7"> 183</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a8926e8fe328e3a3596fee42e06130da7">inLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
242
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keyword"> </span>{</div>
243
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</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>
244
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
245
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
246
+ <div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe"> 189</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>()<span class="keyword"> const</span></div>
247
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword"> </span>{</div>
248
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>;</div>
249
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
250
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
251
+ <div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10"> 195</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a>()<span class="keyword"> const</span></div>
252
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="keyword"> </span>{</div>
253
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>;</div>
254
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
255
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
256
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="keyword">public</span>:</div>
257
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
258
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a9a167f67476d2e080cc6e31d127ee715">widening</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other);</div>
259
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
260
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a3f8da19a79bfdc37c38e659a94371aba">narrowing</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other);</div>
261
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
262
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a2db6b5360cf8e90dbd4174ad0382ec56">widenWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other);</div>
263
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
264
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other);</div>
265
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
266
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a52b590dc437bc01ce116255e699c3c55">narrowWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other);</div>
267
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
268
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">meetWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other);</div>
269
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; </div>
270
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
271
+ <div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41"> 222</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">Interval2NumValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e)<span class="keyword"> const</span></div>
272
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="keyword"> </span>{</div>
273
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">//TODO: return concrete value;</span></div>
274
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) e.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
282
275
  <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
283
276
  <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; </div>
284
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword">public</span>:</div>
285
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
286
- <div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a052d677fb5ee940ed0686f3d67d10d19"> 230</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a052d677fb5ee940ed0686f3d67d10d19">cpyItvToLocal</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
287
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
288
- <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>
289
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// local already have varId</span></div>
290
- <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>
291
- <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>
292
- <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>
293
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div>
294
- <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>
295
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div>
296
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
297
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
298
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#abc8edb74e55f40dbc7bb5182d4ef1199">widening</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
299
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
300
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a1e8f41b502167283ccb87bd128f232bc">narrowing</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
301
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; </div>
302
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#acfbe4dbb85e802a0456b7223a26280d3">widenWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
303
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
304
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">joinWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
305
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; </div>
306
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a3d6ccddf8ecfbd7b6348f8c441cceab9">narrowWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
277
+ <div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05"> 229</a></span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05">createIntervalValue</a>(<span class="keywordtype">double</span> lb, <span class="keywordtype">double</span> ub, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div>
278
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
279
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
280
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[id];</div>
281
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
282
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
283
+ <div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c"> 236</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c">has_bottom</a>()</div>
284
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div>
285
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.end(); ++it)</div>
286
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
287
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
288
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
289
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
290
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
291
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div>
292
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.begin(); it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end(); ++it)</div>
293
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
294
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
295
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
296
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
297
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
298
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
299
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
300
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
301
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
302
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalESBase.html#a2ecbba4a55776562262b6ddc9f0d9101">hash</a>() <span class="keyword">const override</span>;</div>
307
303
  <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; </div>
308
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">meetWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
309
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; </div>
310
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">meetWith</a>(<a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> *other);</div>
311
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; </div>
312
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
313
- <div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8"> 265</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a12fe65f05dfe7a01e771e0b9990faba8">Interval2NumValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e)<span class="keyword"> const</span></div>
314
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="keyword"> </span>{</div>
315
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">//TODO: return concrete value;</span></div>
316
- <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.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
317
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
318
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
319
- <div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a73d2e475625f5b9204cdecb94381c558"> 272</a></span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a73d2e475625f5b9204cdecb94381c558">createIntervalValue</a>(<span class="keywordtype">double</span> lb, <span class="keywordtype">double</span> ub, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div>
320
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
321
- <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] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
322
- <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>
323
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
324
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; </div>
325
- <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a6a8c6bbff583ccd71453af5de884df89"> 279</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a6a8c6bbff583ccd71453af5de884df89">has_bottom</a>()</div>
326
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div>
327
- <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>
328
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
329
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
330
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div>
331
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
332
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div>
333
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div>
334
- <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>
335
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
336
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isBottom())</div>
337
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
338
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
339
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div>
340
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div>
341
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
342
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
343
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; </div>
344
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">hash</a>() <span class="keyword">const override</span>;</div>
345
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; </div>
346
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="keyword">public</span>:</div>
347
- <div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb"> 301</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;val)</div>
348
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
349
- <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>
350
- <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>
351
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
352
- <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>
353
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div>
354
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; </div>
355
- <div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab"> 309</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</div>
356
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
357
- <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>
358
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
359
- <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>
360
- <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>
361
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
362
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">else</span></div>
363
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
364
- <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>
365
- <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>
366
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
367
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">else</span></div>
368
- <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>
369
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
370
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div>
371
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; </div>
372
- <div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a"> 326</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">loadAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)<span class="keyword"> override</span></div>
373
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="keyword"> </span>{</div>
374
- <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>
375
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
376
- <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>
377
- <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>
378
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
379
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">else</span></div>
380
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
381
- <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>
382
- <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>
383
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
384
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">else</span></div>
385
- <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>
386
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
387
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
388
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; </div>
389
- <div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a7c116401ebfd4e0947f5be6a61d1edcc"> 343</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; <a class="code" href="classSVF_1_1IntervalExeState.html#a7c116401ebfd4e0947f5be6a61d1edcc">getLocToVal</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)</div>
390
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div>
391
- <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>
392
- <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>
393
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
394
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span></div>
395
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div>
396
- <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>
397
- <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>
398
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
399
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">else</span></div>
400
- <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>
401
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
402
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div>
403
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; </div>
404
- <div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ab2ca8fade3399ebbffd3cc32e52604d5"> 358</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a>&amp; <a class="code" href="classSVF_1_1IntervalExeState.html#ab2ca8fade3399ebbffd3cc32e52604d5">getLocAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)</div>
405
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
406
- <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>
407
- <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>
408
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
409
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">else</span></div>
410
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div>
411
- <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>
412
- <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>
413
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
414
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">else</span></div>
415
- <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>
416
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div>
417
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
418
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
419
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#aa6adb9becbc2541198708823e3e35c9d">printExprValues</a>(std::ostream &amp;oss) <span class="keyword">const override</span>;</div>
304
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="keyword">public</span>:</div>
305
+ <div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2"> 258</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;val)</div>
306
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div>
307
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</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>
308
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</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>
309
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
310
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[objId] = val;</div>
311
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
312
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
313
+ <div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a93c2088eacb3859d5e54899d3fa6b45f"> 266</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#a93c2088eacb3859d5e54899d3fa6b45f">load</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</div>
314
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
315
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</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>
316
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
317
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.find(objId);</div>
318
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
319
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
320
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">else</span></div>
321
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
322
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[objId];</div>
323
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
324
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
325
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
326
+ <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a1a012a83e3c2808e24ba8d5da4fbd85b"> 279</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &amp;<a class="code" href="classSVF_1_1IntervalESBase.html#a1a012a83e3c2808e24ba8d5da4fbd85b">loadAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)<span class="keyword"> override</span></div>
327
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="keyword"> </span>{</div>
328
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</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>
329
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
330
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
331
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
332
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
333
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">else</span></div>
334
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div>
335
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[objId];</div>
336
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
337
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
338
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; </div>
339
+ <div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a46a305a70ec53c6bda50caafec38791a"> 292</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; <a class="code" href="classSVF_1_1IntervalESBase.html#a46a305a70ec53c6bda50caafec38791a">getLocToVal</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)</div>
340
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div>
341
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</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>
342
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.end())</div>
343
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
344
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span></div>
345
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
346
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[id];</div>
347
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
348
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
349
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; </div>
350
+ <div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a04145be14d0b0f60eb0f357e0ec7a92c"> 303</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a>&amp; <a class="code" href="classSVF_1_1IntervalESBase.html#a04145be14d0b0f60eb0f357e0ec7a92c">getLocAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)</div>
351
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
352
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</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>
353
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
354
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
355
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">else</span></div>
356
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
357
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[id];</div>
358
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
359
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
360
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; </div>
361
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a4c0ede557a333bfea3f5d4a9a4dc8a9e">printExprValues</a>(std::ostream &amp;oss) <span class="keyword">const override</span>;</div>
362
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; </div>
363
+ <div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#ab5d7ac23f8334fa32ae0a78c8f1d9fa9"> 317</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1IntervalESBase.html#ab5d7ac23f8334fa32ae0a78c8f1d9fa9">toString</a>()<span class="keyword"> const override</span></div>
364
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="keyword"> </span>{</div>
365
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div>
366
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
367
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; </div>
368
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a9133df5ab00e7c2918a8047fd0bdfb08">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;other) <span class="keyword">const</span>;</div>
369
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div>
370
+ <div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1"> 324</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a5fbb3e0a06cb36f020a6de20ebd04ad1">eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</div>
371
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
372
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
373
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</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>
374
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; {</div>
375
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
376
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
377
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
378
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.equals(it-&gt;second))</div>
379
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
380
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
381
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
382
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
383
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
384
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
385
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </div>
386
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; </div>
387
+ <div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#af1837e907961eb3594b817b62b9ea9a3"> 341</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#af1837e907961eb3594b817b62b9ea9a3">lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</div>
388
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
389
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span> (lhs.empty()) <span class="keywordflow">return</span> !rhs.empty();</div>
390
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</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>
391
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
392
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
393
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">if</span> (it == rhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
394
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">// judge from expr id</span></div>
395
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</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>
396
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div>
397
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
398
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div>
399
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
400
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// lhs &gt;= rhs</span></div>
401
+ <div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c"> 355</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a7f8254581235c03a3fad17e51d00db0c">geqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;rhs)</div>
402
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
403
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (rhs.empty()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
404
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</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>
405
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
406
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keyword">auto</span> it = lhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
407
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span> (it == lhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
408
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="comment">// judge from expr id</span></div>
409
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</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>
410
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div>
411
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
412
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
413
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
414
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keyword">using</span> ExeState::operator==;</div>
415
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keyword">using</span> ExeState::operator!=;</div>
416
+ <div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a6f6ba2a615f1227cf8397345d1d0f25d"> 370</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a6f6ba2a615f1227cf8397345d1d0f25d">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)<span class="keyword"> const</span></div>
417
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="keyword"> </span>{</div>
418
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</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.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>()) &amp;&amp;</div>
419
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</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.<a class="code" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a>());</div>
420
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
420
421
  <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; </div>
421
- <div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a3a8f8b09df0befa318cbcd43d191d37a"> 376</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a3a8f8b09df0befa318cbcd43d191d37a">toString</a>()<span class="keyword"> const override</span></div>
422
+ <div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#ab3d0a23befaf69fac553e6e3ae3a42e0"> 376</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#ab3d0a23befaf69fac553e6e3ae3a42e0">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)<span class="keyword"> const</span></div>
422
423
  <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="keyword"> </span>{</div>
423
- <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>
424
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
424
425
  <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
425
426
  <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; </div>
426
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a69f5125f14b129607fafb3717160f4c1">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other) <span class="keyword">const</span>;</div>
427
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div>
428
- <div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ac3a30689d2918b7db8bb6b640322f457"> 383</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ac3a30689d2918b7db8bb6b640322f457">eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;rhs)</div>
429
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div>
430
- <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>
431
- <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>
432
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div>
433
- <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>
434
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
435
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
436
- <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>
437
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div>
438
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
439
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div>
440
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
441
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
442
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
443
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; </div>
427
+ <div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#aaafb882ca79738d39697d1461bd2032f"> 381</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#aaafb882ca79738d39697d1461bd2032f">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)<span class="keyword"> const</span></div>
428
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="keyword"> </span>{</div>
429
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt;= rhs);</div>
430
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
431
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; </div>
432
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
433
+ <div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a8722234ba6bea5223e79174ff1d095c7"> 387</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a8722234ba6bea5223e79174ff1d095c7">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;rhs)<span class="keyword"> const</span></div>
434
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="keyword"> </span>{</div>
435
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</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.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>()) &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.<a class="code" href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">getLocToVal</a>());</div>
436
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
437
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
438
+ <div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalESBase.html#a4849103f97f0c03e434882c32e8d695b"> 392</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a4849103f97f0c03e434882c32e8d695b">clear</a>()</div>
439
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
440
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.clear();</div>
441
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.clear();</div>
442
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.clear();</div>
443
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.clear();</div>
444
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
444
445
  <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; </div>
445
- <div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a7129d3e1901c527f7c4876cb1c54a890"> 400</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a7129d3e1901c527f7c4876cb1c54a890">lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;rhs)</div>
446
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div>
447
- <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>
448
- <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>
449
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div>
450
- <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>
451
- <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>
452
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="comment">// judge from expr id</span></div>
453
- <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>
454
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div>
455
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
456
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div>
457
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; </div>
458
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="comment">// lhs &gt;= rhs</span></div>
459
- <div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a695fcc1ffc4a0fab83cc65ee755eebcb"> 414</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a695fcc1ffc4a0fab83cc65ee755eebcb">geqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;rhs)</div>
460
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div>
461
- <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>
462
- <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>
463
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; {</div>
464
- <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>
465
- <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>
466
- <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="comment">// judge from expr id</span></div>
467
- <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>
468
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div>
469
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
446
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; </div>
447
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="keyword">protected</span>:</div>
448
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;table, std::ostream &amp;oss) <span class="keyword">const</span>;</div>
449
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
450
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">printTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;table, std::ostream &amp;oss) <span class="keyword">const</span>;</div>
451
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;};</div>
452
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; </div>
453
+ <div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html"> 407</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a></div>
454
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;{</div>
455
+ <div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#af1ac478aba3f3858d5f6f4b15a9f73a6"> 409</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a>;</div>
456
+ <div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a44841fb4ad23542383ea77bf1ffda65f"> 410</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1RelationSolver.html">RelationSolver</a>;</div>
457
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; </div>
458
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="keyword">public</span>:</div>
459
+ <div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05"> 413</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">globalES</a>;</div>
460
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; </div>
461
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="keyword">public</span>:</div>
462
+ <div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c"> 417</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#adce87f96e58b25bd6ff046e6608f4d2c">IntervalExeState</a>() : <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>() {}</div>
463
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; </div>
464
+ <div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0"> 419</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0">IntervalExeState</a>(<a class="code" href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">VarToValMap</a> &amp;_varToValMap, <a class="code" href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">LocToValMap</a> &amp;_locToValMap) : <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>(_varToValMap, _locToValMap) {}</div>
465
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; </div>
466
+ <div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654"> 422</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654">IntervalExeState</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs) : <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>(rhs)</div>
467
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; {</div>
468
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; </div>
470
469
  <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
471
470
  <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
472
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">using</span> ExeState::operator==;</div>
473
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keyword">using</span> ExeState::operator!=;</div>
474
- <div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3"> 429</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
475
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="keyword"> </span>{</div>
476
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>()) &amp;&amp;</div>
477
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a>());</div>
478
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
479
- <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; </div>
480
- <div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad4cbc6543ffe3e663deea4736470bfc1"> 435</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ad4cbc6543ffe3e663deea4736470bfc1">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
481
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="keyword"> </span>{</div>
482
- <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>
483
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div>
471
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a9e6006e0f0a4039cf65f9e79be6eea49">~IntervalExeState</a>() = <span class="keywordflow">default</span>;</div>
472
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; </div>
473
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; </div>
474
+ <div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a5ca48cf99bb54008d824d8c475c450f7"> 430</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a5ca48cf99bb54008d824d8c475c450f7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</div>
475
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
476
+ <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>
477
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
478
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
479
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; </div>
480
+ <div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ac1272649c1549d0d942941bd8f4c4b41"> 437</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#ac1272649c1549d0d942941bd8f4c4b41">IntervalExeState</a>(<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&amp;rhs) : <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs))</div>
481
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; {</div>
484
482
  <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; </div>
485
- <div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#aa4acf1e8ae7571f527047e36b77dfb58"> 440</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#aa4acf1e8ae7571f527047e36b77dfb58">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
486
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="keyword"> </span>{</div>
487
- <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>
488
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div>
489
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; </div>
490
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; </div>
491
- <div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f"> 446</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
492
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;<span class="keyword"> </span>{</div>
493
- <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.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>()) &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.<a class="code" href="classSVF_1_1IntervalExeState.html#ae0d4b22023ce63327f55484cffb051cf">getLocToVal</a>());</div>
494
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
483
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
484
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; </div>
485
+ <div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7"> 443</a></span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7">operator=</a>(<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&amp;rhs)</div>
486
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
487
+ <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>
488
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
489
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div>
490
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; </div>
491
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="keyword">public</span>:</div>
495
492
  <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; </div>
496
- <div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a4723715a8d9be3021b39082432d99375"> 451</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a4723715a8d9be3021b39082432d99375">clear</a>()</div>
497
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
498
- <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>
499
- <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>
500
- <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>
501
- <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>
502
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
503
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; </div>
504
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; </div>
505
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="keyword">private</span>:</div>
506
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">VarToValMap</a> &amp;table, std::ostream &amp;oss) <span class="keyword">const</span>;</div>
507
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; </div>
508
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#abf57a44b95108e255242f630ba33f37b">printTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">VarToAddrs</a> &amp;table, std::ostream &amp;oss) <span class="keyword">const</span>;</div>
509
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;};</div>
510
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;}</div>
511
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; </div>
512
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="keyword">template</span>&lt;&gt;</div>
513
- <div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html"> 468</a></span>&#160;<span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::IntervalExeState&gt;</div>
514
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;{</div>
515
- <div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html#ae21394a2b8076439d48a118ff5b623a5"> 470</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html#ae21394a2b8076439d48a118ff5b623a5">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a> &amp;exeState)<span class="keyword"> const</span></div>
516
- <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="keyword"> </span>{</div>
517
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">return</span> exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">hash</a>();</div>
518
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div>
519
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;};</div>
520
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; </div>
521
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="preprocessor">#endif //Z3_EXAMPLE_INTERVAL_DOMAIN_H</span></div>
493
+ <div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd"> 452</a></span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> override</span></div>
494
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="keyword"> </span>{</div>
495
+ <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>
496
+ <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>
497
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
498
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">else</span></div>
499
+ <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>
500
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div>
501
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; </div>
502
+ <div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a2f39e01a347d10b2992a46e5cc52ab77"> 462</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a2f39e01a347d10b2992a46e5cc52ab77">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> override</span></div>
503
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="keyword"> </span>{</div>
504
+ <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>
505
+ <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>
506
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> localIt-&gt;second;</div>
507
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">else</span></div>
508
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
509
+ <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>
510
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; }</div>
511
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div>
512
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; </div>
513
+ <div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45"> 474</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
514
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="keyword"> </span>{</div>
515
+ <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>
516
+ <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>
517
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div>
518
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; </div>
519
+ <div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e"> 481</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">inVarToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
520
+ <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="keyword"> </span>{</div>
521
+ <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>
522
+ <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>
523
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; }</div>
524
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; </div>
525
+ <div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4"> 488</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
526
+ <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="keyword"> </span>{</div>
527
+ <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>
528
+ <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>
529
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; }</div>
530
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; </div>
531
+ <div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8"> 495</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">inLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
532
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="keyword"> </span>{</div>
533
+ <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>
534
+ <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>
535
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
536
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; </div>
537
+ <div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6"> 501</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6">inLocalLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
538
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="keyword"> </span>{</div>
539
+ <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>
540
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div>
541
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; </div>
542
+ <div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb"> 506</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb">inLocalLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
543
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<span class="keyword"> </span>{</div>
544
+ <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>
545
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div>
546
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; </div>
547
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="keyword">public</span>:</div>
548
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; </div>
549
+ <div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a052d677fb5ee940ed0686f3d67d10d19"> 513</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a052d677fb5ee940ed0686f3d67d10d19">cpyItvToLocal</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
550
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div>
551
+ <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>
552
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="comment">// local already have varId</span></div>
553
+ <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>
554
+ <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>
555
+ <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>
556
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div>
557
+ <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>
558
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; }</div>
559
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div>
560
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; </div>
561
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#abc8edb74e55f40dbc7bb5182d4ef1199">widening</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
562
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; </div>
563
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a1e8f41b502167283ccb87bd128f232bc">narrowing</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
564
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; </div>
565
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#acfbe4dbb85e802a0456b7223a26280d3">widenWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
566
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; </div>
567
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">joinWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
568
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; </div>
569
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a3d6ccddf8ecfbd7b6348f8c441cceab9">narrowWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
570
+ <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; </div>
571
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">meetWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other);</div>
572
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; </div>
573
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">hash</a>() <span class="keyword">const override</span>;</div>
574
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; </div>
575
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;<span class="keyword">public</span>:</div>
576
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; </div>
577
+ <div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e"> 547</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">load</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)<span class="keyword"> override</span></div>
578
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="keyword"> </span>{</div>
579
+ <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>
580
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
581
+ <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>
582
+ <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>
583
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
584
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">else</span></div>
585
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div>
586
+ <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>
587
+ <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>
588
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
589
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">else</span></div>
590
+ <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>
591
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div>
592
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div>
593
+ <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; </div>
594
+ <div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a"> 564</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &amp;<a class="code" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">loadAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)<span class="keyword"> override</span></div>
595
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="keyword"> </span>{</div>
596
+ <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>
597
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
598
+ <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>
599
+ <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>
600
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
601
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">else</span></div>
602
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div>
603
+ <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>
604
+ <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>
605
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
606
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">else</span></div>
607
+ <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>
608
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div>
609
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; }</div>
610
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; </div>
611
+ <div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a48247d3ce543a9773d668998f7f58ac3"> 581</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&amp; <a class="code" href="classSVF_1_1IntervalExeState.html#a48247d3ce543a9773d668998f7f58ac3">getLocToVal</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> override</span></div>
612
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="keyword"> </span>{</div>
613
+ <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>
614
+ <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>
615
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
616
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">else</span></div>
617
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div>
618
+ <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>
619
+ <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>
620
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
621
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">else</span></div>
622
+ <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>
623
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div>
624
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div>
625
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; </div>
626
+ <div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a053ad8e95d16e2ec047c64258c2021f2"> 596</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a>&amp; <a class="code" href="classSVF_1_1IntervalExeState.html#a053ad8e95d16e2ec047c64258c2021f2">getLocAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> override</span></div>
627
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;<span class="keyword"> </span>{</div>
628
+ <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>
629
+ <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>
630
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
631
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">else</span></div>
632
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; {</div>
633
+ <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>
634
+ <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>
635
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> globIt-&gt;second;</div>
636
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">else</span></div>
637
+ <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>
638
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; }</div>
639
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div>
640
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; </div>
641
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a69f5125f14b129607fafb3717160f4c1">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;other) <span class="keyword">const</span>;</div>
642
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; </div>
643
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keyword">using</span> ExeState::operator==;</div>
644
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keyword">using</span> ExeState::operator!=;</div>
645
+ <div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3"> 615</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
646
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;<span class="keyword"> </span>{</div>
647
+ <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.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>) &amp;&amp;</div>
648
+ <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.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>);</div>
649
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; }</div>
650
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; </div>
651
+ <div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#ad4cbc6543ffe3e663deea4736470bfc1"> 621</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#ad4cbc6543ffe3e663deea4736470bfc1">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
652
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;<span class="keyword"> </span>{</div>
653
+ <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>
654
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; }</div>
655
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; </div>
656
+ <div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#aa4acf1e8ae7571f527047e36b77dfb58"> 626</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#aa4acf1e8ae7571f527047e36b77dfb58">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
657
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="keyword"> </span>{</div>
658
+ <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>
659
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; }</div>
660
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; </div>
661
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; </div>
662
+ <div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f"> 632</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
663
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;<span class="keyword"> </span>{</div>
664
+ <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.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>()) &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.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>);</div>
665
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; }</div>
666
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;};</div>
667
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;}</div>
668
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; </div>
669
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;<span class="keyword">template</span>&lt;&gt;</div>
670
+ <div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html"> 640</a></span>&#160;<span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::IntervalExeState&gt;</div>
671
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;{</div>
672
+ <div class="line"><a name="l00642"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html#ae21394a2b8076439d48a118ff5b623a5"> 642</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html#ae21394a2b8076439d48a118ff5b623a5">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a> &amp;exeState)<span class="keyword"> const</span></div>
673
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;<span class="keyword"> </span>{</div>
674
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">return</span> exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">hash</a>();</div>
675
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; }</div>
676
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;};</div>
677
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
678
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="preprocessor">#endif //Z3_EXAMPLE_INTERVAL_DOMAIN_H</span></div>
522
679
  </div><!-- fragment --></div><!-- contents -->
523
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aba57b0f3c813c47c1b69915f145efbd6"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aba57b0f3c813c47c1b69915f145efbd6">SVF::IntervalExeState::inVarToValTable</a></div><div class="ttdeci">bool inVarToValTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00186">IntervalExeState.h:186</a></div></div>
524
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b846d3cd77ab12a35cb81815e22ee3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3">SVF::IntervalExeState::operator==</a></div><div class="ttdeci">bool operator==(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00429">IntervalExeState.h:429</a></div></div>
525
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a7420a7637b62d451babadb852c9c2ac2"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a7420a7637b62d451babadb852c9c2ac2">SVF::IntervalExeState::operator[]</a></div><div class="ttdeci">IntervalValue &amp; operator[](u32_t varId)</div><div class="ttdoc">get interval value of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00167">IntervalExeState.h:167</a></div></div>
526
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a056e0db56033ac4dc041e6d82d614dbd"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">SVF::IntervalExeState::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id) override</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00157">IntervalExeState.h:157</a></div></div>
527
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a3b95a08fa7b123549e732819d9371946"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a3b95a08fa7b123549e732819d9371946">SVF::IntervalExeState::LocToValMap</a></div><div class="ttdeci">VarToValMap LocToValMap</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00063">IntervalExeState.h:63</a></div></div>
528
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aa4acf1e8ae7571f527047e36b77dfb58"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aa4acf1e8ae7571f527047e36b77dfb58">SVF::IntervalExeState::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00440">IntervalExeState.h:440</a></div></div>
529
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a73d2e475625f5b9204cdecb94381c558"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a73d2e475625f5b9204cdecb94381c558">SVF::IntervalExeState::createIntervalValue</a></div><div class="ttdeci">IntervalValue createIntervalValue(double lb, double ub, NodeID id)</div><div class="ttdoc">TODO: Create new interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00272">IntervalExeState.h:272</a></div></div>
680
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a6f6ba2a615f1227cf8397345d1d0f25d"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a6f6ba2a615f1227cf8397345d1d0f25d">SVF::IntervalESBase::operator==</a></div><div class="ttdeci">bool operator==(const IntervalESBase &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00370">IntervalExeState.h:370</a></div></div>
681
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b846d3cd77ab12a35cb81815e22ee3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b846d3cd77ab12a35cb81815e22ee3">SVF::IntervalExeState::operator==</a></div><div class="ttdeci">bool operator==(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00615">IntervalExeState.h:615</a></div></div>
682
+ <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>
683
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a04145be14d0b0f60eb0f357e0ec7a92c"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a04145be14d0b0f60eb0f357e0ec7a92c">SVF::IntervalESBase::getLocAddrs</a></div><div class="ttdeci">virtual Addrs &amp; getLocAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00303">IntervalExeState.h:303</a></div></div>
684
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a960ec3359dfcb5e89fb66120c868ac5e"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">SVF::IntervalExeState::load</a></div><div class="ttdeci">IntervalValue &amp; load(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00547">IntervalExeState.h:547</a></div></div>
685
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a056e0db56033ac4dc041e6d82d614dbd"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">SVF::IntervalExeState::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id) override</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00452">IntervalExeState.h:452</a></div></div>
686
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aa4acf1e8ae7571f527047e36b77dfb58"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aa4acf1e8ae7571f527047e36b77dfb58">SVF::IntervalExeState::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00626">IntervalExeState.h:626</a></div></div>
530
687
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
531
688
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a09f34aca79479221305769cae307feef"><div class="ttname"><a href="classSVF_1_1ExeState.html#a09f34aca79479221305769cae307feef">SVF::ExeState::VarToAddrs</a></div><div class="ttdeci">Map&lt; u32_t, Addrs &gt; VarToAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00053">ExeState.h:53</a></div></div>
689
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_af1837e907961eb3594b817b62b9ea9a3"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#af1837e907961eb3594b817b62b9ea9a3">SVF::IntervalESBase::lessThanVarToValMap</a></div><div class="ttdeci">static bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00341">IntervalExeState.h:341</a></div></div>
532
690
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00218">IntervalValue.h:218</a></div></div>
691
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a8926e8fe328e3a3596fee42e06130da7"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a8926e8fe328e3a3596fee42e06130da7">SVF::IntervalESBase::inLocToValTable</a></div><div class="ttdeci">virtual bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores interval value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00183">IntervalExeState.h:183</a></div></div>
533
692
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
534
- <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>
535
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_acfbe4dbb85e802a0456b7223a26280d3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#acfbe4dbb85e802a0456b7223a26280d3">SVF::IntervalExeState::widenWith</a></div><div class="ttdeci">void widenWith(const IntervalExeState &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#l00097">IntervalExeState.cpp:97</a></div></div>
693
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_acfbe4dbb85e802a0456b7223a26280d3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#acfbe4dbb85e802a0456b7223a26280d3">SVF::IntervalExeState::widenWith</a></div><div class="ttdeci">void widenWith(const IntervalExeState &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#l00291">IntervalExeState.cpp:291</a></div></div>
536
694
  <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>
537
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a65be64fc3b46b3d8e0c22d8a478df5cb"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">SVF::IntervalExeState::store</a></div><div class="ttdeci">void store(u32_t addr, const IntervalValue &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00301">IntervalExeState.h:301</a></div></div>
538
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ae28249f952e1aa620b23e946a1f209ab"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">SVF::IntervalExeState::load</a></div><div class="ttdeci">IntervalValue &amp; load(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00309">IntervalExeState.h:309</a></div></div>
539
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad1b59eda77f703a29e9070c3ef70e430"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">SVF::IntervalExeState::top</a></div><div class="ttdeci">IntervalExeState top() const</div><div class="ttdoc">Set all value top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00128">IntervalExeState.h:128</a></div></div>
695
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aab316a63c25483eefc38bed0a86a0e7e"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">SVF::IntervalExeState::inVarToValTable</a></div><div class="ttdeci">bool inVarToValTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00481">IntervalExeState.h:481</a></div></div>
696
+ <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>
697
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a3f8da19a79bfdc37c38e659a94371aba"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a3f8da19a79bfdc37c38e659a94371aba">SVF::IntervalESBase::narrowing</a></div><div class="ttdeci">IntervalESBase narrowing(const IntervalESBase &amp;other)</div><div class="ttdoc">domain narrow with other, and return the narrowed domain</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00076">IntervalExeState.cpp:76</a></div></div>
698
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a4c0ede557a333bfea3f5d4a9a4dc8a9e"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a4c0ede557a333bfea3f5d4a9a4dc8a9e">SVF::IntervalESBase::printExprValues</a></div><div class="ttdeci">void printExprValues(std::ostream &amp;oss) const override</div><div class="ttdoc">Print values of all expressions.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00188">IntervalExeState.cpp:188</a></div></div>
540
699
  <div class="ttc" id="aExeState_8h_html"><div class="ttname"><a href="ExeState_8h.html">ExeState.h</a></div></div>
541
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a6fdad70e3a0b39e146f0b93f24f055c6"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6">SVF::IntervalExeState::inLocalLocToValTable</a></div><div class="ttdeci">bool inLocalLocToValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00218">IntervalExeState.h:218</a></div></div>
542
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a4723715a8d9be3021b39082432d99375"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a4723715a8d9be3021b39082432d99375">SVF::IntervalExeState::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00451">IntervalExeState.h:451</a></div></div>
543
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac1272649c1549d0d942941bd8f4c4b41"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac1272649c1549d0d942941bd8f4c4b41">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState(IntervalExeState &amp;&amp;rhs)</div><div class="ttdoc">move constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00097">IntervalExeState.h:97</a></div></div>
700
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a6fdad70e3a0b39e146f0b93f24f055c6"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a6fdad70e3a0b39e146f0b93f24f055c6">SVF::IntervalExeState::inLocalLocToValTable</a></div><div class="ttdeci">bool inLocalLocToValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00501">IntervalExeState.h:501</a></div></div>
701
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ab5d7ac23f8334fa32ae0a78c8f1d9fa9"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ab5d7ac23f8334fa32ae0a78c8f1d9fa9">SVF::IntervalESBase::toString</a></div><div class="ttdeci">std::string toString() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00317">IntervalExeState.h:317</a></div></div>
702
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_aa240089b9af05b9a0406451b94ed41e0"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#aa240089b9af05b9a0406451b94ed41e0">SVF::IntervalESBase::inVarToValTable</a></div><div class="ttdeci">virtual bool inVarToValTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00171">IntervalExeState.h:171</a></div></div>
703
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac1272649c1549d0d942941bd8f4c4b41"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac1272649c1549d0d942941bd8f4c4b41">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState(IntervalExeState &amp;&amp;rhs)</div><div class="ttdoc">move constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00437">IntervalExeState.h:437</a></div></div>
704
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_af00c9267eb35bf16c88e321ca3009151"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#af00c9267eb35bf16c88e321ca3009151">SVF::IntervalESBase::operator[]</a></div><div class="ttdeci">virtual IntervalValue &amp; operator[](u32_t varId)</div><div class="ttdoc">get interval value of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00159">IntervalExeState.h:159</a></div></div>
544
705
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html">SVF::SVFIR2ItvExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00041">SVFIR2ItvExeState.h:41</a></div></div>
545
706
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00120">NumericLiteral.h:120</a></div></div>
546
- <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>
547
707
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
548
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a7129d3e1901c527f7c4876cb1c54a890"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a7129d3e1901c527f7c4876cb1c54a890">SVF::IntervalExeState::lessThanVarToValMap</a></div><div class="ttdeci">static bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00400">IntervalExeState.h:400</a></div></div>
708
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00054">IntervalExeState.h:54</a></div></div>
549
709
  <div class="ttc" id="aclassSVF_1_1ExeState_html"><div class="ttname"><a href="classSVF_1_1ExeState.html">SVF::ExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
550
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a3d6ccddf8ecfbd7b6348f8c441cceab9"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a3d6ccddf8ecfbd7b6348f8c441cceab9">SVF::IntervalExeState::narrowWith</a></div><div class="ttdeci">void narrowWith(const IntervalExeState &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#l00146">IntervalExeState.cpp:146</a></div></div>
551
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a781dc413b32c33e1c0fd5154d2c50654"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState(const IntervalExeState &amp;rhs)</div><div class="ttdoc">copy constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00076">IntervalExeState.h:76</a></div></div>
552
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a69f5125f14b129607fafb3717160f4c1"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a69f5125f14b129607fafb3717160f4c1">SVF::IntervalExeState::equals</a></div><div class="ttdeci">bool equals(const IntervalExeState &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00037">IntervalExeState.cpp:37</a></div></div>
553
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac3969ddc15f3bd675d5a352dfd9b9bf7"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7">SVF::IntervalExeState::operator=</a></div><div class="ttdeci">IntervalExeState &amp; operator=(IntervalExeState &amp;&amp;rhs)</div><div class="ttdoc">operator= move constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00105">IntervalExeState.h:105</a></div></div>
554
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a6a8c6bbff583ccd71453af5de884df89"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a6a8c6bbff583ccd71453af5de884df89">SVF::IntervalExeState::has_bottom</a></div><div class="ttdeci">bool has_bottom()</div><div class="ttdoc">Return true if map has bottom value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00279">IntervalExeState.h:279</a></div></div>
555
- <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>
556
- <div class="ttc" id="astructstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4_html_ae21394a2b8076439d48a118ff5b623a5"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html#ae21394a2b8076439d48a118ff5b623a5">std::hash&lt; SVF::IntervalExeState &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::IntervalExeState &amp;exeState) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00470">IntervalExeState.h:470</a></div></div>
557
- <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>
558
- <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>
559
- <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>
710
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a3d6ccddf8ecfbd7b6348f8c441cceab9"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a3d6ccddf8ecfbd7b6348f8c441cceab9">SVF::IntervalExeState::narrowWith</a></div><div class="ttdeci">void narrowWith(const IntervalExeState &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#l00303">IntervalExeState.cpp:303</a></div></div>
711
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a781dc413b32c33e1c0fd5154d2c50654"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a781dc413b32c33e1c0fd5154d2c50654">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState(const IntervalExeState &amp;rhs)</div><div class="ttdoc">copy constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00422">IntervalExeState.h:422</a></div></div>
712
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a5b199cda24038f6f60fe4fa6b6d6bb76"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a5b199cda24038f6f60fe4fa6b6d6bb76">SVF::IntervalESBase::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id) override</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00153">IntervalExeState.h:153</a></div></div>
713
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a69f5125f14b129607fafb3717160f4c1"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a69f5125f14b129607fafb3717160f4c1">SVF::IntervalExeState::equals</a></div><div class="ttdeci">bool equals(const IntervalExeState &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00243">IntervalExeState.cpp:243</a></div></div>
714
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac3969ddc15f3bd675d5a352dfd9b9bf7"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac3969ddc15f3bd675d5a352dfd9b9bf7">SVF::IntervalExeState::operator=</a></div><div class="ttdeci">IntervalExeState &amp; operator=(IntervalExeState &amp;&amp;rhs)</div><div class="ttdoc">operator= move constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00443">IntervalExeState.h:443</a></div></div>
715
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2387b671954d5c1fdd4b08b71ffa0e6c"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2387b671954d5c1fdd4b08b71ffa0e6c">SVF::IntervalESBase::has_bottom</a></div><div class="ttdeci">bool has_bottom()</div><div class="ttdoc">Return true if map has bottom value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00236">IntervalExeState.h:236</a></div></div>
716
+ <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>
717
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ab3d0a23befaf69fac553e6e3ae3a42e0"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ab3d0a23befaf69fac553e6e3ae3a42e0">SVF::IntervalESBase::operator!=</a></div><div class="ttdeci">bool operator!=(const IntervalESBase &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00376">IntervalExeState.h:376</a></div></div>
718
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a02e3d5f7074c4f77338edc9a7add95d8"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a02e3d5f7074c4f77338edc9a7add95d8">SVF::IntervalESBase::VarToValMap</a></div><div class="ttdeci">Map&lt; u32_t, IntervalValue &gt; VarToValMap</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00059">IntervalExeState.h:59</a></div></div>
719
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2c15de9b10a74fbcb171ff2f328ce7f2"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2c15de9b10a74fbcb171ff2f328ce7f2">SVF::IntervalESBase::sliceState</a></div><div class="ttdeci">IntervalESBase sliceState(Set&lt; u32_t &gt; &amp;sl)</div><div class="ttdoc">Copy some values and return a new IntervalExeState.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00135">IntervalExeState.h:135</a></div></div>
720
+ <div class="ttc" id="astructstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4_html_ae21394a2b8076439d48a118ff5b623a5"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html#ae21394a2b8076439d48a118ff5b623a5">std::hash&lt; SVF::IntervalExeState &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::IntervalExeState &amp;exeState) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00642">IntervalExeState.h:642</a></div></div>
721
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a317d19f98d43b05963b5649fc402eed4"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a317d19f98d43b05963b5649fc402eed4">SVF::IntervalESBase::IntervalESBase</a></div><div class="ttdeci">IntervalESBase(const IntervalESBase &amp;rhs)</div><div class="ttdoc">copy constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00072">IntervalExeState.h:72</a></div></div>
722
+ <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>
723
+ <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>
724
+ <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>
725
+ <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>
726
+ <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>
560
727
  <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>
561
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af61110c081ca71f9348e8dfff5aa76e4"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">SVF::IntervalExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00193">IntervalExeState.h:193</a></div></div>
728
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a2f39e01a347d10b2992a46e5cc52ab77"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a2f39e01a347d10b2992a46e5cc52ab77">SVF::IntervalExeState::operator[]</a></div><div class="ttdeci">IntervalValue &amp; operator[](u32_t varId) override</div><div class="ttdoc">get interval value of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00462">IntervalExeState.h:462</a></div></div>
729
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af61110c081ca71f9348e8dfff5aa76e4"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">SVF::IntervalExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00488">IntervalExeState.h:488</a></div></div>
730
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_adb26b186ee31bce7449a7b36faa24cc2"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">SVF::IntervalESBase::store</a></div><div class="ttdeci">void store(u32_t addr, const IntervalValue &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00258">IntervalExeState.h:258</a></div></div>
731
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a053ad8e95d16e2ec047c64258c2021f2"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a053ad8e95d16e2ec047c64258c2021f2">SVF::IntervalExeState::getLocAddrs</a></div><div class="ttdeci">Addrs &amp; getLocAddrs(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00596">IntervalExeState.h:596</a></div></div>
562
732
  <div class="ttc" id="aclassSVF_1_1RelationSolver_html"><div class="ttname"><a href="classSVF_1_1RelationSolver.html">SVF::RelationSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8h_source.html#l00038">RelationSolver.h:38</a></div></div>
563
733
  <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>
564
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ab2ca8fade3399ebbffd3cc32e52604d5"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ab2ca8fade3399ebbffd3cc32e52604d5">SVF::IntervalExeState::getLocAddrs</a></div><div class="ttdeci">Addrs &amp; getLocAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00358">IntervalExeState.h:358</a></div></div>
734
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2ff42e1ba569614cc86f8a3af65b7c41"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2ff42e1ba569614cc86f8a3af65b7c41">SVF::IntervalESBase::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#l00222">IntervalExeState.h:222</a></div></div>
565
735
  <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>
566
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a85b0e711160d67ea84f426025b980dce"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">SVF::IntervalExeState::hash</a></div><div class="ttdeci">u32_t hash() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00042">IntervalExeState.cpp:42</a></div></div>
567
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a46ef74cd1412790b088f1d7320f57a9f"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">SVF::IntervalExeState::joinWith</a></div><div class="ttdeci">void joinWith(const IntervalExeState &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#l00114">IntervalExeState.cpp:114</a></div></div>
568
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a5803940144915a922af7ddef09fb23c0"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState(VarToValMap &amp;_varToValMap, LocToValMap &amp;_locToValMap)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00071">IntervalExeState.h:71</a></div></div>
736
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a85b0e711160d67ea84f426025b980dce"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a85b0e711160d67ea84f426025b980dce">SVF::IntervalExeState::hash</a></div><div class="ttdeci">u32_t hash() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00248">IntervalExeState.cpp:248</a></div></div>
737
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a46ef74cd1412790b088f1d7320f57a9f"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">SVF::IntervalExeState::joinWith</a></div><div class="ttdeci">void joinWith(const IntervalExeState &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#l00297">IntervalExeState.cpp:297</a></div></div>
738
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a5803940144915a922af7ddef09fb23c0"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a5803940144915a922af7ddef09fb23c0">SVF::IntervalExeState::IntervalExeState</a></div><div class="ttdeci">IntervalExeState(VarToValMap &amp;_varToValMap, LocToValMap &amp;_locToValMap)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00419">IntervalExeState.h:419</a></div></div>
569
739
  <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>
570
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_abc8edb74e55f40dbc7bb5182d4ef1199"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#abc8edb74e55f40dbc7bb5182d4ef1199">SVF::IntervalExeState::widening</a></div><div class="ttdeci">IntervalExeState widening(const IntervalExeState &amp;other)</div><div class="ttdoc">domain widen with other, and return the widened domain</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00059">IntervalExeState.cpp:59</a></div></div>
571
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aa6adb9becbc2541198708823e3e35c9d"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aa6adb9becbc2541198708823e3e35c9d">SVF::IntervalExeState::printExprValues</a></div><div class="ttdeci">void printExprValues(std::ostream &amp;oss) const override</div><div class="ttdoc">Print values of all expressions.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00189">IntervalExeState.cpp:189</a></div></div>
740
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_abc8edb74e55f40dbc7bb5182d4ef1199"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#abc8edb74e55f40dbc7bb5182d4ef1199">SVF::IntervalExeState::widening</a></div><div class="ttdeci">IntervalExeState widening(const IntervalExeState &amp;other)</div><div class="ttdoc">domain widen with other, and return the widened domain</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00253">IntervalExeState.cpp:253</a></div></div>
572
741
  <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>
573
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a5ca48cf99bb54008d824d8c475c450f7"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a5ca48cf99bb54008d824d8c475c450f7">SVF::IntervalExeState::operator=</a></div><div class="ttdeci">IntervalExeState &amp; operator=(const IntervalExeState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00085">IntervalExeState.h:85</a></div></div>
742
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a5ca48cf99bb54008d824d8c475c450f7"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a5ca48cf99bb54008d824d8c475c450f7">SVF::IntervalExeState::operator=</a></div><div class="ttdeci">IntervalExeState &amp; operator=(const IntervalExeState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00430">IntervalExeState.h:430</a></div></div>
574
743
  <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>
575
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af1f0b9b41ccaa98aa23a7e128a253253"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">SVF::IntervalExeState::bottom</a></div><div class="ttdeci">IntervalExeState bottom() const</div><div class="ttdoc">Set all value bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00117">IntervalExeState.h:117</a></div></div>
576
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a052d677fb5ee940ed0686f3d67d10d19"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a052d677fb5ee940ed0686f3d67d10d19">SVF::IntervalExeState::cpyItvToLocal</a></div><div class="ttdeci">void cpyItvToLocal(u32_t varId)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00230">IntervalExeState.h:230</a></div></div>
577
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a637a9c0f06b57e16a7f1afdd25df897f"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f">SVF::IntervalExeState::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00446">IntervalExeState.h:446</a></div></div>
578
- <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>
579
- <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>
580
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af278d2193ba8931cce4cf5398cc33b02"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af278d2193ba8931cce4cf5398cc33b02">SVF::IntervalExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores interval value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00200">IntervalExeState.h:200</a></div></div>
581
- <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>
744
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a8722234ba6bea5223e79174ff1d095c7"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a8722234ba6bea5223e79174ff1d095c7">SVF::IntervalESBase::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const IntervalESBase &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00387">IntervalExeState.h:387</a></div></div>
745
+ <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>
746
+ <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>
747
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a052d677fb5ee940ed0686f3d67d10d19"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a052d677fb5ee940ed0686f3d67d10d19">SVF::IntervalExeState::cpyItvToLocal</a></div><div class="ttdeci">void cpyItvToLocal(u32_t varId)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00513">IntervalExeState.h:513</a></div></div>
748
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a637a9c0f06b57e16a7f1afdd25df897f"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a637a9c0f06b57e16a7f1afdd25df897f">SVF::IntervalExeState::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00632">IntervalExeState.h:632</a></div></div>
749
+ <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>
750
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a4849103f97f0c03e434882c32e8d695b"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a4849103f97f0c03e434882c32e8d695b">SVF::IntervalESBase::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00392">IntervalExeState.h:392</a></div></div>
751
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2c8cf00ffaa36fed2e634adbaff7b412"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2c8cf00ffaa36fed2e634adbaff7b412">SVF::IntervalESBase::LocToValMap</a></div><div class="ttdeci">VarToValMap LocToValMap</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00061">IntervalExeState.h:61</a></div></div>
752
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a839e8ee927c1cad86aef3059b41ba2eb"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">SVF::IntervalESBase::bottom</a></div><div class="ttdeci">IntervalESBase bottom() const</div><div class="ttdoc">Set all value bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00113">IntervalExeState.h:113</a></div></div>
753
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a080484bdcd9287e95d0ced0fa474fd05"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a080484bdcd9287e95d0ced0fa474fd05">SVF::IntervalESBase::createIntervalValue</a></div><div class="ttdeci">IntervalValue createIntervalValue(double lb, double ub, NodeID id)</div><div class="ttdoc">TODO: Create new interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00229">IntervalExeState.h:229</a></div></div>
754
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_af7451ea87d5117a90b5912a1e6f34e10"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#af7451ea87d5117a90b5912a1e6f34e10">SVF::IntervalESBase::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#l00195">IntervalExeState.h:195</a></div></div>
755
+ <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#l00417">IntervalExeState.h:417</a></div></div>
582
756
  <div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00041">AddressValue.h:41</a></div></div>
757
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a14e210bd24b2104afb36ad50a0899c09"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a14e210bd24b2104afb36ad50a0899c09">SVF::IntervalESBase::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#l00198">IntervalExeState.cpp:198</a></div></div>
758
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a2906309f1b7691be20b8d3a3968dfe91"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a2906309f1b7691be20b8d3a3968dfe91">SVF::IntervalESBase::IntervalESBase</a></div><div class="ttdeci">IntervalESBase(IntervalESBase &amp;&amp;rhs)</div><div class="ttdoc">move constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00093">IntervalExeState.h:93</a></div></div>
759
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a551d07983a89971d4e2422e6be850d4f"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a551d07983a89971d4e2422e6be850d4f">SVF::IntervalESBase::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00165">IntervalExeState.h:165</a></div></div>
760
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a6c517028bddfa9f4617950a02f347ce8"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a6c517028bddfa9f4617950a02f347ce8">SVF::IntervalESBase::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00177">IntervalExeState.h:177</a></div></div>
761
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a48247d3ce543a9773d668998f7f58ac3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a48247d3ce543a9773d668998f7f58ac3">SVF::IntervalExeState::getLocToVal</a></div><div class="ttdeci">IntervalValue &amp; getLocToVal(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00581">IntervalExeState.h:581</a></div></div>
762
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a765e98325842f6df15255af9a8036e8c"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a765e98325842f6df15255af9a8036e8c">SVF::IntervalESBase::~IntervalESBase</a></div><div class="ttdeci">virtual ~IntervalESBase()=default</div></div>
583
763
  <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>
584
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a1e8f41b502167283ccb87bd128f232bc"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a1e8f41b502167283ccb87bd128f232bc">SVF::IntervalExeState::narrowing</a></div><div class="ttdeci">IntervalExeState narrowing(const IntervalExeState &amp;other)</div><div class="ttdoc">domain narrow with other, and return the narrowed domain</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00077">IntervalExeState.cpp:77</a></div></div>
764
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a1e8f41b502167283ccb87bd128f232bc"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a1e8f41b502167283ccb87bd128f232bc">SVF::IntervalExeState::narrowing</a></div><div class="ttdeci">IntervalExeState narrowing(const IntervalExeState &amp;other)</div><div class="ttdoc">domain narrow with other, and return the narrowed domain</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00271">IntervalExeState.cpp:271</a></div></div>
585
765
  <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>
586
766
  <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>
587
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad485a35730353c0e945bc84a034d9e45"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">SVF::IntervalExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00179">IntervalExeState.h:179</a></div></div>
588
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a182ec2709e8c92b8bd29ba809bd3d1f7"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a182ec2709e8c92b8bd29ba809bd3d1f7">SVF::IntervalExeState::sliceState</a></div><div class="ttdeci">IntervalExeState sliceState(Set&lt; u32_t &gt; &amp;sl)</div><div class="ttdoc">Copy some values and return a new IntervalExeState.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00139">IntervalExeState.h:139</a></div></div>
767
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a9a167f67476d2e080cc6e31d127ee715"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a9a167f67476d2e080cc6e31d127ee715">SVF::IntervalESBase::widening</a></div><div class="ttdeci">IntervalESBase widening(const IntervalESBase &amp;other)</div><div class="ttdoc">domain widen with other, and return the widened domain</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00058">IntervalExeState.cpp:58</a></div></div>
768
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad485a35730353c0e945bc84a034d9e45"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">SVF::IntervalExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00474">IntervalExeState.h:474</a></div></div>
769
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a93c2088eacb3859d5e54899d3fa6b45f"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a93c2088eacb3859d5e54899d3fa6b45f">SVF::IntervalESBase::load</a></div><div class="ttdeci">virtual IntervalValue &amp; load(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00266">IntervalExeState.h:266</a></div></div>
589
770
  <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
590
- <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>
771
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a989bf2c55925d29790c4272aa31c3bb6"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a989bf2c55925d29790c4272aa31c3bb6">SVF::IntervalESBase::IntervalESBase</a></div><div class="ttdeci">IntervalESBase(VarToValMap &amp;_varToValMap, LocToValMap &amp;_locToValMap)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00067">IntervalExeState.h:67</a></div></div>
772
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a903797577ba99ef57879774a3849bbfe"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">SVF::IntervalESBase::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#l00189">IntervalExeState.h:189</a></div></div>
591
773
  <div class="ttc" id="aIntervalValue_8h_html"><div class="ttname"><a href="IntervalValue_8h.html">IntervalValue.h</a></div></div>
592
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad4cbc6543ffe3e663deea4736470bfc1"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad4cbc6543ffe3e663deea4736470bfc1">SVF::IntervalExeState::operator!=</a></div><div class="ttdeci">bool operator!=(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00435">IntervalExeState.h:435</a></div></div>
593
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad17ceaf8058043151ae0f23b3415458a"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">SVF::IntervalExeState::loadAddrs</a></div><div class="ttdeci">Addrs &amp; loadAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00326">IntervalExeState.h:326</a></div></div>
774
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad4cbc6543ffe3e663deea4736470bfc1"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad4cbc6543ffe3e663deea4736470bfc1">SVF::IntervalExeState::operator!=</a></div><div class="ttdeci">bool operator!=(const IntervalExeState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00621">IntervalExeState.h:621</a></div></div>
775
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad17ceaf8058043151ae0f23b3415458a"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">SVF::IntervalExeState::loadAddrs</a></div><div class="ttdeci">Addrs &amp; loadAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00564">IntervalExeState.h:564</a></div></div>
776
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a50aee49f7f34e05f7e2cb28ae55099f8"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">SVF::IntervalExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores interval value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00495">IntervalExeState.h:495</a></div></div>
594
777
  <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
595
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a7c116401ebfd4e0947f5be6a61d1edcc"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a7c116401ebfd4e0947f5be6a61d1edcc">SVF::IntervalExeState::getLocToVal</a></div><div class="ttdeci">IntervalValue &amp; getLocToVal(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00343">IntervalExeState.h:343</a></div></div>
778
+ <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>
779
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a46a305a70ec53c6bda50caafec38791a"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a46a305a70ec53c6bda50caafec38791a">SVF::IntervalESBase::getLocToVal</a></div><div class="ttdeci">virtual IntervalValue &amp; getLocToVal(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00292">IntervalExeState.h:292</a></div></div>
780
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a9133df5ab00e7c2918a8047fd0bdfb08"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a9133df5ab00e7c2918a8047fd0bdfb08">SVF::IntervalESBase::equals</a></div><div class="ttdeci">bool equals(const IntervalESBase &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00036">IntervalExeState.cpp:36</a></div></div>
781
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a33fd0e4a654dd4f5b7762b0088e11674"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">SVF::IntervalESBase::top</a></div><div class="ttdeci">IntervalESBase top() const</div><div class="ttdoc">Set all value top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00124">IntervalExeState.h:124</a></div></div>
782
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_aaafb882ca79738d39697d1461bd2032f"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#aaafb882ca79738d39697d1461bd2032f">SVF::IntervalESBase::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const IntervalESBase &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00381">IntervalExeState.h:381</a></div></div>
783
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a1a012a83e3c2808e24ba8d5da4fbd85b"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a1a012a83e3c2808e24ba8d5da4fbd85b">SVF::IntervalESBase::loadAddrs</a></div><div class="ttdeci">virtual Addrs &amp; loadAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00279">IntervalExeState.h:279</a></div></div>
784
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ab4d2297eb82611a3198ba3befeda5e54"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ab4d2297eb82611a3198ba3befeda5e54">SVF::IntervalESBase::operator=</a></div><div class="ttdeci">IntervalESBase &amp; operator=(IntervalESBase &amp;&amp;rhs)</div><div class="ttdoc">operator= move constructor</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00101">IntervalExeState.h:101</a></div></div>
596
785
  <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>
597
786
  <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>
598
787
  <div class="ttc" id="aZ3Expr_8h_html"><div class="ttname"><a href="Z3Expr_8h.html">Z3Expr.h</a></div></div>
599
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a3a8f8b09df0befa318cbcd43d191d37a"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a3a8f8b09df0befa318cbcd43d191d37a">SVF::IntervalExeState::toString</a></div><div class="ttdeci">std::string toString() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00376">IntervalExeState.h:376</a></div></div>
600
788
  <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>
601
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a1e5d399b2111d9b8ed17f790cab12d5d"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">SVF::IntervalExeState::meetWith</a></div><div class="ttdeci">void meetWith(const IntervalExeState &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#l00165">IntervalExeState.cpp:165</a></div></div>
602
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ae2b12e4add0714aa861f790864e098ff"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ae2b12e4add0714aa861f790864e098ff">SVF::IntervalExeState::VarToValMap</a></div><div class="ttdeci">Map&lt; u32_t, IntervalValue &gt; VarToValMap</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00061">IntervalExeState.h:61</a></div></div>
603
- <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>
604
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad675e973daeb7d366cf7e3cd3c0b13fb"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb">SVF::IntervalExeState::inLocalLocToAddrsTable</a></div><div class="ttdeci">bool inLocalLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00223">IntervalExeState.h:223</a></div></div>
789
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a1e5d399b2111d9b8ed17f790cab12d5d"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">SVF::IntervalExeState::meetWith</a></div><div class="ttdeci">void meetWith(const IntervalExeState &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#l00309">IntervalExeState.cpp:309</a></div></div>
790
+ <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>
791
+ <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad675e973daeb7d366cf7e3cd3c0b13fb"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad675e973daeb7d366cf7e3cd3c0b13fb">SVF::IntervalExeState::inLocalLocToAddrsTable</a></div><div class="ttdeci">bool inLocalLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00506">IntervalExeState.h:506</a></div></div>
605
792
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a9e6006e0f0a4039cf65f9e79be6eea49"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a9e6006e0f0a4039cf65f9e79be6eea49">SVF::IntervalExeState::~IntervalExeState</a></div><div class="ttdeci">virtual ~IntervalExeState()=default</div></div>
606
793
  <!-- start footer part -->
607
794
  <hr class="footer"/><address class="footer"><small>