svf-tools 1.0.811 → 1.0.813

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +159 -136
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +45 -42
  3. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +21 -21
  4. package/SVF-doxygen/html/ConsExeState_8h_source.html +384 -385
  5. package/SVF-doxygen/html/ConsG_8cpp_source.html +8 -8
  6. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/ExeState_8cpp_source.html +24 -24
  8. package/SVF-doxygen/html/ExeState_8h_source.html +227 -217
  9. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/ICFGEdge_8h_source.html +2 -2
  12. package/SVF-doxygen/html/ICFG_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +8 -8
  15. package/SVF-doxygen/html/IntervalExeState_8h_source.html +412 -408
  16. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +13 -13
  19. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +11 -11
  20. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +273 -272
  21. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +28 -28
  22. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +980 -973
  23. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +169 -169
  24. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +33 -33
  25. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +11 -11
  27. package/SVF-doxygen/html/SVFIR_8cpp_source.html +14 -14
  28. package/SVF-doxygen/html/SVFIR_8h_source.html +11 -11
  29. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +19 -19
  30. package/SVF-doxygen/html/SVFStatements_8h_source.html +829 -830
  31. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +7 -7
  32. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +2 -2
  33. package/SVF-doxygen/html/SymState_8h_source.html +1 -1
  34. package/SVF-doxygen/html/VFGNode_8h_source.html +7 -7
  35. package/SVF-doxygen/html/VFG_8cpp_source.html +15 -15
  36. package/SVF-doxygen/html/VFG_8h_source.html +10 -10
  37. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +18 -17
  38. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +206 -153
  39. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
  40. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
  41. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +3 -3
  42. package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
  43. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
  44. package/SVF-doxygen/html/classSVF_1_1ConsExeState-members.html +74 -74
  45. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +412 -394
  46. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +8 -8
  47. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +1 -1
  48. package/SVF-doxygen/html/classSVF_1_1ExeState-members.html +34 -34
  49. package/SVF-doxygen/html/classSVF_1_1ExeState.html +287 -272
  50. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +1 -1
  51. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +1 -1
  52. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  53. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +37 -37
  54. package/SVF-doxygen/html/classSVF_1_1ICFG.html +2 -2
  55. package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +78 -78
  56. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +445 -434
  57. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  58. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  59. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
  60. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +3 -3
  61. package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
  62. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +13 -13
  63. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState-members.html +28 -28
  64. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +296 -295
  65. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +15 -16
  66. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1087 -1128
  67. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +4 -4
  68. package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1 -1
  69. package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +1 -1
  70. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +7 -7
  71. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
  72. package/SVF-doxygen/html/classSVF_1_1SymState.html +2 -2
  73. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
  74. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
  75. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
  76. package/SVF-doxygen/html/classSVF_1_1VFG.html +15 -15
  77. package/SVF-doxygen/html/functions.html +6 -6
  78. package/SVF-doxygen/html/functions_a.html +13 -8
  79. package/SVF-doxygen/html/functions_b.html +3 -3
  80. package/SVF-doxygen/html/functions_e.html +2 -2
  81. package/SVF-doxygen/html/functions_func_e.html +2 -2
  82. package/SVF-doxygen/html/functions_func_g.html +44 -45
  83. package/SVF-doxygen/html/functions_func_i.html +12 -22
  84. package/SVF-doxygen/html/functions_func_l.html +6 -6
  85. package/SVF-doxygen/html/functions_func_n.html +3 -3
  86. package/SVF-doxygen/html/functions_func_p.html +1 -1
  87. package/SVF-doxygen/html/functions_func_s.html +7 -7
  88. package/SVF-doxygen/html/functions_func_w.html +3 -3
  89. package/SVF-doxygen/html/functions_g.html +42 -43
  90. package/SVF-doxygen/html/functions_i.html +30 -37
  91. package/SVF-doxygen/html/functions_l.html +8 -8
  92. package/SVF-doxygen/html/functions_n.html +7 -7
  93. package/SVF-doxygen/html/functions_o.html +20 -21
  94. package/SVF-doxygen/html/functions_p.html +12 -12
  95. package/SVF-doxygen/html/functions_r.html +3 -1
  96. package/SVF-doxygen/html/functions_s.html +18 -20
  97. package/SVF-doxygen/html/functions_t.html +10 -10
  98. package/SVF-doxygen/html/functions_type.html +5 -0
  99. package/SVF-doxygen/html/functions_type_i.html +4 -4
  100. package/SVF-doxygen/html/functions_type_v.html +3 -8
  101. package/SVF-doxygen/html/functions_v.html +10 -13
  102. package/SVF-doxygen/html/functions_vars.html +6 -6
  103. package/SVF-doxygen/html/functions_vars_g.html +2 -2
  104. package/SVF-doxygen/html/functions_vars_i.html +3 -0
  105. package/SVF-doxygen/html/functions_vars_o.html +0 -3
  106. package/SVF-doxygen/html/functions_w.html +11 -11
  107. package/SVF-doxygen/html/search/all_0.js +4 -4
  108. package/SVF-doxygen/html/search/all_1.js +210 -209
  109. package/SVF-doxygen/html/search/all_10.js +324 -324
  110. package/SVF-doxygen/html/search/all_11.js +222 -222
  111. package/SVF-doxygen/html/search/all_12.js +544 -544
  112. package/SVF-doxygen/html/search/all_13.js +191 -191
  113. package/SVF-doxygen/html/search/all_14.js +67 -67
  114. package/SVF-doxygen/html/search/all_15.js +167 -169
  115. package/SVF-doxygen/html/search/all_16.js +63 -63
  116. package/SVF-doxygen/html/search/all_17.js +1 -1
  117. package/SVF-doxygen/html/search/all_18.js +1 -1
  118. package/SVF-doxygen/html/search/all_19.js +11 -11
  119. package/SVF-doxygen/html/search/all_1a.js +172 -172
  120. package/SVF-doxygen/html/search/all_2.js +169 -169
  121. package/SVF-doxygen/html/search/all_3.js +642 -642
  122. package/SVF-doxygen/html/search/all_4.js +233 -233
  123. package/SVF-doxygen/html/search/all_5.js +119 -119
  124. package/SVF-doxygen/html/search/all_6.js +225 -225
  125. package/SVF-doxygen/html/search/all_7.js +868 -868
  126. package/SVF-doxygen/html/search/all_8.js +197 -197
  127. package/SVF-doxygen/html/search/all_9.js +606 -611
  128. package/SVF-doxygen/html/search/all_a.js +46 -46
  129. package/SVF-doxygen/html/search/all_b.js +26 -26
  130. package/SVF-doxygen/html/search/all_c.js +116 -116
  131. package/SVF-doxygen/html/search/all_d.js +196 -196
  132. package/SVF-doxygen/html/search/all_e.js +207 -207
  133. package/SVF-doxygen/html/search/all_f.js +115 -116
  134. package/SVF-doxygen/html/search/classes_0.js +26 -26
  135. package/SVF-doxygen/html/search/classes_1.js +9 -9
  136. package/SVF-doxygen/html/search/classes_10.js +73 -73
  137. package/SVF-doxygen/html/search/classes_11.js +15 -15
  138. package/SVF-doxygen/html/search/classes_12.js +2 -2
  139. package/SVF-doxygen/html/search/classes_13.js +10 -10
  140. package/SVF-doxygen/html/search/classes_14.js +14 -14
  141. package/SVF-doxygen/html/search/classes_15.js +1 -1
  142. package/SVF-doxygen/html/search/classes_2.js +80 -80
  143. package/SVF-doxygen/html/search/classes_3.js +37 -37
  144. package/SVF-doxygen/html/search/classes_4.js +9 -9
  145. package/SVF-doxygen/html/search/classes_5.js +28 -28
  146. package/SVF-doxygen/html/search/classes_6.js +104 -104
  147. package/SVF-doxygen/html/search/classes_7.js +33 -33
  148. package/SVF-doxygen/html/search/classes_8.js +56 -56
  149. package/SVF-doxygen/html/search/classes_9.js +1 -1
  150. package/SVF-doxygen/html/search/classes_a.js +12 -12
  151. package/SVF-doxygen/html/search/classes_b.js +29 -29
  152. package/SVF-doxygen/html/search/classes_c.js +6 -6
  153. package/SVF-doxygen/html/search/classes_d.js +18 -18
  154. package/SVF-doxygen/html/search/classes_e.js +36 -36
  155. package/SVF-doxygen/html/search/classes_f.js +25 -25
  156. package/SVF-doxygen/html/search/defines_0.js +3 -3
  157. package/SVF-doxygen/html/search/defines_1.js +2 -2
  158. package/SVF-doxygen/html/search/defines_2.js +30 -30
  159. package/SVF-doxygen/html/search/defines_3.js +21 -21
  160. package/SVF-doxygen/html/search/defines_4.js +2 -2
  161. package/SVF-doxygen/html/search/defines_5.js +4 -4
  162. package/SVF-doxygen/html/search/defines_6.js +2 -2
  163. package/SVF-doxygen/html/search/defines_7.js +5 -5
  164. package/SVF-doxygen/html/search/defines_8.js +11 -11
  165. package/SVF-doxygen/html/search/defines_9.js +9 -9
  166. package/SVF-doxygen/html/search/defines_a.js +2 -2
  167. package/SVF-doxygen/html/search/defines_b.js +1 -1
  168. package/SVF-doxygen/html/search/defines_c.js +3 -3
  169. package/SVF-doxygen/html/search/defines_d.js +2 -2
  170. package/SVF-doxygen/html/search/defines_e.js +7 -7
  171. package/SVF-doxygen/html/search/defines_f.js +3 -3
  172. package/SVF-doxygen/html/search/enums_0.js +3 -3
  173. package/SVF-doxygen/html/search/enums_1.js +2 -2
  174. package/SVF-doxygen/html/search/enums_10.js +1 -1
  175. package/SVF-doxygen/html/search/enums_11.js +1 -1
  176. package/SVF-doxygen/html/search/enums_2.js +8 -8
  177. package/SVF-doxygen/html/search/enums_3.js +1 -1
  178. package/SVF-doxygen/html/search/enums_4.js +3 -3
  179. package/SVF-doxygen/html/search/enums_5.js +1 -1
  180. package/SVF-doxygen/html/search/enums_6.js +2 -2
  181. package/SVF-doxygen/html/search/enums_7.js +2 -2
  182. package/SVF-doxygen/html/search/enums_8.js +4 -4
  183. package/SVF-doxygen/html/search/enums_9.js +1 -1
  184. package/SVF-doxygen/html/search/enums_a.js +1 -1
  185. package/SVF-doxygen/html/search/enums_b.js +7 -7
  186. package/SVF-doxygen/html/search/enums_c.js +1 -1
  187. package/SVF-doxygen/html/search/enums_d.js +4 -4
  188. package/SVF-doxygen/html/search/enums_e.js +2 -2
  189. package/SVF-doxygen/html/search/enums_f.js +4 -4
  190. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  191. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  192. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  193. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  194. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  195. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  196. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  197. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  198. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  199. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  200. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  201. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  202. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  203. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  204. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  205. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  206. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  207. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  208. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  209. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  210. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  211. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  212. package/SVF-doxygen/html/search/files_0.js +13 -13
  213. package/SVF-doxygen/html/search/files_1.js +7 -7
  214. package/SVF-doxygen/html/search/files_10.js +8 -8
  215. package/SVF-doxygen/html/search/files_11.js +8 -8
  216. package/SVF-doxygen/html/search/files_12.js +2 -2
  217. package/SVF-doxygen/html/search/files_2.js +55 -55
  218. package/SVF-doxygen/html/search/files_3.js +14 -14
  219. package/SVF-doxygen/html/search/files_4.js +5 -5
  220. package/SVF-doxygen/html/search/files_5.js +13 -13
  221. package/SVF-doxygen/html/search/files_6.js +9 -9
  222. package/SVF-doxygen/html/search/files_7.js +14 -14
  223. package/SVF-doxygen/html/search/files_8.js +13 -13
  224. package/SVF-doxygen/html/search/files_9.js +18 -18
  225. package/SVF-doxygen/html/search/files_a.js +3 -3
  226. package/SVF-doxygen/html/search/files_b.js +2 -2
  227. package/SVF-doxygen/html/search/files_c.js +20 -20
  228. package/SVF-doxygen/html/search/files_d.js +4 -4
  229. package/SVF-doxygen/html/search/files_e.js +62 -62
  230. package/SVF-doxygen/html/search/files_f.js +8 -8
  231. package/SVF-doxygen/html/search/functions_0.js +12 -12
  232. package/SVF-doxygen/html/search/functions_1.js +360 -360
  233. package/SVF-doxygen/html/search/functions_10.js +140 -140
  234. package/SVF-doxygen/html/search/functions_11.js +138 -138
  235. package/SVF-doxygen/html/search/functions_12.js +279 -279
  236. package/SVF-doxygen/html/search/functions_13.js +59 -59
  237. package/SVF-doxygen/html/search/functions_14.js +39 -39
  238. package/SVF-doxygen/html/search/functions_15.js +71 -71
  239. package/SVF-doxygen/html/search/functions_16.js +32 -32
  240. package/SVF-doxygen/html/search/functions_17.js +3 -3
  241. package/SVF-doxygen/html/search/functions_18.js +172 -172
  242. package/SVF-doxygen/html/search/functions_2.js +87 -87
  243. package/SVF-doxygen/html/search/functions_3.js +257 -257
  244. package/SVF-doxygen/html/search/functions_4.js +75 -75
  245. package/SVF-doxygen/html/search/functions_5.js +53 -53
  246. package/SVF-doxygen/html/search/functions_6.js +59 -59
  247. package/SVF-doxygen/html/search/functions_7.js +852 -852
  248. package/SVF-doxygen/html/search/functions_8.js +149 -149
  249. package/SVF-doxygen/html/search/functions_9.js +423 -428
  250. package/SVF-doxygen/html/search/functions_a.js +30 -30
  251. package/SVF-doxygen/html/search/functions_b.js +2 -2
  252. package/SVF-doxygen/html/search/functions_c.js +26 -26
  253. package/SVF-doxygen/html/search/functions_d.js +77 -77
  254. package/SVF-doxygen/html/search/functions_e.js +35 -35
  255. package/SVF-doxygen/html/search/functions_f.js +56 -56
  256. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  257. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  258. package/SVF-doxygen/html/search/related_0.js +2 -2
  259. package/SVF-doxygen/html/search/related_1.js +2 -2
  260. package/SVF-doxygen/html/search/related_2.js +2 -2
  261. package/SVF-doxygen/html/search/related_3.js +2 -2
  262. package/SVF-doxygen/html/search/related_4.js +2 -2
  263. package/SVF-doxygen/html/search/related_5.js +1 -1
  264. package/SVF-doxygen/html/search/related_6.js +2 -2
  265. package/SVF-doxygen/html/search/related_7.js +4 -4
  266. package/SVF-doxygen/html/search/related_8.js +2 -2
  267. package/SVF-doxygen/html/search/related_9.js +4 -4
  268. package/SVF-doxygen/html/search/related_a.js +19 -19
  269. package/SVF-doxygen/html/search/related_b.js +4 -4
  270. package/SVF-doxygen/html/search/related_c.js +1 -1
  271. package/SVF-doxygen/html/search/related_d.js +12 -12
  272. package/SVF-doxygen/html/search/related_e.js +2 -2
  273. package/SVF-doxygen/html/search/related_f.js +2 -2
  274. package/SVF-doxygen/html/search/typedefs_0.js +19 -18
  275. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  276. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  277. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  278. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  279. package/SVF-doxygen/html/search/typedefs_13.js +33 -34
  280. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  281. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  282. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  283. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  284. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  285. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  286. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  287. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  288. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  289. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  290. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  291. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  292. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  293. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  294. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  295. package/SVF-doxygen/html/search/variables_0.js +151 -151
  296. package/SVF-doxygen/html/search/variables_1.js +75 -75
  297. package/SVF-doxygen/html/search/variables_10.js +97 -97
  298. package/SVF-doxygen/html/search/variables_11.js +44 -44
  299. package/SVF-doxygen/html/search/variables_12.js +92 -92
  300. package/SVF-doxygen/html/search/variables_13.js +75 -75
  301. package/SVF-doxygen/html/search/variables_14.js +14 -14
  302. package/SVF-doxygen/html/search/variables_15.js +48 -48
  303. package/SVF-doxygen/html/search/variables_16.js +9 -9
  304. package/SVF-doxygen/html/search/variables_17.js +1 -1
  305. package/SVF-doxygen/html/search/variables_18.js +2 -2
  306. package/SVF-doxygen/html/search/variables_2.js +38 -38
  307. package/SVF-doxygen/html/search/variables_3.js +142 -142
  308. package/SVF-doxygen/html/search/variables_4.js +55 -55
  309. package/SVF-doxygen/html/search/variables_5.js +37 -37
  310. package/SVF-doxygen/html/search/variables_6.js +66 -66
  311. package/SVF-doxygen/html/search/variables_7.js +33 -33
  312. package/SVF-doxygen/html/search/variables_8.js +7 -7
  313. package/SVF-doxygen/html/search/variables_9.js +78 -77
  314. package/SVF-doxygen/html/search/variables_a.js +4 -4
  315. package/SVF-doxygen/html/search/variables_b.js +10 -10
  316. package/SVF-doxygen/html/search/variables_c.js +45 -45
  317. package/SVF-doxygen/html/search/variables_d.js +56 -56
  318. package/SVF-doxygen/html/search/variables_e.js +123 -123
  319. package/SVF-doxygen/html/search/variables_f.js +29 -30
  320. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  321. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +9 -9
  322. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html +5 -5
  323. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +5 -5
  324. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +5 -5
  325. package/SVF-doxygen/html/svf-ex_8cpp.html +17 -17
  326. package/SVF-doxygen/html/svf-ex_8cpp_source.html +17 -17
  327. package/package.json +1 -1
  328. package/svf/include/AbstractExecution/ConsExeState.h +99 -96
  329. package/svf/include/AbstractExecution/ExeState.h +66 -53
  330. package/svf/include/AbstractExecution/IntervalExeState.h +66 -61
  331. package/svf/include/AbstractExecution/SVFIR2ConsExeState.h +7 -7
  332. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +22 -19
  333. package/svf/include/MemoryModel/AccessPath.h +13 -11
  334. package/svf/include/SVFIR/SVFStatements.h +2 -3
  335. package/svf/lib/AbstractExecution/ConsExeState.cpp +13 -13
  336. package/svf/lib/AbstractExecution/ExeState.cpp +19 -19
  337. package/svf/lib/AbstractExecution/IntervalExeState.cpp +4 -4
  338. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +38 -37
  339. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +273 -287
  340. package/svf/lib/MemoryModel/AccessPath.cpp +39 -17
  341. package/svf/lib/SVFIR/SVFFileSystem.cpp +2 -2
@@ -82,8 +82,8 @@ $(function() {
82
82
  <table class="memberdecls">
83
83
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
84
84
  Public Types</h2></td></tr>
85
- <tr class="memitem:a2b6de5a37851f83ed3fa8f69145148a8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1ExeState.html#aa1355e828af78b55b5d23f2dffa330f1">ExeState::VAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a></td></tr>
86
- <tr class="separator:a2b6de5a37851f83ed3fa8f69145148a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
85
+ <tr class="memitem:a85f206bddccb2d644ef20f60ea17c9f3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">ExeState::Addrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a></td></tr>
86
+ <tr class="separator:a85f206bddccb2d644ef20f60ea17c9f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
87
87
  </table><table class="memberdecls">
88
88
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
89
89
  Public Member Functions</h2></td></tr>
@@ -97,19 +97,16 @@ Public Member Functions</h2></td></tr>
97
97
  <tr class="separator:af0b6abd2310a9bf0311760b290114341"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
98
  <tr class="memitem:a26f2ed7999321f7037be625a9ebef226"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a26f2ed7999321f7037be625a9ebef226">getRelEs</a> ()</td></tr>
99
99
  <tr class="separator:a26f2ed7999321f7037be625a9ebef226"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
- <tr class="memitem:a57cbbcc977705ba7cd660bb5b632a66c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a57cbbcc977705ba7cd660bb5b632a66c">widenVAddrs</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</td></tr>
101
- <tr class="separator:a57cbbcc977705ba7cd660bb5b632a66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
- <tr class="memitem:a584e5b2285a2980fc57cf84b06a76e0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a584e5b2285a2980fc57cf84b06a76e0c">narrowVAddrs</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</td></tr>
103
- <tr class="separator:a584e5b2285a2980fc57cf84b06a76e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
- <tr class="memitem:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pointer, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="el" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</td></tr>
105
- <tr class="memdesc:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the field address given a pointer points to a struct object and an offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">More...</a><br /></td></tr>
106
- <tr class="separator:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
- <tr class="memitem:ad49576a7192c87d41f4dc923cd3d0efe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">getByteOffsetfromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
108
- <tr class="memdesc:ad49576a7192c87d41f4dc923cd3d0efe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the byte offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">More...</a><br /></td></tr>
109
- <tr class="separator:ad49576a7192c87d41f4dc923cd3d0efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
- <tr class="memitem:a678a5278fd485eea65093add11b8a7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">getItvOfFlattenedElemIndexFromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
111
- <tr class="memdesc:a678a5278fd485eea65093add11b8a7c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the Index offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">More...</a><br /></td></tr>
112
- <tr class="separator:a678a5278fd485eea65093add11b8a7c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+ <tr class="memitem:a198fd724be35f415851a2467c3930f76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a198fd724be35f415851a2467c3930f76">widenAddrs</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</td></tr>
101
+ <tr class="separator:a198fd724be35f415851a2467c3930f76"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:a103b55536f1cec38edb2f169d3f94675"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a103b55536f1cec38edb2f169d3f94675">narrowAddrs</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</td></tr>
103
+ <tr class="separator:a103b55536f1cec38edb2f169d3f94675"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+ <tr class="memitem:af8d06156bcbb61beb305ed8096319966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pointer, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="el" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</td></tr>
105
+ <tr class="memdesc:af8d06156bcbb61beb305ed8096319966"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the field address given a pointer points to a struct object and an offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">More...</a><br /></td></tr>
106
+ <tr class="separator:af8d06156bcbb61beb305ed8096319966"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:afbb9ff1f2c47d2afda117bf63a80a1a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a> (const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="el" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</td></tr>
108
+ <tr class="memdesc:afbb9ff1f2c47d2afda117bf63a80a1a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value range of Integer <a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a> Type, e.g. unsigned i8 Type-&gt;[0, 255], signed i8 Type-&gt;[-128, 127]. <a href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">More...</a><br /></td></tr>
109
+ <tr class="separator:afbb9ff1f2c47d2afda117bf63a80a1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
110
  <tr class="memitem:a335922caf105ee72cd9d66a451ae3d4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a335922caf105ee72cd9d66a451ae3d4e">getByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
114
111
  <tr class="separator:a335922caf105ee72cd9d66a451ae3d4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
112
  <tr class="memitem:a6e4e3eeca9d25fb5eab496faeb6264c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
@@ -126,15 +123,19 @@ Public Member Functions</h2></td></tr>
126
123
  <tr class="memitem:af5d05c5316127cfe8d975a3a0a23798b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</td></tr>
127
124
  <tr class="memdesc:af5d05c5316127cfe8d975a3a0a23798b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. <a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">More...</a><br /></td></tr>
128
125
  <tr class="separator:af5d05c5316127cfe8d975a3a0a23798b"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
- <tr class="memitem:add123d3c64674d34c6c8973cb82c6270"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id)</td></tr>
130
- <tr class="separator:add123d3c64674d34c6c8973cb82c6270"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
- <tr class="memitem:a8107e336e3a84fd3b7341786db7e7a13"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
132
- <tr class="separator:a8107e336e3a84fd3b7341786db7e7a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:ab5eebce09b695a3ea1a1c6d5641296e2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
134
- <tr class="separator:ab5eebce09b695a3ea1a1c6d5641296e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
126
+ <tr class="memitem:a48fec38aad1c2a9a140ee94e9fdd7e9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id)</td></tr>
127
+ <tr class="separator:a48fec38aad1c2a9a140ee94e9fdd7e9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
+ <tr class="memitem:a8380eb5e2424c8c7bd290962f04a17ba"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
129
+ <tr class="memdesc:a8380eb5e2424c8c7bd290962f04a17ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToVal table <a href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">More...</a><br /></td></tr>
130
+ <tr class="separator:a8380eb5e2424c8c7bd290962f04a17ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
131
  <tr class="memitem:a999c358b80dd07591b0432eaa41c20c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
132
+ <tr class="memdesc:a999c358b80dd07591b0432eaa41c20c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the variable is in varToAddrs table <a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">More...</a><br /></td></tr>
136
133
  <tr class="separator:a999c358b80dd07591b0432eaa41c20c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
134
+ <tr class="memitem:a808fdc8ff7637d1c9515e71815548983"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">inLocToValTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
135
+ <tr class="memdesc:a808fdc8ff7637d1c9515e71815548983"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores a interval value <a href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">More...</a><br /></td></tr>
136
+ <tr class="separator:a808fdc8ff7637d1c9515e71815548983"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
137
  <tr class="memitem:a174523c405d7a7d7dbbcbaa43c335665"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
138
+ <tr class="memdesc:a174523c405d7a7d7dbbcbaa43c335665"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the memory address stores memory addresses <a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">More...</a><br /></td></tr>
138
139
  <tr class="separator:a174523c405d7a7d7dbbcbaa43c335665"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
140
  <tr class="memitem:af80d7665d9815a80ffdba92c3ba029d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#af80d7665d9815a80ffdba92c3ba029d1">moveToGlobal</a> ()</td></tr>
140
141
  <tr class="separator:af80d7665d9815a80ffdba92c3ba029d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -177,8 +178,8 @@ Static Public Member Functions</h2></td></tr>
177
178
  </table><table class="memberdecls">
178
179
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
179
180
  Static Public Attributes</h2></td></tr>
180
- <tr class="memitem:a75d5dfbc8252ef0994951af32aa53b74"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a75d5dfbc8252ef0994951af32aa53b74">globalNullVaddrs</a></td></tr>
181
- <tr class="separator:a75d5dfbc8252ef0994951af32aa53b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
+ <tr class="memitem:a1579525f7cf7779aba58c4bdde2be4b0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a1579525f7cf7779aba58c4bdde2be4b0">globalNulladdrs</a></td></tr>
182
+ <tr class="separator:a1579525f7cf7779aba58c4bdde2be4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
182
183
  </table><table class="memberdecls">
183
184
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
184
185
  Protected Member Functions</h2></td></tr>
@@ -216,14 +217,14 @@ Private Attributes</h2></td></tr>
216
217
  <div class="textblock">
217
218
  <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00041">41</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
218
219
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
219
- <a id="a2b6de5a37851f83ed3fa8f69145148a8"></a>
220
- <h2 class="memtitle"><span class="permalink"><a href="#a2b6de5a37851f83ed3fa8f69145148a8">&#9670;&nbsp;</a></span>VAddrs</h2>
220
+ <a id="a85f206bddccb2d644ef20f60ea17c9f3"></a>
221
+ <h2 class="memtitle"><span class="permalink"><a href="#a85f206bddccb2d644ef20f60ea17c9f3">&#9670;&nbsp;</a></span>Addrs</h2>
221
222
 
222
223
  <div class="memitem">
223
224
  <div class="memproto">
224
225
  <table class="memname">
225
226
  <tr>
226
- <td class="memname">typedef <a class="el" href="classSVF_1_1ExeState.html#aa1355e828af78b55b5d23f2dffa330f1">ExeState::VAddrs</a> <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVF::SVFIR2ItvExeState::VAddrs</a></td>
227
+ <td class="memname">typedef <a class="el" href="classSVF_1_1ExeState.html#a78038dd4884a501cfc94f073021eac96">ExeState::Addrs</a> <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">SVF::SVFIR2ItvExeState::Addrs</a></td>
227
228
  </tr>
228
229
  </table>
229
230
  </div><div class="memdoc">
@@ -279,182 +280,153 @@ Private Attributes</h2></td></tr>
279
280
  </table>
280
281
  </div><div class="memdoc">
281
282
 
282
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00039">39</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
283
- <div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div>
284
- <div class="line"><a name="l00041"></a><span class="lineno"> 41</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>: es.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)</div>
285
- <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div>
286
- <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
287
- <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div>
288
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</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>: es.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>)</div>
289
- <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {</div>
290
- <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
291
- <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
292
- <div class="line"><a name="l00049"></a><span class="lineno"> 49</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>: es.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>)</div>
293
- <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div>
294
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
295
- <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
296
- <div class="line"><a name="l00053"></a><span class="lineno"> 53</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>: es.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>)</div>
297
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
298
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
299
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
300
- <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
283
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00105">105</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
284
+ <div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div>
285
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</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>: es.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)</div>
286
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
287
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
288
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
289
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</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>: es.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>)</div>
290
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
291
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
292
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
293
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</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>: es.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
294
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
295
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
296
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
297
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</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>: es.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
298
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
299
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
300
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
301
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div>
301
302
  </div><!-- fragment -->
302
303
  </div>
303
304
  </div>
304
- <a id="a335922caf105ee72cd9d66a451ae3d4e"></a>
305
- <h2 class="memtitle"><span class="permalink"><a href="#a335922caf105ee72cd9d66a451ae3d4e">&#9670;&nbsp;</a></span>getByteOffset()</h2>
305
+ <a id="a48fec38aad1c2a9a140ee94e9fdd7e9b"></a>
306
+ <h2 class="memtitle"><span class="permalink"><a href="#a48fec38aad1c2a9a140ee94e9fdd7e9b">&#9670;&nbsp;</a></span>getAddrs()</h2>
306
307
 
307
308
  <div class="memitem">
308
309
  <div class="memproto">
310
+ <table class="mlabels">
311
+ <tr>
312
+ <td class="mlabels-left">
309
313
  <table class="memname">
310
314
  <tr>
311
- <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getByteOffset </td>
315
+ <td class="memname"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a>&amp; SVF::SVFIR2ItvExeState::getAddrs </td>
312
316
  <td>(</td>
313
- <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
314
- <td class="paramname"><em>gep</em></td><td>)</td>
317
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
318
+ <td class="paramname"><em>id</em></td><td>)</td>
315
319
  <td></td>
316
320
  </tr>
317
321
  </table>
322
+ </td>
323
+ <td class="mlabels-right">
324
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
325
+ </tr>
326
+ </table>
318
327
  </div><div class="memdoc">
319
- <p>Return the byte offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = [i32*10], x, and x is [0,3] std::pair&lt;s32_t, s32_t&gt; byteOffset = getByteOffset(gep); byteOffset should be [0, 12] since i32 is 4 bytes.</p>
320
- <p>This function, getByteOffset, calculates the byte offset for a given <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
321
- <dl class="params"><dt>Parameters</dt><dd>
322
- <table class="params">
323
- <tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
324
- </table>
325
- </dd>
326
- </dl>
327
- <dl class="section return"><dt>Returns</dt><dd>The calculated byte offset as an <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>.</dd></dl>
328
- <p>If this getelementptr has constant byte offset, directly call accumulateConstantByteOffset(), otherwise, if one or more index in getelementptr is variable. e.g. var2 = getelementptr inbounds struct.OuterStruct, struct.OuterStruct* var0, i64 0, i32 2, i32 0, i64 var1 struct.OuterStruct = type { i32, i32, struct.InnerStruct } struct.InnerStruct = type { [2 x i32] } there are 4 GepTypePairs (&lt;0, struct.OuterStruct*&gt;, &lt;2, struct.OuterStruct&gt;, &lt;0, struct.InnerStruct&gt;, &lt;var1, [2xi32]&gt;) this function calls <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe" title="Return the byte offset from one gep param offset.">getByteOffsetfromGepTypePair()</a> to process each pair, and finally accumulate them. e.g. for 0th pair &lt;0, struct.OuterStruct*&gt;, it is 0* ptrSize(struct.OuterStruct*) = 0 bytes for 1st pair &lt;2, struct.OuterStruct&gt;, it is 2nd field in struct.OuterStruct = 8 bytes for 2nd pair &lt;0, struct.InnerStruct&gt;, it is 0th field in struct.InnerStruct = 0 bytes </p>
329
- <h2><a class="anchor" id="autotoc_md7"></a>
330
- for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4bytes * %var1</h2>
331
- <p>Therefore the final byteoffset is [8+4*var1.lb(), 8+4*var1.ub()] </p>
332
328
 
333
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00354">354</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
334
- <div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;{</div>
335
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="comment">// Check if the GepStmt has a constant offset.</span></div>
336
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
337
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div>
338
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="comment">// If it has a constant offset, return it as an IntervalValue.</span></div>
339
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">accumulateConstantByteOffset</a>());</div>
340
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div>
341
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; </div>
342
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval &#39;res&#39; to 0.</span></div>
343
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; </div>
344
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="comment">// Loop through the offsetVarAndGepTypePairVec in reverse order.</span></div>
345
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
346
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
347
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="comment">// Calculate the byte offset for the current IdxVarAndGepTypePair.</span></div>
348
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">getByteOffsetfromGepTypePair</a>(</div>
349
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
350
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; </div>
351
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">// Accumulate the byte offset in the result &#39;res&#39;.</span></div>
352
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; res = res + offsetIdx;</div>
353
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
354
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; </div>
355
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte offset as an IntervalValue.</span></div>
356
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div>
329
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00106">106</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
330
+ <div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div>
331
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(<span class="keywordtype">id</span>))</div>
332
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(<span class="keywordtype">id</span>);</div>
333
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">else</span></div>
334
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a1579525f7cf7779aba58c4bdde2be4b0">globalNulladdrs</a>;</div>
335
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
357
336
  </div><!-- fragment -->
358
337
  </div>
359
338
  </div>
360
- <a id="ad49576a7192c87d41f4dc923cd3d0efe"></a>
361
- <h2 class="memtitle"><span class="permalink"><a href="#ad49576a7192c87d41f4dc923cd3d0efe">&#9670;&nbsp;</a></span>getByteOffsetfromGepTypePair()</h2>
339
+ <a id="a335922caf105ee72cd9d66a451ae3d4e"></a>
340
+ <h2 class="memtitle"><span class="permalink"><a href="#a335922caf105ee72cd9d66a451ae3d4e">&#9670;&nbsp;</a></span>getByteOffset()</h2>
362
341
 
363
342
  <div class="memitem">
364
343
  <div class="memproto">
365
344
  <table class="memname">
366
345
  <tr>
367
- <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getByteOffsetfromGepTypePair </td>
346
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getByteOffset </td>
368
347
  <td>(</td>
369
- <td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> &amp;&#160;</td>
370
- <td class="paramname"><em>gep_pair</em>, </td>
371
- </tr>
372
- <tr>
373
- <td class="paramkey"></td>
374
- <td></td>
375
348
  <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
376
- <td class="paramname"><em>gep</em>&#160;</td>
377
- </tr>
378
- <tr>
349
+ <td class="paramname"><em>gep</em></td><td>)</td>
379
350
  <td></td>
380
- <td>)</td>
381
- <td></td><td></td>
382
351
  </tr>
383
352
  </table>
384
353
  </div><div class="memdoc">
385
-
386
- <p>Return the byte offset from one gep param offset. </p>
387
- <p>This function, getByteOffsetfromGepTypePair, calculates the byte interval value for a given IdxVarAndGepTypePair and <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
354
+ <p>Return the byte offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = [i32*10], x, and x is [0,3] std::pair&lt;s32_t, s32_t&gt; byteOffset = getByteOffset(gep); byteOffset should be [0, 12] since i32 is 4 bytes.</p>
355
+ <p>This function, getByteOffset, calculates the byte offset for a given <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
388
356
  <dl class="params"><dt>Parameters</dt><dd>
389
357
  <table class="params">
390
- <tr><td class="paramname">gep_pair</td><td>The IdxVarAndGepTypePair containing a value and its type. </td></tr>
391
358
  <tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
392
359
  </table>
393
360
  </dd>
394
361
  </dl>
395
- <dl class="section return"><dt>Returns</dt><dd>The calculated byte interval value.</dd></dl>
396
- <p>e.g. var2 = getelementptr inbounds struct.OuterStruct, struct.OuterStruct* var0, i64 0, i32 2, i32 0, i64 var1 struct.OuterStruct = type { i32, i32, struct.InnerStruct } struct.InnerStruct = type { [2 x i32] } there are 4 GepTypePairs (&lt;0, struct.OuterStruct*&gt;, &lt;2, struct.OuterStruct&gt;, &lt;0, struct.InnerStruct&gt;, &lt;var1, [2xi32]&gt;) this function can process one GepTypePairs and return byte offset interval value. e.g. for 0th pair &lt;0, struct.OuterStruct*&gt;, it is 0* ptrSize(struct.OuterStruct*) = 0 bytes for 1st pair &lt;2, struct.OuterStruct&gt;, it is 2nd field in struct.OuterStruct = 8 bytes for 2nd pair &lt;0, struct.InnerStruct&gt;, it is 0th field in struct.InnerStruct = 0 bytes </p>
362
+ <dl class="section return"><dt>Returns</dt><dd>The calculated byte offset as an <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>.</dd></dl>
363
+ <p>It is byte offset rather than flatten index. e.g. var2 = getelementptr inbounds struct.OuterStruct, struct.OuterStruct* var0, i64 0, i32 2, i32 0, i64 var1 struct.OuterStruct = type { i32, i32, struct.InnerStruct } struct.InnerStruct = type { [2 x i32] } there are 4 GepTypePairs (&lt;0, struct.OuterStruct*&gt;, &lt;2, struct.OuterStruct&gt;, &lt;0, struct.InnerStruct&gt;, &lt;var1, [2xi32]&gt;) this function process arr/ptr subtype by calculating elemByteSize * indexOperand and process struct subtype by calculating the byte offset from beginning to the field of struct e.g. for 0th pair &lt;0, struct.OuterStruct*&gt;, it is 0* ptrSize(struct.OuterStruct*) = 0 bytes for 1st pair &lt;2, struct.OuterStruct&gt;, it is 2nd field in struct.OuterStruct = 8 bytes for 2nd pair &lt;0, struct.InnerStruct&gt;, it is 0th field in struct.InnerStruct = 0 bytes </p>
397
364
  <h2><a class="anchor" id="autotoc_md6"></a>
398
365
  for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4bytes * %var1</h2>
399
- <p>for 0th/1st/2nd pair, the <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> has constant value for 3rd pair, the <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> is variable, which needs ES table to calculate the interval. </p>
400
-
401
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00201">201</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
402
- <div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
403
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval &#39;res&#39; to 0.</span></div>
404
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
405
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
406
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
407
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
408
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="comment">// Check the type of &#39;gep_pair.second&#39; and process it accordingly.</span></div>
409
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrType = SVFUtil::dyn_cast&lt;SVFArrayType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
410
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = arrType-&gt;getTypeOfElement();</div>
411
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* ptrType = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
412
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = ptrType-&gt;getPtrElementType();</div>
413
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structType = SVFUtil::dyn_cast&lt;SVFStructType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
414
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div>
415
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// If it&#39;s a struct type with a constant index, calculate byte sizes.</span></div>
416
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value))</div>
417
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
418
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> structField = 0; structField &lt; (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)op-&gt;getSExtValue(); ++structField)</div>
419
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div>
420
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenIdx = structType-&gt;getTypeInfo()-&gt;getFlattenedFieldIdxVec()[structField];</div>
421
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(structType-&gt;getTypeInfo()-&gt;getOriginalElemType(flattenIdx)-&gt;getByteSize());</div>
422
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
423
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> res;</div>
424
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
425
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">else</span></div>
426
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;struct type can only pair with constant idx&quot;</span>);</div>
427
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div>
428
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">else</span></div>
429
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;gep type pair only support arr/ptr/struct&quot;</span>);</div>
430
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
431
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> typeSz = <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getByteSize();</div>
432
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
433
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// Calculate byte size based on the type and value, considering MaxFieldLimit option.</span></div>
434
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value))</div>
435
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
436
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / typeSz &gt;= op-&gt;getSExtValue() ? op-&gt;getSExtValue() * typeSz: <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
437
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, lb);</div>
438
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
439
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span></div>
440
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div>
441
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
442
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx] * <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getByteSize());</div>
443
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
444
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div>
445
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
446
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div>
447
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">else</span></div>
448
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
449
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ub = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / typeSz &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() ? typeSz * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
450
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; 0) ? 0 :</div>
451
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / typeSz &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>()) ? (typeSz * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>()) : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
452
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
453
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
454
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div>
455
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; </div>
456
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte interval value.</span></div>
457
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;}</div>
366
+ <p>Therefore the final byteoffset is [8+4*var1.lb(), 8+4*var1.ub()] </p>
367
+
368
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00267">267</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
369
+ <div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div>
370
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval &#39;res&#39; to 0.</span></div>
371
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">// Loop through the offsetVarAndGepTypePairVec in reverse order.</span></div>
372
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
373
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div>
374
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* idxOperandVar =</div>
375
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first;</div>
376
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* idxOperandType =</div>
377
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].second;</div>
378
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="comment">// calculating Array/Ptr by elemByteSize * indexOperand</span></div>
379
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFArrayType&gt;(idxOperandType) || SVFUtil::isa&lt;SVFPointerType&gt;(idxOperandType))</div>
380
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div>
381
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> elemByteSize = 1;</div>
382
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrOperandType = SVFUtil::dyn_cast&lt;SVFArrayType&gt;(idxOperandType))</div>
383
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
384
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; elemByteSize = arrOperandType-&gt;getTypeOfElement()-&gt;getByteSize();</div>
385
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div>
386
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* ptrOperandType = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(idxOperandType))</div>
387
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div>
388
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; elemByteSize = ptrOperandType-&gt;getPtrElementType()-&gt;getByteSize();</div>
389
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div>
390
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span></div>
391
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;idxOperandType must be ArrType or PtrType&quot;</span>);</div>
392
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(idxOperandVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()))</div>
393
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
394
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemByteSize &gt;= op-&gt;getSExtValue() ?op-&gt;getSExtValue() * elemByteSize</div>
395
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
396
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, lb);</div>
397
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
398
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span></div>
399
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
400
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(idxOperandVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>());</div>
401
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
402
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
403
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
404
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
405
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
406
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">else</span></div>
407
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div>
408
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() /</div>
409
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; elemByteSize &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() ? elemByteSize * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
410
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; 0) ? 0 :</div>
411
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() /</div>
412
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; elemByteSize &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>()) ? elemByteSize * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
413
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
414
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div>
415
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
416
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
417
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">// Process struct subtype by calculating the byte offset from beginning to the field of struct</span></div>
418
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structOperandType = SVFUtil::dyn_cast&lt;SVFStructType&gt;(idxOperandType))</div>
419
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
420
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a1f279344b4061838d7b3498631bc907c">getStructFieldOffset</a>(</div>
421
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; idxOperandVar, structOperandType));</div>
422
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
423
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">else</span></div>
424
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div>
425
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;gep type pair only support arr/ptr/struct&quot;</span>);</div>
426
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
427
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
428
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte offset as an IntervalValue.</span></div>
429
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div>
458
430
  </div><!-- fragment -->
459
431
  </div>
460
432
  </div>
@@ -481,10 +453,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
481
453
  </table>
482
454
  </div><div class="memdoc">
483
455
 
484
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00093">93</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
485
- <div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
486
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>();</div>
487
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
456
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00090">90</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
457
+ <div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
458
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>();</div>
459
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
488
460
  </div><!-- fragment -->
489
461
  </div>
490
462
  </div>
@@ -518,14 +490,14 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
518
490
  </div><!-- fragment -->
519
491
  </div>
520
492
  </div>
521
- <a id="a67532bdc1e4a49cf4d9da4b99b38e69a"></a>
522
- <h2 class="memtitle"><span class="permalink"><a href="#a67532bdc1e4a49cf4d9da4b99b38e69a">&#9670;&nbsp;</a></span>getGepObjAddress()</h2>
493
+ <a id="af8d06156bcbb61beb305ed8096319966"></a>
494
+ <h2 class="memtitle"><span class="permalink"><a href="#af8d06156bcbb61beb305ed8096319966">&#9670;&nbsp;</a></span>getGepObjAddress()</h2>
523
495
 
524
496
  <div class="memitem">
525
497
  <div class="memproto">
526
498
  <table class="memname">
527
499
  <tr>
528
- <td class="memname"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVFIR2ItvExeState::VAddrs</a> SVFIR2ItvExeState::getGepObjAddress </td>
500
+ <td class="memname"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">SVFIR2ItvExeState::Addrs</a> SVFIR2ItvExeState::getGepObjAddress </td>
529
501
  <td>(</td>
530
502
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
531
503
  <td class="paramname"><em>pointer</em>, </td>
@@ -546,26 +518,26 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
546
518
 
547
519
  <p>Return the field address given a pointer points to a struct object and an offset. </p>
548
520
 
549
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00158">158</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
550
- <div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;{</div>
551
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(pointer).empty());</div>
552
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(pointer);</div>
553
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> ret;</div>
554
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
555
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
556
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; int64_t baseObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
557
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">if</span> (baseObj == 0)</div>
558
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
559
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(0));</div>
560
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">continue</span>;</div>
561
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
562
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; assert(SVFUtil::isa&lt;ObjVar&gt;(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(baseObj)) &amp;&amp; <span class="stringliteral">&quot;Fail to get the base object address!&quot;</span>);</div>
563
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">getGepObjVar</a>(baseObj, <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
564
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(gepObj);</div>
565
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(gepObj));</div>
566
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
567
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> ret;</div>
568
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;}</div>
521
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00224">224</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
522
+ <div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;{</div>
523
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(pointer).empty());</div>
524
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(pointer);</div>
525
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> ret;</div>
526
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
527
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
528
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; int64_t baseObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
529
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (baseObj == 0)</div>
530
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
531
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(0));</div>
532
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">continue</span>;</div>
533
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
534
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; assert(SVFUtil::isa&lt;ObjVar&gt;(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(baseObj)) &amp;&amp; <span class="stringliteral">&quot;Fail to get the base object address!&quot;</span>);</div>
535
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">getGepObjVar</a>(baseObj, <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
536
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(gepObj);</div>
537
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(gepObj));</div>
538
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div>
539
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> ret;</div>
540
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
569
541
  </div><!-- fragment -->
570
542
  </div>
571
543
  </div>
@@ -595,10 +567,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
595
567
 
596
568
  <p>Return the internal index if idx is an address otherwise return the value of idx. </p>
597
569
 
598
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00162">162</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
599
- <div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
600
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">ExeState::getInternalID</a>(idx);</div>
601
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
570
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00165">165</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
571
+ <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div>
572
+ <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#ab72f3bc855feeda75e11768ab03ad84e">ExeState::getInternalID</a>(idx);</div>
573
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
602
574
  </div><!-- fragment -->
603
575
  </div>
604
576
  </div>
@@ -627,140 +599,151 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
627
599
  </dd>
628
600
  </dl>
629
601
  <dl class="section return"><dt>Returns</dt><dd>A pair of APOffset values representing the offset range. </dd></dl>
630
- <p>Default value of Min/MaxFieldLimit is 0/512</p>
631
- <p>For instant constant index, e.g., gep arr, 1</p>
632
-
633
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00387">387</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
634
- <div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;{</div>
635
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
636
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
637
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
638
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
639
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
640
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; </div>
641
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>().empty() || gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
642
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
643
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> offsetIdx = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>();</div>
644
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(offsetIdx, offsetIdx);</div>
645
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</div>
646
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">else</span></div>
647
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; {</div>
648
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
649
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div>
650
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">getItvOfFlattenedElemIndexFromGepTypePair</a>(</div>
651
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
652
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; totalOffsetLb += offsetIdx.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
653
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; totalOffsetUb += offsetIdx.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
654
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div>
655
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; totalOffsetLb = (totalOffsetLb &lt; minFieldLimit) ? minFieldLimit :</div>
656
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; (totalOffsetLb &gt; maxFieldLimit) ? maxFieldLimit : totalOffsetLb;</div>
657
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div>
658
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; </div>
659
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(totalOffsetLb, totalOffsetUb); <span class="comment">// Return a pair of APOffset values representing the offset range.</span></div>
660
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;}</div>
602
+
603
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00338">338</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
604
+ <div class="fragment"><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;{</div>
605
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0);</div>
606
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
607
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
608
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html#a4f482ca73cc6e7b8d946651e2b2ea2ae">AccessPath::IdxOperandPair</a> IdxVarAndType =</div>
609
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i];</div>
610
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value =</div>
611
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first-&gt;getValue();</div>
612
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = IdxVarAndType.second;</div>
613
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">// idxLb/Ub is the flattened offset generated by the current OffsetVarAndGepTypePair</span></div>
614
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idxLb;</div>
615
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idxUb;</div>
616
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="comment">// get lb and ub of the index value</span></div>
617
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* constInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value))</div>
618
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; idxLb = idxUb = constInt-&gt;getSExtValue();</div>
619
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">else</span></div>
620
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div>
621
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxItv = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value)];</div>
622
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
623
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; idxLb = idxUb = 0;</div>
624
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">else</span></div>
625
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div>
626
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; idxLb = idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
627
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; idxUb = idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
628
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div>
629
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div>
630
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="comment">// for pointer type, flattened index = elemNum * idx</span></div>
631
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
632
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
633
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> elemNum = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
634
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; idxLb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemNum &lt; idxLb? <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(): idxLb * elemNum;</div>
635
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; idxUb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemNum &lt; idxUb? <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(): idxUb * elemNum;</div>
636
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
637
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">// for array or struct, get flattened index from SymbolTable Info</span></div>
638
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">else</span></div>
639
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div>
640
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a429c3000ee2ac45119b8c241aa06762c">Options::ModelArrays</a>())</div>
641
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div>
642
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
643
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; -&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
644
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
645
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">if</span> (so.empty() || idxUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() || idxLb &lt; 0)</div>
646
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div>
647
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; idxLb = idxUb = 0;</div>
648
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
649
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">else</span></div>
650
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
651
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; idxLb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
652
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, idxLb);</div>
653
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; idxUb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
654
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, idxUb);</div>
655
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
656
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
657
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">else</span></div>
658
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; idxLb = idxUb = 0;</div>
659
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div>
660
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(idxLb, idxUb);</div>
661
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
662
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; res.meet_with(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()));</div>
663
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> res;</div>
664
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;}</div>
661
665
  </div><!-- fragment -->
662
666
  </div>
663
667
  </div>
664
- <a id="a678a5278fd485eea65093add11b8a7c3"></a>
665
- <h2 class="memtitle"><span class="permalink"><a href="#a678a5278fd485eea65093add11b8a7c3">&#9670;&nbsp;</a></span>getItvOfFlattenedElemIndexFromGepTypePair()</h2>
668
+ <a id="afbb9ff1f2c47d2afda117bf63a80a1a7"></a>
669
+ <h2 class="memtitle"><span class="permalink"><a href="#afbb9ff1f2c47d2afda117bf63a80a1a7">&#9670;&nbsp;</a></span>getRangeLimitFromType()</h2>
666
670
 
667
671
  <div class="memitem">
668
672
  <div class="memproto">
669
673
  <table class="memname">
670
674
  <tr>
671
- <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getItvOfFlattenedElemIndexFromGepTypePair </td>
675
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getRangeLimitFromType </td>
672
676
  <td>(</td>
673
- <td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> &amp;&#160;</td>
674
- <td class="paramname"><em>gep_pair</em>, </td>
675
- </tr>
676
- <tr>
677
- <td class="paramkey"></td>
677
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *&#160;</td>
678
+ <td class="paramname"><em>type</em></td><td>)</td>
678
679
  <td></td>
679
- <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
680
- <td class="paramname"><em>gep</em>&#160;</td>
681
- </tr>
682
- <tr>
683
- <td></td>
684
- <td>)</td>
685
- <td></td><td></td>
686
680
  </tr>
687
681
  </table>
688
682
  </div><div class="memdoc">
689
683
 
690
- <p>Return the Index offset from one gep param offset. </p>
691
- <p>This function, getItvOfFlattenedElemIndexFromGepTypePair, calculates the index range as a pair of APOffset values for a given IdxVarAndGepTypePair and <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
684
+ <p>Return the value range of Integer <a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a> Type, e.g. unsigned i8 Type-&gt;[0, 255], signed i8 Type-&gt;[-128, 127]. </p>
685
+ <p>This function, getRangeLimitFromType, calculates the lower and upper bounds of a numeric range for a given <a class="el" href="classSVF_1_1SVFType.html">SVFType</a>. It is used to determine the possible value range of integer types. If the type is an <a class="el" href="classSVF_1_1SVFIntegerType.html">SVFIntegerType</a>, it calculates the bounds based on the size and signedness of the type. The calculated bounds are returned as an <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> representing the lower (lb) and upper (ub) limits of the range.</p>
692
686
  <dl class="params"><dt>Parameters</dt><dd>
693
687
  <table class="params">
694
- <tr><td class="paramname">gep_pair</td><td>The IdxVarAndGepTypePair containing a value and its type. </td></tr>
695
- <tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
688
+ <tr><td class="paramname">type</td><td>The <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> for which to calculate the value range.</td></tr>
696
689
  </table>
697
690
  </dd>
698
691
  </dl>
699
- <dl class="section return"><dt>Returns</dt><dd>A pair of APOffset values representing the index range. </dd></dl>
700
- <p>If the offset is constant but stored in a variable</p>
701
-
702
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00268">268</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
703
- <div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;{</div>
704
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
705
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
706
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
707
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
708
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
709
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
710
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
711
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value))</div>
712
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; offsetLb = offsetUb = op-&gt;getSExtValue();</div>
713
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">else</span></div>
714
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div>
715
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
716
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
717
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
718
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
719
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="comment">// If idxVal is a concrete value</span></div>
720
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
721
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
722
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> constIdxVal = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">getNumeral</a>();</div>
723
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; constIdxVal = (constIdxVal &lt; minFieldLimit) ? minFieldLimit :</div>
724
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; (constIdxVal &gt; maxFieldLimit) ? maxFieldLimit : constIdxVal;</div>
725
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; offsetLb = offsetUb = constIdxVal;</div>
726
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div>
727
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">else</span></div>
728
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
729
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; offsetLb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; minFieldLimit) ? minFieldLimit :</div>
730
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt; maxFieldLimit) ? maxFieldLimit : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
731
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; offsetUb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; minFieldLimit) ? minFieldLimit :</div>
732
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt; maxFieldLimit) ? maxFieldLimit : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
733
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
734
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
735
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; </div>
736
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
737
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
738
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
739
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div>
740
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
741
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
742
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div>
743
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">else</span></div>
744
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
745
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
746
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; -&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
747
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
748
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">if</span> (so.empty() || offsetUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() ||</div>
749
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; offsetLb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
750
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
751
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; offsetLb = 0;</div>
752
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; offsetUb = maxFieldLimit;</div>
753
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
754
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">else</span></div>
755
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; {</div>
756
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; offsetLb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
757
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; offsetUb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
758
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
759
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
760
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
761
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; </div>
762
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(offsetLb, offsetUb); <span class="comment">// Return a pair of APOffset values representing the index range.</span></div>
763
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;}</div>
692
+ <dl class="section return"><dt>Returns</dt><dd>An <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> representing the lower and upper bounds of the range. </dd></dl>
693
+
694
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00050">50</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
695
+ <div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
696
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIntegerType.html">SVFIntegerType</a>* intType = SVFUtil::dyn_cast&lt;SVFIntegerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
697
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div>
698
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bits = <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getByteSize() * 8;</div>
699
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = 0;</div>
700
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = 0;</div>
701
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">if</span> (bits &gt;= 32)</div>
702
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
703
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (intType-&gt;isSigned())</div>
704
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
705
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;s32_t&gt;::max());</div>
706
+ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;s32_t&gt;::min());</div>
707
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
708
+ <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">else</span></div>
709
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div>
710
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;u32_t&gt;::max());</div>
711
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;u32_t&gt;::min());</div>
712
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
713
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
714
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits == 16)</div>
715
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
716
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (intType-&gt;isSigned())</div>
717
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
718
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;int16_t&gt;::max());</div>
719
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;int16_t&gt;::min());</div>
720
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
721
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">else</span></div>
722
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
723
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;uint16_t&gt;::max());</div>
724
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;uint16_t&gt;::min());</div>
725
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
726
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
727
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits == 8)</div>
728
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
729
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (intType-&gt;isSigned())</div>
730
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
731
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;int8_t&gt;::max());</div>
732
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;int8_t&gt;::min());</div>
733
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
734
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">else</span></div>
735
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
736
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;u_int8_t&gt;::max());</div>
737
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;u_int8_t&gt;::min());</div>
738
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
739
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
740
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
741
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
742
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">else</span></div>
743
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
744
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;cannot support&quot;</span>);</div>
745
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
746
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
764
747
  </div><!-- fragment -->
765
748
  </div>
766
749
  </div>
@@ -794,40 +777,6 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
794
777
  </div><!-- fragment -->
795
778
  </div>
796
779
  </div>
797
- <a id="add123d3c64674d34c6c8973cb82c6270"></a>
798
- <h2 class="memtitle"><span class="permalink"><a href="#add123d3c64674d34c6c8973cb82c6270">&#9670;&nbsp;</a></span>getVAddrs()</h2>
799
-
800
- <div class="memitem">
801
- <div class="memproto">
802
- <table class="mlabels">
803
- <tr>
804
- <td class="mlabels-left">
805
- <table class="memname">
806
- <tr>
807
- <td class="memname"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a>&amp; SVF::SVFIR2ItvExeState::getVAddrs </td>
808
- <td>(</td>
809
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
810
- <td class="paramname"><em>id</em></td><td>)</td>
811
- <td></td>
812
- </tr>
813
- </table>
814
- </td>
815
- <td class="mlabels-right">
816
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
817
- </tr>
818
- </table>
819
- </div><div class="memdoc">
820
-
821
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00109">109</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
822
- <div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
823
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(<span class="keywordtype">id</span>))</div>
824
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(<span class="keywordtype">id</span>);</div>
825
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">else</span></div>
826
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a75d5dfbc8252ef0994951af32aa53b74">globalNullVaddrs</a>;</div>
827
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
828
- </div><!-- fragment -->
829
- </div>
830
- </div>
831
780
  <a id="a0c4be1dd8e7a2877c0cc76c404f6945a"></a>
832
781
  <h2 class="memtitle"><span class="permalink"><a href="#a0c4be1dd8e7a2877c0cc76c404f6945a">&#9670;&nbsp;</a></span>getVirtualMemAddress()</h2>
833
782
 
@@ -854,10 +803,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
854
803
 
855
804
  <p>The physical address starts with 0x7f...... + idx. </p>
856
805
 
857
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00168">168</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
858
- <div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
859
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">ExeState::getVirtualMemAddress</a>(idx);</div>
860
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
806
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00171">171</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
807
+ <div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
808
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">ExeState::getVirtualMemAddress</a>(idx);</div>
809
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
861
810
  </div><!-- fragment -->
862
811
  </div>
863
812
  </div>
@@ -897,36 +846,36 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
897
846
  </dl>
898
847
  <p>constant data</p>
899
848
 
900
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00459">459</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
901
- <div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;{</div>
902
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; </div>
903
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
904
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; {</div>
905
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div>
906
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
907
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; {</div>
908
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
909
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; {</div>
910
- <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
911
- <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
912
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; }</div>
913
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast&lt;SVFConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
914
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP-&gt;getFPValue(), consFP-&gt;getFPValue());</div>
915
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFConstantNullPtr&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
916
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
917
- <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFGlobalValue&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
918
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
919
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
920
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
921
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">else</span></div>
922
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
923
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div>
924
- <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">else</span></div>
925
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
926
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
927
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">else</span></div>
928
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
929
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;}</div>
849
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00442">442</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
850
+ <div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;{</div>
851
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; </div>
852
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
853
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; {</div>
854
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div>
855
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
856
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; {</div>
857
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
858
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
859
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
860
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
861
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
862
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast&lt;SVFConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
863
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP-&gt;getFPValue(), consFP-&gt;getFPValue());</div>
864
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFConstantNullPtr&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
865
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
866
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFGlobalValue&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
867
+ <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
868
+ <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
869
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
870
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">else</span></div>
871
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
872
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
873
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">else</span></div>
874
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
875
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; }</div>
876
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">else</span></div>
877
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
878
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;}</div>
930
879
  </div><!-- fragment -->
931
880
  </div>
932
881
  </div>
@@ -948,28 +897,28 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
948
897
 
949
898
  <p>Init <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. </p>
950
899
 
951
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00491">491</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
952
- <div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;{</div>
953
- <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
954
- <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
955
- <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div>
956
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
957
- <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast&lt;ObjVar&gt;(svfVar))</div>
958
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div>
959
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
960
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span>;</div>
961
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; }</div>
962
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div>
963
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div>
964
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
965
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span>;</div>
966
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
967
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">else</span></div>
968
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div>
969
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
970
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">return</span>;</div>
971
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div>
972
- <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;}</div>
900
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00474">474</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
901
+ <div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;{</div>
902
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
903
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
904
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div>
905
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
906
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast&lt;ObjVar&gt;(svfVar))</div>
907
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div>
908
+ <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
909
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span>;</div>
910
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div>
911
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div>
912
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; {</div>
913
+ <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
914
+ <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">return</span>;</div>
915
+ <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }</div>
916
+ <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">else</span></div>
917
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div>
918
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
919
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span>;</div>
920
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
921
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;}</div>
973
922
  </div><!-- fragment -->
974
923
  </div>
975
924
  </div>
@@ -1008,36 +957,36 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1008
957
  </dd>
1009
958
  </dl>
1010
959
 
1011
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00423">423</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1012
- <div class="fragment"><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;{</div>
1013
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; </div>
1014
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
1015
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
960
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00406">406</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
961
+ <div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;{</div>
962
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
963
+ <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
964
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
965
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div>
966
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
967
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
968
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
969
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
970
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
971
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
972
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">// continue with null expression</span></div>
973
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
974
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">else</span></div>
975
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div>
976
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; </div>
977
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
978
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
979
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
980
+ <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div>
981
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">else</span></div>
1016
982
  <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; {</div>
1017
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
1018
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
1019
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
1020
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
1021
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
1022
- <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
1023
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="comment">// continue with null expression</span></div>
1024
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1025
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">else</span></div>
1026
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; {</div>
1027
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; </div>
1028
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1029
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
1030
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
1031
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div>
1032
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">else</span></div>
1033
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; {</div>
1034
- <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
1035
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1036
- <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">else</span></div>
1037
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1038
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; assert(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div>
1039
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div>
1040
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;}</div>
983
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
984
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
985
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">else</span></div>
986
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
987
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; assert(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div>
988
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
989
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;}</div>
1041
990
  </div><!-- fragment -->
1042
991
  </div>
1043
992
  </div>
@@ -1065,15 +1014,17 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1065
1014
  </table>
1066
1015
  </div><div class="memdoc">
1067
1016
 
1068
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00132">132</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1069
- <div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div>
1070
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1071
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
1017
+ <p>whether the memory address stores memory addresses </p>
1018
+
1019
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00135">135</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1020
+ <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
1021
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1022
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
1072
1023
  </div><!-- fragment -->
1073
1024
  </div>
1074
1025
  </div>
1075
- <a id="ab5eebce09b695a3ea1a1c6d5641296e2"></a>
1076
- <h2 class="memtitle"><span class="permalink"><a href="#ab5eebce09b695a3ea1a1c6d5641296e2">&#9670;&nbsp;</a></span>inLocToIValTable()</h2>
1026
+ <a id="a808fdc8ff7637d1c9515e71815548983"></a>
1027
+ <h2 class="memtitle"><span class="permalink"><a href="#a808fdc8ff7637d1c9515e71815548983">&#9670;&nbsp;</a></span>inLocToValTable()</h2>
1077
1028
 
1078
1029
  <div class="memitem">
1079
1030
  <div class="memproto">
@@ -1082,7 +1033,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1082
1033
  <td class="mlabels-left">
1083
1034
  <table class="memname">
1084
1035
  <tr>
1085
- <td class="memname">bool SVF::SVFIR2ItvExeState::inLocToIValTable </td>
1036
+ <td class="memname">bool SVF::SVFIR2ItvExeState::inLocToValTable </td>
1086
1037
  <td>(</td>
1087
1038
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1088
1039
  <td class="paramname"><em>id</em></td><td>)</td>
@@ -1096,10 +1047,12 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1096
1047
  </table>
1097
1048
  </div><div class="memdoc">
1098
1049
 
1099
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00122">122</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1100
- <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div>
1101
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aeac953e77360627da7426b2619d509cc">inLocToIValTable</a>(<span class="keywordtype">id</span>);</div>
1102
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
1050
+ <p>whether the memory address stores a interval value </p>
1051
+
1052
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00129">129</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1053
+ <div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
1054
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#af278d2193ba8931cce4cf5398cc33b02">inLocToValTable</a>(<span class="keywordtype">id</span>);</div>
1055
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
1103
1056
  </div><!-- fragment -->
1104
1057
  </div>
1105
1058
  </div>
@@ -1127,15 +1080,17 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1127
1080
  </table>
1128
1081
  </div><div class="memdoc">
1129
1082
 
1130
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00127">127</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1131
- <div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
1132
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1133
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
1083
+ <p>whether the variable is in varToAddrs table </p>
1084
+
1085
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00122">122</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1086
+ <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div>
1087
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1088
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
1134
1089
  </div><!-- fragment -->
1135
1090
  </div>
1136
1091
  </div>
1137
- <a id="a8107e336e3a84fd3b7341786db7e7a13"></a>
1138
- <h2 class="memtitle"><span class="permalink"><a href="#a8107e336e3a84fd3b7341786db7e7a13">&#9670;&nbsp;</a></span>inVarToIValTable()</h2>
1092
+ <a id="a8380eb5e2424c8c7bd290962f04a17ba"></a>
1093
+ <h2 class="memtitle"><span class="permalink"><a href="#a8380eb5e2424c8c7bd290962f04a17ba">&#9670;&nbsp;</a></span>inVarToValTable()</h2>
1139
1094
 
1140
1095
  <div class="memitem">
1141
1096
  <div class="memproto">
@@ -1144,7 +1099,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1144
1099
  <td class="mlabels-left">
1145
1100
  <table class="memname">
1146
1101
  <tr>
1147
- <td class="memname">bool SVF::SVFIR2ItvExeState::inVarToIValTable </td>
1102
+ <td class="memname">bool SVF::SVFIR2ItvExeState::inVarToValTable </td>
1148
1103
  <td>(</td>
1149
1104
  <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
1150
1105
  <td class="paramname"><em>id</em></td><td>)</td>
@@ -1158,10 +1113,12 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1158
1113
  </table>
1159
1114
  </div><div class="memdoc">
1160
1115
 
1161
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00117">117</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1162
- <div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
1163
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a884199a26d43d09bc7e33369fceb8274">inVarToIValTable</a>(<span class="keywordtype">id</span>);</div>
1164
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
1116
+ <p>whether the variable is in varToVal table </p>
1117
+
1118
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00116">116</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1119
+ <div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
1120
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aba57b0f3c813c47c1b69915f145efbd6">inVarToValTable</a>(<span class="keywordtype">id</span>);</div>
1121
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
1165
1122
  </div><!-- fragment -->
1166
1123
  </div>
1167
1124
  </div>
@@ -1191,10 +1148,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1191
1148
 
1192
1149
  <p>Check bit value of val start with 0x7F000000, filter by 0xFF000000. </p>
1193
1150
 
1194
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00174">174</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1195
- <div class="fragment"><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
1196
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">ExeState::isVirtualMemAddress</a>(val);</div>
1197
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
1151
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00177">177</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1152
+ <div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
1153
+ <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#abfaad70395d9f4416f297887c84f7df4">ExeState::isVirtualMemAddress</a>(val);</div>
1154
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
1198
1155
  </div><!-- fragment -->
1199
1156
  </div>
1200
1157
  </div>
@@ -1213,43 +1170,43 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1213
1170
  </table>
1214
1171
  </div><div class="memdoc">
1215
1172
 
1216
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00059">59</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1217
- <div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
1218
- <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)</div>
1219
- <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div>
1220
- <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.insert(it);</div>
1221
- <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div>
1222
- <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>)</div>
1223
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
1224
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.insert(it);</div>
1225
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
1226
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_varToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>)</div>
1227
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div>
1228
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>.insert(_varToVAddr);</div>
1229
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
1230
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_locToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>)</div>
1231
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
1232
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.insert(_locToVAddr);</div>
1233
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
1234
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
1235
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.clear();</div>
1236
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.erase(<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;getBlkPtr());</div>
1237
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">getBlkPtr</a>()] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1238
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.clear();</div>
1239
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>.clear();</div>
1240
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.clear();</div>
1241
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div>
1173
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00125">125</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1174
+ <div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div>
1175
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>)</div>
1176
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
1177
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.insert(it);</div>
1178
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
1179
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>)</div>
1180
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
1181
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.insert(it);</div>
1182
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
1183
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_varToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
1184
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
1185
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.insert(_varToVAddr);</div>
1186
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
1187
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_locToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
1188
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
1189
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.insert(_locToVAddr);</div>
1190
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
1191
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
1192
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.clear();</div>
1193
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.erase(<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;getBlkPtr());</div>
1194
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">getBlkPtr</a>()] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1195
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">_locToItvVal</a>.clear();</div>
1196
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.clear();</div>
1197
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.clear();</div>
1198
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
1242
1199
  </div><!-- fragment -->
1243
1200
  </div>
1244
1201
  </div>
1245
- <a id="a584e5b2285a2980fc57cf84b06a76e0c"></a>
1246
- <h2 class="memtitle"><span class="permalink"><a href="#a584e5b2285a2980fc57cf84b06a76e0c">&#9670;&nbsp;</a></span>narrowVAddrs()</h2>
1202
+ <a id="a103b55536f1cec38edb2f169d3f94675"></a>
1203
+ <h2 class="memtitle"><span class="permalink"><a href="#a103b55536f1cec38edb2f169d3f94675">&#9670;&nbsp;</a></span>narrowAddrs()</h2>
1247
1204
 
1248
1205
  <div class="memitem">
1249
1206
  <div class="memproto">
1250
1207
  <table class="memname">
1251
1208
  <tr>
1252
- <td class="memname">void SVFIR2ItvExeState::narrowVAddrs </td>
1209
+ <td class="memname">void SVFIR2ItvExeState::narrowAddrs </td>
1253
1210
  <td>(</td>
1254
1211
  <td class="paramtype"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&#160;</td>
1255
1212
  <td class="paramname"><em>lhs</em>, </td>
@@ -1268,39 +1225,39 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1268
1225
  </table>
1269
1226
  </div><div class="memdoc">
1270
1227
 
1271
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00124">124</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1272
- <div class="fragment"><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;{</div>
1273
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>)</div>
1274
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
1275
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>.find(rhsItem.first);</div>
1276
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>.end())</div>
1277
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
1278
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1279
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
1280
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1281
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
1282
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1283
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">break</span>;</div>
1284
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
1285
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
1286
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
1287
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
1288
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>)</div>
1289
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
1290
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.find(rhsItem.first);</div>
1291
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.end())</div>
1292
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
1293
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1294
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
1295
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1296
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div>
1297
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1298
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">break</span>;</div>
1299
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
1300
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
1301
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
1302
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
1303
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}</div>
1228
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00190">190</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1229
+ <div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;{</div>
1230
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
1231
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
1232
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(rhsItem.first);</div>
1233
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
1234
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
1235
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1236
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div>
1237
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1238
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
1239
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1240
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">break</span>;</div>
1241
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
1242
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
1243
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
1244
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div>
1245
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
1246
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
1247
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(rhsItem.first);</div>
1248
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1249
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div>
1250
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1251
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div>
1252
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1253
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div>
1254
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1255
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">break</span>;</div>
1256
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div>
1257
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
1258
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
1259
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
1260
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;}</div>
1304
1261
  </div><!-- fragment -->
1305
1262
  </div>
1306
1263
  </div>
@@ -1382,23 +1339,30 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1382
1339
  </table>
1383
1340
  </div><div class="memdoc">
1384
1341
 
1385
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00515">515</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1386
- <div class="fragment"><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div>
1387
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1388
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1389
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div>
1390
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
1391
- <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div>
1392
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1393
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div>
1394
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
1395
- <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1396
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div>
1397
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">else</span></div>
1398
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; {</div>
1399
- <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1400
- <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; }</div>
1401
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;}</div>
1342
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00498">498</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1343
+ <div class="fragment"><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;{</div>
1344
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1345
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1346
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div>
1347
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="comment">// if addr RHS is integerType(i8 i32 etc), value should be limited.</span></div>
1348
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">if</span> (addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>()-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a4bc7962d519c1c0380b5a6a144c91c51">getKind</a>() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a>)</div>
1349
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div>
1350
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()].meet_with(</div>
1351
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>()-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>()));</div>
1352
+ <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div>
1353
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
1354
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; </div>
1355
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div>
1356
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1357
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div>
1358
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(</div>
1359
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1360
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div>
1361
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">else</span></div>
1362
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; {</div>
1363
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1364
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; }</div>
1365
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;}</div>
1402
1366
  </div><!-- fragment -->
1403
1367
  </div>
1404
1368
  </div>
@@ -1418,67 +1382,67 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1418
1382
  </table>
1419
1383
  </div><div class="memdoc">
1420
1384
 
1421
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00534">534</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1422
- <div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{</div>
1423
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1424
- <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1425
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1426
- <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1427
- <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1428
- <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1429
- <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; {</div>
1430
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1431
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1432
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1433
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div>
1434
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1435
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1436
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; resVal = (lhs + rhs);</div>
1437
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">break</span>;</div>
1438
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1439
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1440
- <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; resVal = (lhs - rhs);</div>
1441
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">break</span>;</div>
1442
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1443
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1444
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; resVal = (lhs * rhs);</div>
1385
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00524">524</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1386
+ <div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;{</div>
1387
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1388
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1389
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1390
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1391
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1392
+ <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1))</div>
1393
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div>
1394
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1395
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1396
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1397
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; {</div>
1398
+ <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1399
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1400
+ <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; resVal = (lhs + rhs);</div>
1401
+ <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">break</span>;</div>
1402
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1403
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1404
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; resVal = (lhs - rhs);</div>
1405
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">break</span>;</div>
1406
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1407
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1408
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; resVal = (lhs * rhs);</div>
1409
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">break</span>;</div>
1410
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1411
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1412
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1413
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; resVal = (lhs / rhs);</div>
1414
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">break</span>;</div>
1415
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1416
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1417
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1418
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; resVal = (lhs % rhs);</div>
1445
1419
  <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">break</span>;</div>
1446
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1447
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1448
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1449
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; resVal = (lhs / rhs);</div>
1450
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">break</span>;</div>
1451
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1452
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1453
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1454
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; resVal = (lhs % rhs);</div>
1455
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">break</span>;</div>
1456
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1457
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; resVal = (lhs ^ rhs);</div>
1458
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">break</span>;</div>
1459
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1460
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; resVal = (lhs &amp; rhs);</div>
1461
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">break</span>;</div>
1462
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1463
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; resVal = (lhs | rhs);</div>
1464
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">break</span>;</div>
1465
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1466
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1467
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">break</span>;</div>
1468
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1469
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1470
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">break</span>;</div>
1471
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1472
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1473
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">break</span>;</div>
1474
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">default</span>:</div>
1475
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; {</div>
1476
- <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1477
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div>
1478
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div>
1479
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1480
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div>
1481
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;}</div>
1420
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1421
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; resVal = (lhs ^ rhs);</div>
1422
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">break</span>;</div>
1423
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1424
+ <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; resVal = (lhs &amp; rhs);</div>
1425
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">break</span>;</div>
1426
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1427
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; resVal = (lhs | rhs);</div>
1428
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">break</span>;</div>
1429
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1430
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1431
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">break</span>;</div>
1432
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1433
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1434
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">break</span>;</div>
1435
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1436
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1437
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">break</span>;</div>
1438
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">default</span>:</div>
1439
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div>
1440
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1441
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; }</div>
1442
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; }</div>
1443
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1444
+ <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; }</div>
1445
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;}</div>
1482
1446
  </div><!-- fragment -->
1483
1447
  </div>
1484
1448
  </div>
@@ -1574,20 +1538,20 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1574
1538
  </table>
1575
1539
  </div><div class="memdoc">
1576
1540
 
1577
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00973">973</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1578
- <div class="fragment"><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;{</div>
1579
- <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1580
- <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1581
- <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1582
- <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; {</div>
1583
- <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1584
- <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; }</div>
1585
- <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1586
- <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; {</div>
1587
- <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1588
- <div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1589
- <div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; }</div>
1590
- <div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;}</div>
1541
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00959">959</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1542
+ <div class="fragment"><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;{</div>
1543
+ <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1544
+ <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1545
+ <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
1546
+ <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; {</div>
1547
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1548
+ <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; }</div>
1549
+ <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1550
+ <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; {</div>
1551
+ <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1552
+ <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1553
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div>
1554
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;}</div>
1591
1555
  </div><!-- fragment -->
1592
1556
  </div>
1593
1557
  </div>
@@ -1640,189 +1604,189 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1640
1604
  </table>
1641
1605
  </div><div class="memdoc">
1642
1606
 
1643
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00596">596</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1644
- <div class="fragment"><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;{</div>
1645
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1646
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1647
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1648
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1649
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; {</div>
1650
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1651
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1652
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1653
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1654
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div>
1655
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1656
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1657
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1658
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; resVal = (lhs == rhs);</div>
1659
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">break</span>;</div>
1660
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1661
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1662
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1663
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; resVal = (lhs != rhs);</div>
1664
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">break</span>;</div>
1665
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1666
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1667
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1668
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1669
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; resVal = (lhs &gt; rhs);</div>
1670
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">break</span>;</div>
1671
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1672
- <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1673
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1674
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1675
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; resVal = (lhs &gt;= rhs);</div>
1676
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">break</span>;</div>
1677
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1678
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1679
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1680
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1681
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; resVal = (lhs &lt; rhs);</div>
1682
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">break</span>;</div>
1683
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1684
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1685
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1686
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1687
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; resVal = (lhs &lt;= rhs);</div>
1688
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">break</span>;</div>
1689
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1690
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1691
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">break</span>;</div>
1692
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1693
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1694
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">break</span>;</div>
1695
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">default</span>:</div>
1696
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div>
1697
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1698
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; }</div>
1699
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; }</div>
1700
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1701
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; }</div>
1702
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
1703
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div>
1704
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1705
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op1);</div>
1706
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1707
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1708
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1709
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div>
1710
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1711
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1712
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1713
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; {</div>
1714
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1715
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div>
1716
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1717
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div>
1718
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">else</span></div>
1719
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; {</div>
1720
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1721
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div>
1722
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1723
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div>
1724
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">else</span></div>
1725
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; {</div>
1726
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1727
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div>
1607
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00586">586</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1608
+ <div class="fragment"><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;{</div>
1609
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1610
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1611
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1612
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1))</div>
1613
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; {</div>
1614
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1615
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1616
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1617
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1618
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div>
1619
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1620
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1621
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1622
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; resVal = (lhs == rhs);</div>
1623
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">break</span>;</div>
1624
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1625
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1626
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1627
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; resVal = (lhs != rhs);</div>
1628
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">break</span>;</div>
1629
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1630
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1631
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1632
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1633
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; resVal = (lhs &gt; rhs);</div>
1634
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">break</span>;</div>
1635
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1636
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1637
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1638
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1639
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; resVal = (lhs &gt;= rhs);</div>
1640
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordflow">break</span>;</div>
1641
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1642
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1643
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1644
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1645
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; resVal = (lhs &lt; rhs);</div>
1646
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">break</span>;</div>
1647
+ <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1648
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1649
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1650
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1651
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; resVal = (lhs &lt;= rhs);</div>
1652
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">break</span>;</div>
1653
+ <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1654
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1655
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">break</span>;</div>
1656
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1657
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1658
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">break</span>;</div>
1659
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">default</span>:</div>
1660
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; {</div>
1661
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1662
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div>
1663
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; }</div>
1664
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1665
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
1666
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
1667
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
1668
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1669
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(op1);</div>
1670
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1671
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1672
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1673
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div>
1674
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1675
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1676
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1677
+ <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div>
1678
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1679
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; {</div>
1680
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1681
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div>
1682
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">else</span></div>
1683
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div>
1684
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1685
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; {</div>
1686
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1687
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; }</div>
1688
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">else</span></div>
1689
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div>
1690
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1691
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div>
1692
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div>
1693
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">break</span>;</div>
1694
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; }</div>
1695
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1696
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1697
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1698
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; {</div>
1699
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1700
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div>
1701
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1728
1702
  <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div>
1729
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">break</span>;</div>
1730
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; }</div>
1731
- <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1732
- <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1733
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1734
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; {</div>
1735
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1736
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; {</div>
1737
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1738
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; }</div>
1739
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">else</span></div>
1740
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; {</div>
1741
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1742
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div>
1743
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1744
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div>
1745
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">else</span></div>
1746
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div>
1747
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1748
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; }</div>
1749
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; }</div>
1750
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">break</span>;</div>
1751
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; }</div>
1752
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1753
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1754
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1755
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1756
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div>
1757
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1758
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; {</div>
1759
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1760
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; }</div>
1761
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">else</span></div>
1762
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; {</div>
1763
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1764
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div>
1765
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">break</span>;</div>
1766
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; }</div>
1767
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1768
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1769
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1770
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1771
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; {</div>
1772
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1773
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div>
1774
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1775
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div>
1776
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">else</span></div>
1777
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div>
1778
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1779
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; }</div>
1780
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">break</span>;</div>
1781
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div>
1782
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1783
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1784
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1785
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1786
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; {</div>
1787
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1788
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; {</div>
1789
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1790
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; }</div>
1791
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">else</span></div>
1792
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; {</div>
1793
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1794
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; }</div>
1795
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">break</span>;</div>
1796
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; }</div>
1797
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1798
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1799
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1800
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1801
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; {</div>
1802
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1803
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; {</div>
1804
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1805
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; }</div>
1806
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">else</span></div>
1807
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; {</div>
1808
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1809
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; }</div>
1810
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">break</span>;</div>
1703
+ <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">else</span></div>
1704
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div>
1705
+ <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1706
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; {</div>
1707
+ <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1708
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; }</div>
1709
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">else</span></div>
1710
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; {</div>
1711
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1712
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; }</div>
1713
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div>
1714
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">break</span>;</div>
1715
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; }</div>
1716
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1717
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1718
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1719
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1720
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div>
1721
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1722
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div>
1723
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1724
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div>
1725
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span></div>
1726
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
1727
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1728
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; }</div>
1729
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">break</span>;</div>
1730
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; }</div>
1731
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1732
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1733
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1734
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1735
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div>
1736
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1737
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div>
1738
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1739
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; }</div>
1740
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">else</span></div>
1741
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; {</div>
1742
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1743
+ <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
1744
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">break</span>;</div>
1745
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div>
1746
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1747
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1748
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1749
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1750
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</div>
1751
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1752
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div>
1753
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1754
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div>
1755
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">else</span></div>
1756
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {</div>
1757
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1758
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div>
1759
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">break</span>;</div>
1760
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; }</div>
1761
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1762
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1763
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1764
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1765
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; {</div>
1766
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1767
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div>
1768
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1769
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; }</div>
1770
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">else</span></div>
1771
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; {</div>
1772
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1773
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; }</div>
1774
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">break</span>;</div>
1775
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
1776
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1777
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1778
+ <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">break</span>;</div>
1779
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1780
+ <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1781
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">break</span>;</div>
1782
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">default</span>:</div>
1783
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; {</div>
1784
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1811
1785
  <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; }</div>
1812
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1813
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1814
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">break</span>;</div>
1815
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1816
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1817
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">break</span>;</div>
1818
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">default</span>:</div>
1819
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div>
1820
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1821
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div>
1822
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; }</div>
1823
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1824
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; }</div>
1825
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;}</div>
1786
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div>
1787
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1788
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; }</div>
1789
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;}</div>
1826
1790
  </div><!-- fragment -->
1827
1791
  </div>
1828
1792
  </div>
@@ -1919,27 +1883,35 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1919
1883
  </table>
1920
1884
  </div><div class="memdoc">
1921
1885
 
1922
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00855">855</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1923
- <div class="fragment"><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;{</div>
1924
- <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1925
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1926
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1927
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; {</div>
1928
- <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1929
- <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div>
1930
- <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">else</span></div>
1931
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; {</div>
1932
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1933
- <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; {</div>
1934
- <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1935
- <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; }</div>
1936
- <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1937
- <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; {</div>
1938
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1939
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1940
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; }</div>
1941
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; }</div>
1942
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;}</div>
1886
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00841">841</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1887
+ <div class="fragment"><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;{</div>
1888
+ <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1889
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1890
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1891
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div>
1892
+ <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1893
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; }</div>
1894
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">else</span></div>
1895
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div>
1896
+ <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
1897
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; {</div>
1898
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1899
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="comment">// if copy LHS is integerType(i8 i32 etc), value should be limited.</span></div>
1900
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="comment">// this branch can handle bitcast from higher bits integer to</span></div>
1901
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="comment">// lower bits integer. e.g. bitcast i32 to i8</span></div>
1902
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVar()-&gt;getType()-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a>)</div>
1903
+ <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; {</div>
1904
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs].meet_with(</div>
1905
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVar()-&gt;getType()));</div>
1906
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; }</div>
1907
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div>
1908
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1909
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; {</div>
1910
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1911
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1912
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; }</div>
1913
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; }</div>
1914
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;}</div>
1943
1915
  </div><!-- fragment -->
1944
1916
  </div>
1945
1917
  </div>
@@ -1992,31 +1964,31 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1992
1964
  </table>
1993
1965
  </div><div class="memdoc">
1994
1966
 
1995
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00877">877</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1996
- <div class="fragment"><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;{</div>
1997
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1998
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1999
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
2000
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2001
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2002
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
2003
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a>(gep);</div>
2004
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
2005
- <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keywordflow">return</span>;</div>
2006
- <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">else</span></div>
2007
- <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; {</div>
2008
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> gepAddrs;</div>
2009
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> lb = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
2010
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
2011
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
2012
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
2013
- <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = lb; i &lt;= ub; i++)</div>
2014
- <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(rhs, i));</div>
2015
- <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
2016
- <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
2017
- <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">return</span>;</div>
2018
- <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; }</div>
2019
- <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;}</div>
1967
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00871">871</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1968
+ <div class="fragment"><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;{</div>
1969
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1970
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1971
+ <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
1972
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1973
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1974
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
1975
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a>(gep);</div>
1976
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
1977
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">return</span>;</div>
1978
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keywordflow">else</span></div>
1979
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; {</div>
1980
+ <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> gepAddrs;</div>
1981
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> lb = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
1982
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
1983
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
1984
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
1985
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = lb; i &lt;= ub; i++)</div>
1986
+ <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(rhs, i));</div>
1987
+ <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
1988
+ <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = gepAddrs;</div>
1989
+ <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keywordflow">return</span>;</div>
1990
+ <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; }</div>
1991
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;}</div>
2020
1992
  </div><!-- fragment -->
2021
1993
  </div>
2022
1994
  </div>
@@ -2036,51 +2008,47 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2036
2008
  </table>
2037
2009
  </div><div class="memdoc">
2038
2010
 
2039
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00780">780</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2040
- <div class="fragment"><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;{</div>
2041
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2042
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2043
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2044
- <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; {</div>
2045
- <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2046
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; assert(!addrs.empty());</div>
2047
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2048
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2049
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordtype">bool</span> isItv = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2050
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2051
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
2052
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2053
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2054
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; {</div>
2055
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
2056
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; isItv = <span class="keyword">true</span>;</div>
2057
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; }</div>
2058
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2059
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; {</div>
2060
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr));</div>
2061
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2062
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; }</div>
2063
- <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">else</span></div>
2064
- <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; {</div>
2065
- <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="comment">// rhs not in table</span></div>
2066
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; }</div>
2011
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00770">770</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2012
+ <div class="fragment"><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;{</div>
2013
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2014
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2015
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2016
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; {</div>
2017
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2018
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; assert(!addrs.empty());</div>
2019
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2020
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2021
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordtype">bool</span> isVal = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2022
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2023
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; {</div>
2024
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2025
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">inLocToValTable</a>(objId))</div>
2026
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; {</div>
2027
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
2028
+ <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; isVal = <span class="keyword">true</span>;</div>
2029
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; }</div>
2030
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2031
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; {</div>
2032
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">loadAddrs</a>(addr));</div>
2033
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2034
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; }</div>
2035
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div>
2036
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">if</span> (isVal)</div>
2037
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; {</div>
2038
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="comment">// lhs var is an integer</span></div>
2039
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = rhsItv;</div>
2040
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div>
2041
+ <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2042
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; {</div>
2043
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="comment">// lhs var is an address</span></div>
2044
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = rhsAddr;</div>
2045
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div>
2046
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">else</span></div>
2047
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div>
2048
+ <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="comment">// rhs not initialized, e.g., absence of a store before load</span></div>
2067
2049
  <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; }</div>
2068
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">if</span> (isItv)</div>
2069
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; {</div>
2070
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="comment">// lhs var is an integer</span></div>
2071
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = rhsItv;</div>
2072
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; }</div>
2073
- <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2074
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; {</div>
2075
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="comment">// lhs var is an address</span></div>
2076
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = rhsAddr;</div>
2077
- <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div>
2078
- <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">else</span></div>
2079
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
2080
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="comment">// rhs not in table</span></div>
2081
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div>
2082
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; }</div>
2083
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;}</div>
2050
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; }</div>
2051
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;}</div>
2084
2052
  </div><!-- fragment -->
2085
2053
  </div>
2086
2054
  </div>
@@ -2133,46 +2101,38 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2133
2101
  </table>
2134
2102
  </div><div class="memdoc">
2135
2103
 
2136
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00931">931</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2137
- <div class="fragment"><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;{</div>
2138
- <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2139
- <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2140
- <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2141
- <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordtype">bool</span> isItv = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2142
- <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2143
- <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; {</div>
2144
- <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
2145
- <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(curId))</div>
2146
- <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; {</div>
2147
- <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId]);</div>
2148
- <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; isItv = <span class="keyword">true</span>;</div>
2104
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00925">925</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2105
+ <div class="fragment"><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;{</div>
2106
+ <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2107
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2108
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2109
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordtype">bool</span> isVal = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2110
+ <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2111
+ <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; {</div>
2112
+ <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
2113
+ <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(curId))</div>
2114
+ <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; {</div>
2115
+ <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId]);</div>
2116
+ <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; isVal = <span class="keyword">true</span>;</div>
2117
+ <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; }</div>
2118
+ <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
2119
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div>
2120
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(curId).empty());</div>
2121
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(curId));</div>
2122
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2149
2123
  <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; }</div>
2150
- <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
2151
- <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; {</div>
2152
- <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId).empty());</div>
2153
- <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId));</div>
2154
- <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2155
- <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; }</div>
2156
- <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">else</span></div>
2157
- <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; {</div>
2158
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="comment">// rhs not in the table</span></div>
2159
- <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; }</div>
2124
+ <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div>
2125
+ <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">if</span> (isVal)</div>
2126
+ <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; {</div>
2127
+ <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="comment">// res var is an integer</span></div>
2128
+ <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = rhsItv;</div>
2129
+ <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; }</div>
2130
+ <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2131
+ <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; {</div>
2132
+ <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="comment">// res var is an address</span></div>
2133
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(res) = rhsAddr;</div>
2160
2134
  <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; }</div>
2161
- <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">if</span> (isItv)</div>
2162
- <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; {</div>
2163
- <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="comment">// res var is an integer</span></div>
2164
- <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = rhsItv;</div>
2165
- <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; }</div>
2166
- <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2167
- <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div>
2168
- <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="comment">// res var is an address</span></div>
2169
- <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = rhsAddr;</div>
2170
- <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div>
2171
- <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="keywordflow">else</span></div>
2172
- <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; {</div>
2173
- <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="comment">// rhs not in table</span></div>
2174
- <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; }</div>
2175
- <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;}</div>
2135
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;}</div>
2176
2136
  </div><!-- fragment -->
2177
2137
  </div>
2178
2138
  </div>
@@ -2261,20 +2221,20 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2261
2221
  </table>
2262
2222
  </div><div class="memdoc">
2263
2223
 
2264
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00988">988</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2265
- <div class="fragment"><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;{</div>
2266
- <div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2267
- <div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2268
- <div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2269
- <div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; {</div>
2270
- <div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2271
- <div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; }</div>
2272
- <div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2273
- <div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; {</div>
2274
- <div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2275
- <div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2276
- <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; }</div>
2277
- <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;}</div>
2224
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00974">974</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2225
+ <div class="fragment"><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;{</div>
2226
+ <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2227
+ <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2228
+ <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2229
+ <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; {</div>
2230
+ <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2231
+ <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; }</div>
2232
+ <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2233
+ <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; {</div>
2234
+ <div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2235
+ <div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2236
+ <div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; }</div>
2237
+ <div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;}</div>
2278
2238
  </div><!-- fragment -->
2279
2239
  </div>
2280
2240
  </div>
@@ -2327,33 +2287,33 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2327
2287
  </table>
2328
2288
  </div><div class="memdoc">
2329
2289
 
2330
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00903">903</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2331
- <div class="fragment"><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;{</div>
2332
- <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2333
- <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2334
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2335
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2336
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2337
- <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div>
2338
- <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2339
- <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; {</div>
2340
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
2341
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; }</div>
2342
- <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">else</span></div>
2343
- <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; {</div>
2344
- <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
2345
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; }</div>
2346
- <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; }</div>
2347
- <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2348
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; {</div>
2349
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2350
- <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; {</div>
2351
- <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval).empty());</div>
2352
- <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval).empty());</div>
2353
- <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval);</div>
2354
- <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div>
2355
- <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
2356
- <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;}</div>
2290
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00897">897</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2291
+ <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div>
2292
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2293
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2294
+ <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2295
+ <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2296
+ <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(cond))</div>
2297
+ <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div>
2298
+ <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2299
+ <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div>
2300
+ <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
2301
+ <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; }</div>
2302
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">else</span></div>
2303
+ <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div>
2304
+ <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
2305
+ <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; }</div>
2306
+ <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div>
2307
+ <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(cond))</div>
2308
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; {</div>
2309
+ <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2310
+ <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; {</div>
2311
+ <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(fval).empty());</div>
2312
+ <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(tval).empty());</div>
2313
+ <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(tval);</div>
2314
+ <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; }</div>
2315
+ <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div>
2316
+ <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;}</div>
2357
2317
  </div><!-- fragment -->
2358
2318
  </div>
2359
2319
  </div>
@@ -2415,34 +2375,34 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2415
2375
  </table>
2416
2376
  </div><div class="memdoc">
2417
2377
 
2418
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00826">826</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2419
- <div class="fragment"><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;{</div>
2420
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2421
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2422
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2423
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; {</div>
2424
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2425
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; {</div>
2426
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2427
- <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2428
- <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2429
- <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; {</div>
2430
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2431
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; }</div>
2432
- <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; }</div>
2433
- <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2434
- <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; {</div>
2435
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2436
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2437
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2438
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div>
2439
- <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2440
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">storeVAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs));</div>
2441
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; }</div>
2442
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; </div>
2443
- <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; }</div>
2444
- <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; }</div>
2445
- <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;}</div>
2378
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00812">812</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2379
+ <div class="fragment"><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;{</div>
2380
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2381
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2382
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2383
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div>
2384
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2385
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; {</div>
2386
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs).empty());</div>
2387
+ <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs);</div>
2388
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2389
+ <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div>
2390
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2391
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div>
2392
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
2393
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2394
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div>
2395
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs).empty());</div>
2396
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs);</div>
2397
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2398
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; {</div>
2399
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2400
+ <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a99f4437a7e350fec131d48f52082d672">storeAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs));</div>
2401
+ <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div>
2402
+ <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; </div>
2403
+ <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; }</div>
2404
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; }</div>
2405
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;}</div>
2446
2406
  </div><!-- fragment -->
2447
2407
  </div>
2448
2408
  </div>
@@ -2481,14 +2441,14 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2481
2441
  </div><!-- fragment -->
2482
2442
  </div>
2483
2443
  </div>
2484
- <a id="a57cbbcc977705ba7cd660bb5b632a66c"></a>
2485
- <h2 class="memtitle"><span class="permalink"><a href="#a57cbbcc977705ba7cd660bb5b632a66c">&#9670;&nbsp;</a></span>widenVAddrs()</h2>
2444
+ <a id="a198fd724be35f415851a2467c3930f76"></a>
2445
+ <h2 class="memtitle"><span class="permalink"><a href="#a198fd724be35f415851a2467c3930f76">&#9670;&nbsp;</a></span>widenAddrs()</h2>
2486
2446
 
2487
2447
  <div class="memitem">
2488
2448
  <div class="memproto">
2489
2449
  <table class="memname">
2490
2450
  <tr>
2491
- <td class="memname">void SVFIR2ItvExeState::widenVAddrs </td>
2451
+ <td class="memname">void SVFIR2ItvExeState::widenAddrs </td>
2492
2452
  <td>(</td>
2493
2453
  <td class="paramtype"><a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;&#160;</td>
2494
2454
  <td class="paramname"><em>lhs</em>, </td>
@@ -2507,43 +2467,43 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2507
2467
  </table>
2508
2468
  </div><div class="memdoc">
2509
2469
 
2510
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00086">86</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2511
- <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div>
2512
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>)</div>
2513
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
2514
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>.find(rhsItem.first);</div>
2515
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">_varToVAddrs</a>.end())</div>
2516
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
2517
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2518
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
2519
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2520
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
2521
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2522
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div>
2523
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2524
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div>
2525
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
2526
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
2527
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
2528
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
2529
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>)</div>
2530
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
2531
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.find(rhsItem.first);</div>
2532
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.end())</div>
2533
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
2534
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2535
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div>
2536
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2537
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div>
2538
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2539
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div>
2540
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2541
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
2542
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
2543
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
2544
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
2545
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
2546
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;}</div>
2470
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00152">152</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2471
+ <div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div>
2472
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
2473
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
2474
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(rhsItem.first);</div>
2475
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
2476
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
2477
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2478
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
2479
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2480
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
2481
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2482
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
2483
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2484
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
2485
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
2486
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
2487
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div>
2488
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
2489
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
2490
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
2491
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(rhsItem.first);</div>
2492
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
2493
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
2494
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2495
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
2496
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2497
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div>
2498
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2499
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
2500
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2501
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
2502
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
2503
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
2504
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
2505
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div>
2506
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}</div>
2547
2507
  </div><!-- fragment -->
2548
2508
  </div>
2549
2509
  </div>
@@ -2568,7 +2528,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2568
2528
  </table>
2569
2529
  </div><div class="memdoc">
2570
2530
 
2571
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00204">204</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2531
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00207">207</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2572
2532
 
2573
2533
  </div>
2574
2534
  </div>
@@ -2592,7 +2552,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2592
2552
  </table>
2593
2553
  </div><div class="memdoc">
2594
2554
 
2595
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00201">201</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2555
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00204">204</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2596
2556
 
2597
2557
  </div>
2598
2558
  </div>
@@ -2616,7 +2576,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2616
2576
  </table>
2617
2577
  </div><div class="memdoc">
2618
2578
 
2619
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00202">202</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2579
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00205">205</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2620
2580
 
2621
2581
  </div>
2622
2582
  </div>
@@ -2640,12 +2600,12 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2640
2600
  </table>
2641
2601
  </div><div class="memdoc">
2642
2602
 
2643
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00200">200</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2603
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00203">203</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2644
2604
 
2645
2605
  </div>
2646
2606
  </div>
2647
- <a id="a75d5dfbc8252ef0994951af32aa53b74"></a>
2648
- <h2 class="memtitle"><span class="permalink"><a href="#a75d5dfbc8252ef0994951af32aa53b74">&#9670;&nbsp;</a></span>globalNullVaddrs</h2>
2607
+ <a id="a1579525f7cf7779aba58c4bdde2be4b0"></a>
2608
+ <h2 class="memtitle"><span class="permalink"><a href="#a1579525f7cf7779aba58c4bdde2be4b0">&#9670;&nbsp;</a></span>globalNulladdrs</h2>
2649
2609
 
2650
2610
  <div class="memitem">
2651
2611
  <div class="memproto">
@@ -2654,7 +2614,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2654
2614
  <td class="mlabels-left">
2655
2615
  <table class="memname">
2656
2616
  <tr>
2657
- <td class="memname"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVF::SVFIR2ItvExeState::VAddrs</a> SVF::SVFIR2ItvExeState::globalNullVaddrs</td>
2617
+ <td class="memname"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">SVF::SVFIR2ItvExeState::Addrs</a> SVF::SVFIR2ItvExeState::globalNulladdrs</td>
2658
2618
  </tr>
2659
2619
  </table>
2660
2620
  </td>
@@ -2676,59 +2636,56 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2676
2636
  <li>/home/runner/work/SVF/SVF/svf/lib/AbstractExecution/<a class="el" href="SVFIR2Relation_8cpp_source.html">SVFIR2Relation.cpp</a></li>
2677
2637
  </ul>
2678
2638
  </div><!-- contents -->
2639
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a1f279344b4061838d7b3498631bc907c"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a1f279344b4061838d7b3498631bc907c">SVF::AccessPath::getStructFieldOffset</a></div><div class="ttdeci">u32_t getStructFieldOffset(const SVFVar *idxOperandVar, const SVFStructType *idxOperandType) const</div><div class="ttdoc">Return byte offset from the beginning of the structure to the field where it is located for struct ty...</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00162">AccessPath.cpp:162</a></div></div>
2679
2640
  <div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
2680
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00904">SVFStatements.h:904</a></div></div>
2641
+ <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#l00185">IntervalExeState.h:185</a></div></div>
2642
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00903">SVFStatements.h:903</a></div></div>
2681
2643
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVF::SVFType::SVFArrayTy</a></div><div class="ttdeci">@ SVFArrayTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00257">SVFType.h:257</a></div></div>
2682
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae48cc31474d2c1cbc581b8f7ed433a14"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">SVF::SVFIR2ItvExeState::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="SVFIR2ItvExeState_8h_source.html#l00174">SVFIR2ItvExeState.h:174</a></div></div>
2683
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00985">SVFStatements.h:985</a></div></div>
2684
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_a28a7ca818584abdc2d345b41d592c5dc"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">SVF::GepStmt::accumulateConstantByteOffset</a></div><div class="ttdeci">APOffset accumulateConstantByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00510">SVFStatements.h:510</a></div></div>
2685
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00979">SVFStatements.h:979</a></div></div>
2686
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00983">SVFStatements.h:983</a></div></div>
2644
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a808fdc8ff7637d1c9515e71815548983"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">SVF::SVFIR2ItvExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores a interval value</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00129">SVFIR2ItvExeState.h:129</a></div></div>
2645
+ <div class="ttc" id="aclassSVF_1_1SVFType_html_a4bc7962d519c1c0380b5a6a144c91c51"><div class="ttname"><a href="classSVF_1_1SVFType.html#a4bc7962d519c1c0380b5a6a144c91c51">SVF::SVFType::getKind</a></div><div class="ttdeci">GNodeK getKind() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00281">SVFType.h:281</a></div></div>
2646
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae48cc31474d2c1cbc581b8f7ed433a14"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">SVF::SVFIR2ItvExeState::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="SVFIR2ItvExeState_8h_source.html#l00177">SVFIR2ItvExeState.h:177</a></div></div>
2647
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00984">SVFStatements.h:984</a></div></div>
2648
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afbb9ff1f2c47d2afda117bf63a80a1a7"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">SVF::SVFIR2ItvExeState::getRangeLimitFromType</a></div><div class="ttdeci">IntervalValue getRangeLimitFromType(const SVFType *type)</div><div class="ttdoc">Return the value range of Integer SVF Type, e.g. unsigned i8 Type-&gt;[0, 255], signed i8 Type-&gt;[-128,...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00050">SVFIR2ItvExeState.cpp:50</a></div></div>
2649
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00978">SVFStatements.h:978</a></div></div>
2650
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00982">SVFStatements.h:982</a></div></div>
2687
2651
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3a2d5de4c61fab8b277308a186795a13"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">SVF::RelExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &amp;loc, const Z3Expr &amp;value)</div><div class="ttdoc">Store value to location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00169">RelExeState.cpp:169</a></div></div>
2688
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00894">SVFStatements.h:894</a></div></div>
2689
- <div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00863">SVFStatements.h:863</a></div></div>
2690
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a2b6de5a37851f83ed3fa8f69145148a8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVF::SVFIR2ItvExeState::VAddrs</a></div><div class="ttdeci">ExeState::VAddrs VAddrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00044">SVFIR2ItvExeState.h:44</a></div></div>
2652
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00893">SVFStatements.h:893</a></div></div>
2653
+ <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#l00156">IntervalExeState.h:156</a></div></div>
2654
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00862">SVFStatements.h:862</a></div></div>
2691
2655
  <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00351">SVFType.h:351</a></div></div>
2692
2656
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a5c6efcc023e90ef2e618586091958c59"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">SVF::MultiOpndStmt::getOpVarID</a></div><div class="ttdeci">NodeID getOpVarID(u32_t pos) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00284">SVFStatements.cpp:284</a></div></div>
2693
2657
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_acad5216bdc02a234d57abfe9ae72a12a"><div class="ttname"><a href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">SVF::AddressValue::join_with</a></div><div class="ttdeci">bool join_with(const AddressValue &amp;other)</div><div class="ttdoc">Current AddressValue joins with another AddressValue.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00139">AddressValue.h:139</a></div></div>
2694
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00890">SVFStatements.h:890</a></div></div>
2658
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00889">SVFStatements.h:889</a></div></div>
2695
2659
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00138">IRGraph.h:138</a></div></div>
2696
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00895">SVFStatements.h:895</a></div></div>
2660
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00894">SVFStatements.h:894</a></div></div>
2697
2661
  <div class="ttc" id="aclassSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00315">SVFVariables.h:315</a></div></div>
2698
2662
  <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>
2699
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
2663
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
2700
2664
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVF::SVFType::SVFIntegerTy</a></div><div class="ttdeci">@ SVFIntegerTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00254">SVFType.h:254</a></div></div>
2701
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00991">SVFStatements.h:991</a></div></div>
2702
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a75d5dfbc8252ef0994951af32aa53b74"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a75d5dfbc8252ef0994951af32aa53b74">SVF::SVFIR2ItvExeState::globalNullVaddrs</a></div><div class="ttdeci">static VAddrs globalNullVaddrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00045">SVFIR2ItvExeState.h:45</a></div></div>
2703
- <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#l00264">ExeState.h:264</a></div></div>
2704
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab5eebce09b695a3ea1a1c6d5641296e2"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">SVF::SVFIR2ItvExeState::inLocToIValTable</a></div><div class="ttdeci">bool inLocToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00122">SVFIR2ItvExeState.h:122</a></div></div>
2705
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00976">SVFStatements.h:976</a></div></div>
2706
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a4359c73e131a44f899c694fad25b7e1a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">SVF::SVFIR2ItvExeState::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00200">SVFIR2ItvExeState.h:200</a></div></div>
2707
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
2708
- <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#l00297">IntervalExeState.h:297</a></div></div>
2709
- <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#l00305">IntervalExeState.h:305</a></div></div>
2710
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a69895af213955ea1ba29812bfddcea66"><div class="ttname"><a href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">SVF::ExeState::_varToVAddrs</a></div><div class="ttdeci">VarToVAddrs _varToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00172">ExeState.h:172</a></div></div>
2711
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00990">SVFStatements.h:990</a></div></div>
2712
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00986">SVFStatements.h:986</a></div></div>
2665
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8380eb5e2424c8c7bd290962f04a17ba"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">SVF::SVFIR2ItvExeState::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="SVFIR2ItvExeState_8h_source.html#l00116">SVFIR2ItvExeState.h:116</a></div></div>
2666
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00990">SVFStatements.h:990</a></div></div>
2667
+ <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>
2668
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00975">SVFStatements.h:975</a></div></div>
2669
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a4359c73e131a44f899c694fad25b7e1a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">SVF::SVFIR2ItvExeState::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00203">SVFIR2ItvExeState.h:203</a></div></div>
2670
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00911">SVFStatements.h:911</a></div></div>
2671
+ <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#l00300">IntervalExeState.h:300</a></div></div>
2672
+ <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#l00308">IntervalExeState.h:308</a></div></div>
2673
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00989">SVFStatements.h:989</a></div></div>
2674
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00985">SVFStatements.h:985</a></div></div>
2713
2675
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context &amp; getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
2714
- <div class="ttc" id="aclassSVF_1_1ExeState_html_aad0556739ce5b173054c81cbbfff4b72"><div class="ttname"><a href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">SVF::ExeState::storeVAddrs</a></div><div class="ttdeci">virtual void storeVAddrs(u32_t addr, const VAddrs &amp;vaddrs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00151">ExeState.h:151</a></div></div>
2715
2676
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
2716
2677
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_a8045abc5e96d0c7b373587c796180d3e"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a8045abc5e96d0c7b373587c796180d3e">SVF::RelExeState::toZ3Expr</a></div><div class="ttdeci">virtual Z3Expr toZ3Expr(u32_t varId) const</div><div class="ttdoc">Return Z3 expression lazily based on SVFVar ID.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00150">RelExeState.h:150</a></div></div>
2717
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00891">SVFStatements.h:891</a></div></div>
2718
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00980">SVFStatements.h:980</a></div></div>
2719
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00982">SVFStatements.h:982</a></div></div>
2720
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00892">SVFStatements.h:892</a></div></div>
2721
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a67532bdc1e4a49cf4d9da4b99b38e69a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">VAddrs getGepObjAddress(u32_t pointer, APOffset offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00158">SVFIR2ItvExeState.cpp:158</a></div></div>
2678
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00890">SVFStatements.h:890</a></div></div>
2679
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00979">SVFStatements.h:979</a></div></div>
2680
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00981">SVFStatements.h:981</a></div></div>
2681
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00891">SVFStatements.h:891</a></div></div>
2722
2682
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
2723
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00915">SVFStatements.h:915</a></div></div>
2724
- <div class="ttc" id="aclassSVF_1_1ExeState_html_adb724bd1c3154368c629f4972c503d72"><div class="ttname"><a href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">SVF::ExeState::_locToVAddrs</a></div><div class="ttdeci">VarToVAddrs _locToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00173">ExeState.h:173</a></div></div>
2683
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
2725
2684
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a1a4ff4aaaf2573240a318e1b79328cd0"><div class="ttname"><a href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">SVF::MemObj::isConstDataOrConstGlobal</a></div><div class="ttdeci">bool isConstDataOrConstGlobal() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00538">SymbolTableInfo.cpp:538</a></div></div>
2726
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_add123d3c64674d34c6c8973cb82c6270"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">SVF::SVFIR2ItvExeState::getVAddrs</a></div><div class="ttdeci">VAddrs &amp; getVAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00109">SVFIR2ItvExeState.h:109</a></div></div>
2727
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00988">SVFStatements.h:988</a></div></div>
2685
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00987">SVFStatements.h:987</a></div></div>
2728
2686
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
2729
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aa9bf42bd6ea06a7e61171244461eb066"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">SVF::IntervalExeState::loadVAddrs</a></div><div class="ttdeci">VAddrs &amp; loadVAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00322">IntervalExeState.h:322</a></div></div>
2730
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00987">SVFStatements.h:987</a></div></div>
2731
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00270">IntervalValue.h:270</a></div></div>
2687
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a48fec38aad1c2a9a140ee94e9fdd7e9b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">SVF::SVFIR2ItvExeState::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00106">SVFIR2ItvExeState.h:106</a></div></div>
2688
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00986">SVFStatements.h:986</a></div></div>
2732
2689
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
2733
2690
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
2734
2691
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00038">Z3Expr.h:38</a></div></div>
@@ -2736,110 +2693,112 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2736
2693
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00298">SVFStatements.h:298</a></div></div>
2737
2694
  <div class="ttc" id="aclassSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00262">SVFVariables.h:262</a></div></div>
2738
2695
  <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>
2739
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00903">SVFStatements.h:903</a></div></div>
2740
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::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="SVFIR2ItvExeState_8h_source.html#l00162">SVFIR2ItvExeState.h:162</a></div></div>
2741
- <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">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00070">IntervalExeState.h:70</a></div></div>
2696
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00902">SVFStatements.h:902</a></div></div>
2697
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::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="SVFIR2ItvExeState_8h_source.html#l00165">SVFIR2ItvExeState.h:165</a></div></div>
2698
+ <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#l00151">IntervalExeState.h:151</a></div></div>
2742
2699
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
2743
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00917">SVFStatements.h:917</a></div></div>
2700
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_a348de09a7ccd04d1fa76fa6b250249ba"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">SVF::GepStmt::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const AccessPath::IdxOperandPairs getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00495">SVFStatements.h:495</a></div></div>
2701
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00916">SVFStatements.h:916</a></div></div>
2744
2702
  <div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00469">SVFType.h:469</a></div></div>
2745
2703
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
2746
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ad49576a7192c87d41f4dc923cd3d0efe"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">SVF::SVFIR2ItvExeState::getByteOffsetfromGepTypePair</a></div><div class="ttdeci">IntervalValue getByteOffsetfromGepTypePair(const AccessPath::IdxVarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00201">SVFIR2ItvExeState.cpp:201</a></div></div>
2747
2704
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5dc699aa85fe879eb4b2c9109cf3030d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">SVF::SymbolTableInfo::getTypeInfo</a></div><div class="ttdeci">const StInfo * getTypeInfo(const SVFType *T) const</div><div class="ttdoc">Get struct info.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00056">SymbolTableInfo.cpp:56</a></div></div>
2748
2705
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
2706
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a85f206bddccb2d644ef20f60ea17c9f3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">SVF::SVFIR2ItvExeState::Addrs</a></div><div class="ttdeci">ExeState::Addrs Addrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00044">SVFIR2ItvExeState.h:44</a></div></div>
2749
2707
  <div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00242">SVFType.h:242</a></div></div>
2750
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00902">SVFStatements.h:902</a></div></div>
2708
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00901">SVFStatements.h:901</a></div></div>
2751
2709
  <div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath &amp; getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00491">SVFStatements.h:491</a></div></div>
2752
2710
  <div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
2753
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00975">SVFStatements.h:975</a></div></div>
2711
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00974">SVFStatements.h:974</a></div></div>
2754
2712
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a3b417ee79560fd00f4cf80906044c198"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">SVF::IRGraph::getBlkPtr</a></div><div class="ttdeci">NodeID getBlkPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00170">IRGraph.h:170</a></div></div>
2755
- <div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00855">SVFStatements.h:855</a></div></div>
2756
- <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">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00068">IntervalExeState.h:68</a></div></div>
2713
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00854">SVFStatements.h:854</a></div></div>
2714
+ <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#l00150">IntervalExeState.h:150</a></div></div>
2757
2715
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVF::SVFType::SVFFunctionTy</a></div><div class="ttdeci">@ SVFFunctionTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00255">SVFType.h:255</a></div></div>
2758
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_afe5ae814b71b59fc03bd672d62a5fab7"><div class="ttname"><a href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">Field index of the gep statement if it access the field of a struct.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00521">SVFStatements.h:521</a></div></div>
2759
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
2716
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
2760
2717
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00966">SVFValue.h:966</a></div></div>
2761
2718
  <div class="ttc" id="aclassSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01000">SVFValue.h:1000</a></div></div>
2762
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00978">SVFStatements.h:978</a></div></div>
2719
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00977">SVFStatements.h:977</a></div></div>
2720
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4f482ca73cc6e7b8d946651e2b2ea2ae"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4f482ca73cc6e7b8d946651e2b2ea2ae">SVF::AccessPath::IdxOperandPair</a></div><div class="ttdeci">std::pair&lt; const SVFVar *, const SVFType * &gt; IdxOperandPair</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00064">AccessPath.h:64</a></div></div>
2763
2721
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
2764
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00899">SVFStatements.h:899</a></div></div>
2765
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00909">SVFStatements.h:909</a></div></div>
2766
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00896">SVFStatements.h:896</a></div></div>
2767
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00901">SVFStatements.h:901</a></div></div>
2722
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00898">SVFStatements.h:898</a></div></div>
2723
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00908">SVFStatements.h:908</a></div></div>
2724
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00895">SVFStatements.h:895</a></div></div>
2725
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00900">SVFStatements.h:900</a></div></div>
2768
2726
  <div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
2769
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6e4e3eeca9d25fb5eab496faeb6264c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndex</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndex(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00387">SVFIR2ItvExeState.cpp:387</a></div></div>
2727
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6e4e3eeca9d25fb5eab496faeb6264c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndex</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndex(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00338">SVFIR2ItvExeState.cpp:338</a></div></div>
2770
2728
  <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#l00064">IntervalExeState.h:64</a></div></div>
2771
2729
  <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>
2772
- <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="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00186">IntervalExeState.h:186</a></div></div>
2730
+ <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#l00192">IntervalExeState.h:192</a></div></div>
2773
2731
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00081">SymbolTableInfo.cpp:81</a></div></div>
2774
- <div class="ttc" id="aclassSVF_1_1PhiStmt_html_a0b97394bc1946c0185d2c11fbc2181f4"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt::getOpICFGNode</a></div><div class="ttdeci">const ICFGNode * getOpICFGNode(u32_t op_idx) const</div><div class="ttdoc">Return the corresponding ICFGNode of this operand.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00802">SVFStatements.h:802</a></div></div>
2732
+ <div class="ttc" id="aclassSVF_1_1PhiStmt_html_a0b97394bc1946c0185d2c11fbc2181f4"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt::getOpICFGNode</a></div><div class="ttdeci">const ICFGNode * getOpICFGNode(u32_t op_idx) const</div><div class="ttdoc">Return the corresponding ICFGNode of this operand.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00801">SVFStatements.h:801</a></div></div>
2775
2733
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_aa550a580be3278d19f759b3a644baea5"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">SVF::RelExeState::load</a></div><div class="ttdeci">Z3Expr &amp; load(const Z3Expr &amp;loc)</div><div class="ttdoc">Load value at location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00182">RelExeState.cpp:182</a></div></div>
2776
2734
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
2777
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_ab6f37c073e4755c4b8bb3ed6365687f4"><div class="ttname"><a href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">SVF::GepStmt::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00501">SVFStatements.h:501</a></div></div>
2735
+ <div class="ttc" id="aclassSVF_1_1AssignStmt_html_ad03d28d16754c9049dd4d0ad3b6c1e28"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">SVF::AssignStmt::getRHSVar</a></div><div class="ttdeci">SVFVar * getRHSVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00290">SVFStatements.h:290</a></div></div>
2736
+ <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>
2778
2737
  <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>
2779
2738
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a2f70e9c830b18f25c56b530722f106c4"><div class="ttname"><a href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">SVF::MemObj::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get the reference value to this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00406">SymbolTableInfo.h:406</a></div></div>
2780
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8107e336e3a84fd3b7341786db7e7a13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">SVF::SVFIR2ItvExeState::inVarToIValTable</a></div><div class="ttdeci">bool inVarToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00117">SVFIR2ItvExeState.h:117</a></div></div>
2781
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab8bd2de9d86489845f5a74727040b217"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab8bd2de9d86489845f5a74727040b217">SVF::SVFIR2ItvExeState::_relEs</a></div><div class="ttdeci">RelExeState _relEs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00202">SVFIR2ItvExeState.h:202</a></div></div>
2739
+ <div class="ttc" id="aclassSVF_1_1Options_html_a429c3000ee2ac45119b8c241aa06762c"><div class="ttname"><a href="classSVF_1_1Options.html#a429c3000ee2ac45119b8c241aa06762c">SVF::Options::ModelArrays</a></div><div class="ttdeci">static const Option&lt; bool &gt; ModelArrays</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00219">Options.h:219</a></div></div>
2740
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab8bd2de9d86489845f5a74727040b217"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab8bd2de9d86489845f5a74727040b217">SVF::SVFIR2ItvExeState::_relEs</a></div><div class="ttdeci">RelExeState _relEs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00205">SVFIR2ItvExeState.h:205</a></div></div>
2782
2741
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVF::SVFType::SVFPointerTy</a></div><div class="ttdeci">@ SVFPointerTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00253">SVFType.h:253</a></div></div>
2783
2742
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a3de9a2a565c303f68a90c32dc59febd5"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">SVF::IRGraph::getNullPtr</a></div><div class="ttdeci">NodeID getNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00174">IRGraph.h:174</a></div></div>
2784
- <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#l00270">ExeState.h:270</a></div></div>
2743
+ <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>
2785
2744
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_a40c67147606ab95dd3318d0fe821d8c0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">SVF::AddressValue::insert</a></div><div class="ttdeci">std::pair&lt; AddressValue::AddrSet::iterator, bool &gt; insert(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00123">AddressValue.h:123</a></div></div>
2786
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00977">SVFStatements.h:977</a></div></div>
2745
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00976">SVFStatements.h:976</a></div></div>
2787
2746
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa027be2f9243ce4cae799b265b019443"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">SVF::IntervalValue::bottom</a></div><div class="ttdeci">static IntervalValue bottom()</div><div class="ttdoc">Create the bottom IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00089">IntervalValue.h:89</a></div></div>
2788
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00893">SVFStatements.h:893</a></div></div>
2747
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00892">SVFStatements.h:892</a></div></div>
2789
2748
  <div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
2790
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00900">SVFStatements.h:900</a></div></div>
2791
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00984">SVFStatements.h:984</a></div></div>
2792
- <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#l00203">IntervalExeState.h:203</a></div></div>
2793
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00910">SVFStatements.h:910</a></div></div>
2749
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00899">SVFStatements.h:899</a></div></div>
2750
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a1579525f7cf7779aba58c4bdde2be4b0"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a1579525f7cf7779aba58c4bdde2be4b0">SVF::SVFIR2ItvExeState::globalNulladdrs</a></div><div class="ttdeci">static Addrs globalNulladdrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00045">SVFIR2ItvExeState.h:45</a></div></div>
2751
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00983">SVFStatements.h:983</a></div></div>
2752
+ <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#l00206">IntervalExeState.h:206</a></div></div>
2753
+ <div class="ttc" id="aclassSVF_1_1SVFIntegerType_html"><div class="ttname"><a href="classSVF_1_1SVFIntegerType.html">SVF::SVFIntegerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00383">SVFType.h:383</a></div></div>
2754
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00909">SVFStatements.h:909</a></div></div>
2755
+ <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#l00199">IntervalExeState.h:199</a></div></div>
2794
2756
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00533">SymbolTableInfo.cpp:533</a></div></div>
2795
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00947">SVFStatements.h:947</a></div></div>
2757
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00946">SVFStatements.h:946</a></div></div>
2796
2758
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01284">LLVMUtil.cpp:1284</a></div></div>
2797
2759
  <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>
2798
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a884199a26d43d09bc7e33369fceb8274"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a884199a26d43d09bc7e33369fceb8274">SVF::IntervalExeState::inVarToIValTable</a></div><div class="ttdeci">bool inVarToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00163">IntervalExeState.h:163</a></div></div>
2799
- <div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00859">SVFStatements.h:859</a></div></div>
2760
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00858">SVFStatements.h:858</a></div></div>
2800
2761
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_ae18425df0631aefca7dd4b799f6f524a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const APOffset &amp;ap)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00422">SVFIR.cpp:422</a></div></div>
2801
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00491">SVFIR2ItvExeState.cpp:491</a></div></div>
2762
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00474">SVFIR2ItvExeState.cpp:474</a></div></div>
2802
2763
  <div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
2803
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01017">SVFStatements.h:1017</a></div></div>
2804
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab6b5ed878ce12016424c48c6252a764e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">SVF::SVFIR2ItvExeState::_es</a></div><div class="ttdeci">IntervalExeState _es</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00201">SVFIR2ItvExeState.h:201</a></div></div>
2764
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01016">SVFStatements.h:1016</a></div></div>
2765
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab6b5ed878ce12016424c48c6252a764e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">SVF::SVFIR2ItvExeState::_es</a></div><div class="ttdeci">IntervalExeState _es</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00204">SVFIR2ItvExeState.h:204</a></div></div>
2805
2766
  <div class="ttc" id="aclassSVF_1_1ObjVar_html_a6a4feb73b54e602407e35eeb09f55930"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">SVF::ObjVar::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00353">SVFVariables.h:353</a></div></div>
2806
2767
  <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
2807
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00459">SVFIR2ItvExeState.cpp:459</a></div></div>
2768
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00442">SVFIR2ItvExeState.cpp:442</a></div></div>
2808
2769
  <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>
2809
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00981">SVFStatements.h:981</a></div></div>
2770
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00980">SVFStatements.h:980</a></div></div>
2810
2771
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
2811
- <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00726">SVFStatements.h:726</a></div></div>
2812
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aeac953e77360627da7426b2619d509cc"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aeac953e77360627da7426b2619d509cc">SVF::IntervalExeState::inLocToIValTable</a></div><div class="ttdeci">bool inLocToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00175">IntervalExeState.h:175</a></div></div>
2813
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a977128211266b93e58e298a7ac29a059"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
2772
+ <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00725">SVFStatements.h:725</a></div></div>
2773
+ <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>
2814
2774
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
2815
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00918">SVFStatements.h:918</a></div></div>
2816
- <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="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00169">IntervalExeState.h:169</a></div></div>
2775
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af8d06156bcbb61beb305ed8096319966"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">Addrs getGepObjAddress(u32_t pointer, APOffset offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00224">SVFIR2ItvExeState.cpp:224</a></div></div>
2776
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00917">SVFStatements.h:917</a></div></div>
2777
+ <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#l00178">IntervalExeState.h:178</a></div></div>
2817
2778
  <div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
2818
2779
  <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>
2819
2780
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ab6f95d3e7e099d75cfc9645ebc037047"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdoc">Return type of the value.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00107">SVFVariables.h:107</a></div></div>
2820
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00916">SVFStatements.h:916</a></div></div>
2821
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a174523c405d7a7d7dbbcbaa43c335665"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">SVF::SVFIR2ItvExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00132">SVFIR2ItvExeState.h:132</a></div></div>
2781
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00915">SVFStatements.h:915</a></div></div>
2782
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a174523c405d7a7d7dbbcbaa43c335665"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">SVF::SVFIR2ItvExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00135">SVFIR2ItvExeState.h:135</a></div></div>
2822
2783
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00289">SVFStatements.cpp:289</a></div></div>
2823
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_a0572909694bf47d9448a0f1e5e14a50b"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">SVF::GepStmt::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const AccessPath::IdxVarAndGepTypePairs getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00496">SVFStatements.h:496</a></div></div>
2824
2784
  <div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00054">SVFType.h:54</a></div></div>
2825
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ae081b5c462f8ed5b306719822e35cea9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00263">IntervalValue.h:263</a></div></div>
2826
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a678a5278fd485eea65093add11b8a7c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndexFromGepTypePair</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndexFromGepTypePair(const AccessPath::IdxVarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00268">SVFIR2ItvExeState.cpp:268</a></div></div>
2785
+ <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#l00325">IntervalExeState.h:325</a></div></div>
2786
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a99f4437a7e350fec131d48f52082d672"><div class="ttname"><a href="classSVF_1_1ExeState.html#a99f4437a7e350fec131d48f52082d672">SVF::ExeState::storeAddrs</a></div><div class="ttdeci">virtual void storeAddrs(u32_t addr, const Addrs &amp;vaddrs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00154">ExeState.h:154</a></div></div>
2827
2787
  <div class="ttc" id="aclassSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00380">SymbolTableInfo.h:380</a></div></div>
2828
- <div class="ttc" id="aclassSVF_1_1ExeState_html_a2f01e583abcdeb236a11e85c7a8aafdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00258">ExeState.h:258</a></div></div>
2829
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00911">SVFStatements.h:911</a></div></div>
2830
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00989">SVFStatements.h:989</a></div></div>
2788
+ <div class="ttc" id="aclassSVF_1_1ExeState_html_a2f01e583abcdeb236a11e85c7a8aafdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00271">ExeState.h:271</a></div></div>
2789
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00910">SVFStatements.h:910</a></div></div>
2790
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00988">SVFStatements.h:988</a></div></div>
2831
2791
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00345">IntervalValue.h:345</a></div></div>
2832
2792
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVF::SVFType::SVFStructTy</a></div><div class="ttdeci">@ SVFStructTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00256">SVFType.h:256</a></div></div>
2833
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00905">SVFStatements.h:905</a></div></div>
2793
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00904">SVFStatements.h:904</a></div></div>
2834
2794
  <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>
2835
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a0c4be1dd8e7a2877c0cc76c404f6945a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">SVF::SVFIR2ItvExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00168">SVFIR2ItvExeState.h:168</a></div></div>
2795
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a0c4be1dd8e7a2877c0cc76c404f6945a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">SVF::SVFIR2ItvExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00171">SVFIR2ItvExeState.h:171</a></div></div>
2836
2796
  <div class="ttc" id="aclassSVF_1_1StInfo_html_a55e5fd85f232c1867c5c6a73646d53eb"><div class="ttname"><a href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">SVF::StInfo::getFlattenedElemIdxVec</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; &amp; getFlattenedElemIdxVec()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00184">SVFType.h:184</a></div></div>
2837
2797
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
2838
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a36e15d9d95908b74fcf321e30a9cdebe"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">SVF::IntervalExeState::getVAddrs</a></div><div class="ttdeci">VAddrs &amp; getVAddrs(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00154">IntervalExeState.h:154</a></div></div>
2839
2798
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a019a77516c403f1f3cc72917b810a41f"><div class="ttname"><a href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">SVF::MemObj::isConstantStruct</a></div><div class="ttdeci">bool isConstantStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00528">SymbolTableInfo.cpp:528</a></div></div>
2840
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00974">SVFStatements.h:974</a></div></div>
2841
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00127">SVFIR2ItvExeState.h:127</a></div></div>
2842
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00423">SVFIR2ItvExeState.cpp:423</a></div></div>
2799
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00973">SVFStatements.h:973</a></div></div>
2800
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00122">SVFIR2ItvExeState.h:122</a></div></div>
2801
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00406">SVFIR2ItvExeState.cpp:406</a></div></div>
2843
2802
  <!-- start footer part -->
2844
2803
  <hr class="footer"/><address class="footer"><small>
2845
2804
  Generated by &#160;<a href="http://www.doxygen.org/index.html">