svf-tools 1.0.813 → 1.0.815

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 (270) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +124 -121
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +97 -88
  3. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  5. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +184 -183
  6. package/SVF-doxygen/html/ContextDDA_8h_source.html +5 -5
  7. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +191 -190
  10. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +4 -4
  11. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +695 -688
  12. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +15 -15
  13. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +883 -881
  14. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +32 -32
  15. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +120 -118
  16. package/SVF-doxygen/html/SVFIR_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/SVFStatements_8h_source.html +5 -5
  18. package/SVF-doxygen/html/SVFVariables_8h_source.html +2 -2
  19. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +7 -5
  20. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +237 -162
  21. package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
  22. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +176 -175
  23. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +2 -2
  24. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +2 -2
  25. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  26. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +9 -9
  27. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +2 -2
  28. package/SVF-doxygen/html/classSVF_1_1NormalGepCGEdge.html +2 -2
  29. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +2 -2
  30. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +186 -185
  31. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +667 -660
  32. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +942 -938
  33. package/SVF-doxygen/html/functions_a.html +1 -1
  34. package/SVF-doxygen/html/functions_func.html +1 -1
  35. package/SVF-doxygen/html/functions_func_g.html +22 -17
  36. package/SVF-doxygen/html/functions_func_p.html +1 -1
  37. package/SVF-doxygen/html/functions_g.html +20 -12
  38. package/SVF-doxygen/html/functions_i.html +1 -1
  39. package/SVF-doxygen/html/functions_o.html +7 -7
  40. package/SVF-doxygen/html/functions_p.html +11 -11
  41. package/SVF-doxygen/html/functions_r.html +2 -2
  42. package/SVF-doxygen/html/functions_s.html +17 -17
  43. package/SVF-doxygen/html/functions_v.html +7 -9
  44. package/SVF-doxygen/html/functions_vars_g.html +3 -0
  45. package/SVF-doxygen/html/functions_w.html +1 -1
  46. package/SVF-doxygen/html/search/all_1.js +1 -1
  47. package/SVF-doxygen/html/search/all_10.js +324 -324
  48. package/SVF-doxygen/html/search/all_11.js +222 -222
  49. package/SVF-doxygen/html/search/all_12.js +544 -544
  50. package/SVF-doxygen/html/search/all_13.js +191 -191
  51. package/SVF-doxygen/html/search/all_14.js +67 -67
  52. package/SVF-doxygen/html/search/all_15.js +167 -167
  53. package/SVF-doxygen/html/search/all_16.js +63 -63
  54. package/SVF-doxygen/html/search/all_17.js +1 -1
  55. package/SVF-doxygen/html/search/all_18.js +1 -1
  56. package/SVF-doxygen/html/search/all_19.js +11 -11
  57. package/SVF-doxygen/html/search/all_1a.js +172 -172
  58. package/SVF-doxygen/html/search/all_7.js +891 -888
  59. package/SVF-doxygen/html/search/all_8.js +197 -197
  60. package/SVF-doxygen/html/search/all_9.js +607 -607
  61. package/SVF-doxygen/html/search/all_a.js +46 -46
  62. package/SVF-doxygen/html/search/all_b.js +26 -26
  63. package/SVF-doxygen/html/search/all_c.js +116 -116
  64. package/SVF-doxygen/html/search/all_d.js +196 -196
  65. package/SVF-doxygen/html/search/all_e.js +207 -207
  66. package/SVF-doxygen/html/search/all_f.js +115 -115
  67. package/SVF-doxygen/html/search/classes_0.js +26 -26
  68. package/SVF-doxygen/html/search/classes_1.js +9 -9
  69. package/SVF-doxygen/html/search/classes_10.js +73 -73
  70. package/SVF-doxygen/html/search/classes_11.js +15 -15
  71. package/SVF-doxygen/html/search/classes_12.js +2 -2
  72. package/SVF-doxygen/html/search/classes_13.js +10 -10
  73. package/SVF-doxygen/html/search/classes_14.js +14 -14
  74. package/SVF-doxygen/html/search/classes_15.js +1 -1
  75. package/SVF-doxygen/html/search/classes_2.js +80 -80
  76. package/SVF-doxygen/html/search/classes_3.js +37 -37
  77. package/SVF-doxygen/html/search/classes_4.js +9 -9
  78. package/SVF-doxygen/html/search/classes_5.js +28 -28
  79. package/SVF-doxygen/html/search/classes_6.js +104 -104
  80. package/SVF-doxygen/html/search/classes_7.js +33 -33
  81. package/SVF-doxygen/html/search/classes_8.js +56 -56
  82. package/SVF-doxygen/html/search/classes_9.js +1 -1
  83. package/SVF-doxygen/html/search/classes_a.js +12 -12
  84. package/SVF-doxygen/html/search/classes_b.js +29 -29
  85. package/SVF-doxygen/html/search/classes_c.js +6 -6
  86. package/SVF-doxygen/html/search/classes_d.js +18 -18
  87. package/SVF-doxygen/html/search/classes_e.js +36 -36
  88. package/SVF-doxygen/html/search/classes_f.js +25 -25
  89. package/SVF-doxygen/html/search/defines_0.js +3 -3
  90. package/SVF-doxygen/html/search/defines_1.js +2 -2
  91. package/SVF-doxygen/html/search/defines_2.js +30 -30
  92. package/SVF-doxygen/html/search/defines_3.js +21 -21
  93. package/SVF-doxygen/html/search/defines_4.js +2 -2
  94. package/SVF-doxygen/html/search/defines_5.js +4 -4
  95. package/SVF-doxygen/html/search/defines_6.js +2 -2
  96. package/SVF-doxygen/html/search/defines_7.js +5 -5
  97. package/SVF-doxygen/html/search/defines_8.js +11 -11
  98. package/SVF-doxygen/html/search/defines_9.js +9 -9
  99. package/SVF-doxygen/html/search/defines_a.js +2 -2
  100. package/SVF-doxygen/html/search/defines_b.js +1 -1
  101. package/SVF-doxygen/html/search/defines_c.js +3 -3
  102. package/SVF-doxygen/html/search/defines_d.js +2 -2
  103. package/SVF-doxygen/html/search/defines_e.js +7 -7
  104. package/SVF-doxygen/html/search/defines_f.js +3 -3
  105. package/SVF-doxygen/html/search/enums_0.js +3 -3
  106. package/SVF-doxygen/html/search/enums_1.js +2 -2
  107. package/SVF-doxygen/html/search/enums_10.js +1 -1
  108. package/SVF-doxygen/html/search/enums_11.js +1 -1
  109. package/SVF-doxygen/html/search/enums_2.js +8 -8
  110. package/SVF-doxygen/html/search/enums_3.js +1 -1
  111. package/SVF-doxygen/html/search/enums_4.js +3 -3
  112. package/SVF-doxygen/html/search/enums_5.js +1 -1
  113. package/SVF-doxygen/html/search/enums_6.js +2 -2
  114. package/SVF-doxygen/html/search/enums_7.js +2 -2
  115. package/SVF-doxygen/html/search/enums_8.js +4 -4
  116. package/SVF-doxygen/html/search/enums_9.js +1 -1
  117. package/SVF-doxygen/html/search/enums_a.js +1 -1
  118. package/SVF-doxygen/html/search/enums_b.js +7 -7
  119. package/SVF-doxygen/html/search/enums_c.js +1 -1
  120. package/SVF-doxygen/html/search/enums_d.js +4 -4
  121. package/SVF-doxygen/html/search/enums_e.js +2 -2
  122. package/SVF-doxygen/html/search/enums_f.js +4 -4
  123. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  124. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  125. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  126. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  127. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  128. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  129. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  130. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  131. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  132. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  133. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  134. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  135. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  136. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  137. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  138. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  139. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  140. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  141. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  142. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  143. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  144. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  145. package/SVF-doxygen/html/search/files_0.js +13 -13
  146. package/SVF-doxygen/html/search/files_1.js +7 -7
  147. package/SVF-doxygen/html/search/files_10.js +8 -8
  148. package/SVF-doxygen/html/search/files_11.js +8 -8
  149. package/SVF-doxygen/html/search/files_12.js +2 -2
  150. package/SVF-doxygen/html/search/files_2.js +55 -55
  151. package/SVF-doxygen/html/search/files_3.js +14 -14
  152. package/SVF-doxygen/html/search/files_4.js +5 -5
  153. package/SVF-doxygen/html/search/files_5.js +13 -13
  154. package/SVF-doxygen/html/search/files_6.js +9 -9
  155. package/SVF-doxygen/html/search/files_7.js +14 -14
  156. package/SVF-doxygen/html/search/files_8.js +13 -13
  157. package/SVF-doxygen/html/search/files_9.js +18 -18
  158. package/SVF-doxygen/html/search/files_a.js +3 -3
  159. package/SVF-doxygen/html/search/files_b.js +2 -2
  160. package/SVF-doxygen/html/search/files_c.js +20 -20
  161. package/SVF-doxygen/html/search/files_d.js +4 -4
  162. package/SVF-doxygen/html/search/files_e.js +62 -62
  163. package/SVF-doxygen/html/search/files_f.js +8 -8
  164. package/SVF-doxygen/html/search/functions_0.js +12 -12
  165. package/SVF-doxygen/html/search/functions_1.js +360 -360
  166. package/SVF-doxygen/html/search/functions_10.js +140 -140
  167. package/SVF-doxygen/html/search/functions_11.js +138 -138
  168. package/SVF-doxygen/html/search/functions_12.js +279 -279
  169. package/SVF-doxygen/html/search/functions_13.js +59 -59
  170. package/SVF-doxygen/html/search/functions_14.js +39 -39
  171. package/SVF-doxygen/html/search/functions_15.js +71 -71
  172. package/SVF-doxygen/html/search/functions_16.js +32 -32
  173. package/SVF-doxygen/html/search/functions_17.js +3 -3
  174. package/SVF-doxygen/html/search/functions_18.js +172 -172
  175. package/SVF-doxygen/html/search/functions_2.js +87 -87
  176. package/SVF-doxygen/html/search/functions_3.js +257 -257
  177. package/SVF-doxygen/html/search/functions_4.js +75 -75
  178. package/SVF-doxygen/html/search/functions_5.js +53 -53
  179. package/SVF-doxygen/html/search/functions_6.js +59 -59
  180. package/SVF-doxygen/html/search/functions_7.js +854 -852
  181. package/SVF-doxygen/html/search/functions_8.js +149 -149
  182. package/SVF-doxygen/html/search/functions_9.js +423 -423
  183. package/SVF-doxygen/html/search/functions_a.js +30 -30
  184. package/SVF-doxygen/html/search/functions_b.js +2 -2
  185. package/SVF-doxygen/html/search/functions_c.js +26 -26
  186. package/SVF-doxygen/html/search/functions_d.js +77 -77
  187. package/SVF-doxygen/html/search/functions_e.js +35 -35
  188. package/SVF-doxygen/html/search/functions_f.js +56 -56
  189. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  190. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  191. package/SVF-doxygen/html/search/related_0.js +2 -2
  192. package/SVF-doxygen/html/search/related_1.js +2 -2
  193. package/SVF-doxygen/html/search/related_2.js +2 -2
  194. package/SVF-doxygen/html/search/related_3.js +2 -2
  195. package/SVF-doxygen/html/search/related_4.js +2 -2
  196. package/SVF-doxygen/html/search/related_5.js +1 -1
  197. package/SVF-doxygen/html/search/related_6.js +2 -2
  198. package/SVF-doxygen/html/search/related_7.js +4 -4
  199. package/SVF-doxygen/html/search/related_8.js +2 -2
  200. package/SVF-doxygen/html/search/related_9.js +4 -4
  201. package/SVF-doxygen/html/search/related_a.js +19 -19
  202. package/SVF-doxygen/html/search/related_b.js +4 -4
  203. package/SVF-doxygen/html/search/related_c.js +1 -1
  204. package/SVF-doxygen/html/search/related_d.js +12 -12
  205. package/SVF-doxygen/html/search/related_e.js +2 -2
  206. package/SVF-doxygen/html/search/related_f.js +2 -2
  207. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  208. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  209. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  210. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  211. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  212. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  213. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  214. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  215. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  216. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  217. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  218. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  219. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  220. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  221. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  222. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  223. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  224. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  225. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  226. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  227. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  228. package/SVF-doxygen/html/search/variables_0.js +151 -151
  229. package/SVF-doxygen/html/search/variables_1.js +75 -75
  230. package/SVF-doxygen/html/search/variables_10.js +97 -97
  231. package/SVF-doxygen/html/search/variables_11.js +44 -44
  232. package/SVF-doxygen/html/search/variables_12.js +92 -92
  233. package/SVF-doxygen/html/search/variables_13.js +75 -75
  234. package/SVF-doxygen/html/search/variables_14.js +14 -14
  235. package/SVF-doxygen/html/search/variables_15.js +48 -48
  236. package/SVF-doxygen/html/search/variables_16.js +9 -9
  237. package/SVF-doxygen/html/search/variables_17.js +1 -1
  238. package/SVF-doxygen/html/search/variables_18.js +2 -2
  239. package/SVF-doxygen/html/search/variables_2.js +38 -38
  240. package/SVF-doxygen/html/search/variables_3.js +142 -142
  241. package/SVF-doxygen/html/search/variables_4.js +55 -55
  242. package/SVF-doxygen/html/search/variables_5.js +37 -37
  243. package/SVF-doxygen/html/search/variables_6.js +66 -66
  244. package/SVF-doxygen/html/search/variables_7.js +34 -33
  245. package/SVF-doxygen/html/search/variables_8.js +7 -7
  246. package/SVF-doxygen/html/search/variables_9.js +78 -78
  247. package/SVF-doxygen/html/search/variables_a.js +4 -4
  248. package/SVF-doxygen/html/search/variables_b.js +10 -10
  249. package/SVF-doxygen/html/search/variables_c.js +45 -45
  250. package/SVF-doxygen/html/search/variables_d.js +56 -56
  251. package/SVF-doxygen/html/search/variables_e.js +123 -123
  252. package/SVF-doxygen/html/search/variables_f.js +29 -29
  253. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +10 -10
  254. package/SVF-doxygen/html/svf-ex_8cpp.html +11 -11
  255. package/SVF-doxygen/html/svf-ex_8cpp_source.html +11 -11
  256. package/package.json +1 -1
  257. package/svf/include/Graphs/ConsGEdge.h +1 -1
  258. package/svf/include/MemoryModel/AccessPath.h +14 -5
  259. package/svf/include/SVFIR/SVFStatements.h +2 -2
  260. package/svf/include/SVFIR/SVFVariables.h +1 -1
  261. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +2 -1
  262. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +4 -0
  263. package/svf/lib/DDA/ContextDDA.cpp +2 -1
  264. package/svf/lib/DDA/FlowDDA.cpp +1 -1
  265. package/svf/lib/MemoryModel/AccessPath.cpp +7 -5
  266. package/svf/lib/SVFIR/SVFIR.cpp +1 -1
  267. package/svf/lib/WPA/Andersen.cpp +1 -1
  268. package/svf/lib/WPA/FlowSensitive.cpp +1 -1
  269. package/svf-llvm/lib/SVFIRBuilder.cpp +6 -4
  270. package/svf-llvm/lib/SVFIRExtAPI.cpp +7 -5
@@ -617,193 +617,194 @@ $(function() {
617
617
  <div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#ae7720cdcb509ecfccbda141986643684"> 608</a></span>&#160;std::pair&lt;s32_t, s32_t&gt; <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#ae7720cdcb509ecfccbda141986643684">SVFIR2ConsExeState::getGepOffset</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">SVF::GepStmt</a> *gep)</div>
618
618
  <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;{</div>
619
619
  <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().empty())</div>
620
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
621
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; </div>
622
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffset = 0;</div>
623
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
624
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</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>
625
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; {</div>
626
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value =</div>
627
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first-&gt;getValue();</div>
628
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</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-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].second;</div>
629
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
630
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = 0;</div>
631
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">if</span> (op)</div>
632
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; {</div>
633
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
634
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; }</div>
635
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">else</span></div>
636
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; {</div>
637
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
638
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">if</span> (!inVarToValTable(idx)) <span class="keywordflow">return</span> std::make_pair(-1, -1);</div>
639
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">if</span> ((*_es)[idx].isBottom() || (*_es)[idx].isTop() || (*_es)[idx].isSym())</div>
640
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; {</div>
641
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
642
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; }</div>
643
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; </div>
644
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
645
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="classSVF_1_1ConsExeState.html#ad8cd07a607743e8cbbf59bd5882c5043">ConsExeState::z3Expr2NumValue</a>((*_es)[idx]);</div>
646
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div>
647
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> == <span class="keyword">nullptr</span>)</div>
648
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; {</div>
649
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffset + <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>) &gt; maxFieldLimit)</div>
650
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div>
651
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; totalOffset = maxFieldLimit;</div>
652
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; }</div>
653
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">else</span></div>
654
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; {</div>
655
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; totalOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
656
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div>
657
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">continue</span>;</div>
658
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div>
659
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; </div>
660
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</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>
661
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; {</div>
662
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> * 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>
663
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div>
664
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">else</span></div>
665
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div>
666
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</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>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(</div>
667
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)-&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
668
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">if</span> (so.empty() || (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= so.size())</div>
669
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">return</span> std::make_pair(-1, -1);</div>
670
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <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>, <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
671
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; }</div>
672
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffset + <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>) &gt; maxFieldLimit)</div>
673
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; {</div>
674
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; totalOffset = maxFieldLimit;</div>
675
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div>
676
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">else</span></div>
677
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div>
678
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; totalOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
679
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div>
680
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div>
681
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; std::pair&lt;s32_t, s32_t&gt; offSetPair;</div>
682
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; offSetPair.first = totalOffset;</div>
683
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; offSetPair.second = totalOffset;</div>
684
- <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">return</span> offSetPair;</div>
685
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;}</div>
686
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; </div>
620
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a71fcc6d100ce2a9785a02b8924261956">getConstantStructFldIdx</a>(),</div>
621
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a71fcc6d100ce2a9785a02b8924261956">getConstantStructFldIdx</a>());</div>
622
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; </div>
623
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffset = 0;</div>
624
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
625
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</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>
626
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; {</div>
627
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value =</div>
628
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first-&gt;getValue();</div>
629
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</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-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].second;</div>
630
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
631
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = 0;</div>
632
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">if</span> (op)</div>
633
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div>
634
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
635
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div>
636
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">else</span></div>
637
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; {</div>
638
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
639
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">if</span> (!inVarToValTable(idx)) <span class="keywordflow">return</span> std::make_pair(-1, -1);</div>
640
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">if</span> ((*_es)[idx].isBottom() || (*_es)[idx].isTop() || (*_es)[idx].isSym())</div>
641
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; {</div>
642
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
643
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; }</div>
644
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; </div>
645
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
646
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="classSVF_1_1ConsExeState.html#ad8cd07a607743e8cbbf59bd5882c5043">ConsExeState::z3Expr2NumValue</a>((*_es)[idx]);</div>
647
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
648
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> == <span class="keyword">nullptr</span>)</div>
649
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
650
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffset + <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>) &gt; maxFieldLimit)</div>
651
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div>
652
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; totalOffset = maxFieldLimit;</div>
653
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div>
654
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">else</span></div>
655
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div>
656
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; totalOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
657
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; }</div>
658
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">continue</span>;</div>
659
+ <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; }</div>
660
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; </div>
661
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</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>
662
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; {</div>
663
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> * 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>
664
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; }</div>
665
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">else</span></div>
666
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div>
667
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</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>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(</div>
668
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)-&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
669
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">if</span> (so.empty() || (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= so.size())</div>
670
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">return</span> std::make_pair(-1, -1);</div>
671
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <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>, <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
672
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div>
673
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffset + <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>) &gt; maxFieldLimit)</div>
674
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div>
675
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; totalOffset = maxFieldLimit;</div>
676
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; }</div>
677
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">else</span></div>
678
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div>
679
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; totalOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
680
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div>
681
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div>
682
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; std::pair&lt;s32_t, s32_t&gt; offSetPair;</div>
683
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; offSetPair.first = totalOffset;</div>
684
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; offSetPair.second = totalOffset;</div>
685
+ <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">return</span> offSetPair;</div>
686
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;}</div>
687
687
  <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; </div>
688
- <div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a51a94136135db2190cca1859fdd9faf8"> 685</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a51a94136135db2190cca1859fdd9faf8">SVFIR2ConsExeState::initValVar</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
689
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;{</div>
690
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; </div>
691
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</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>
692
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; </div>
693
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</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>
694
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; {</div>
695
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, metadataty</span></div>
696
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</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>
697
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</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>
698
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</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>
699
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</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>
700
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</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>
701
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="comment">// continue with null expression</span></div>
702
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; (*_es)[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
703
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">else</span></div>
704
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div>
705
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; </div>
706
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</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>-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
707
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
708
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div>
709
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; }</div>
710
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">else</span></div>
711
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; {</div>
712
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</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>
713
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; (*_es)[varId] = 0;</div>
714
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">else</span></div>
715
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; (*_es)[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
716
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</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>
717
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; }</div>
718
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;}</div>
719
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; </div>
720
- <div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a4537a3df1217e01d024c3a24f7b5a2f0"> 722</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a4537a3df1217e01d024c3a24f7b5a2f0">SVFIR2ConsExeState::initObjVar</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
721
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;{</div>
722
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
723
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div>
724
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</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>
725
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a37b75ada7d18139ac2f2add6c232ea68">isConstDataOrAggData</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>
726
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</div>
727
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</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>
728
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div>
729
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; _es-&gt;globalConsES._varToVal[varId] = consInt-&gt;getSExtValue();</div>
730
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div>
731
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</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>
732
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; _es-&gt;globalConsES._varToVal[varId] = consFP-&gt;getFPValue();</div>
733
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</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>
734
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; _es-&gt;globalConsES._varToVal[varId] = 0;</div>
735
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</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>
736
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; _es-&gt;globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);</div>
737
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a37b75ada7d18139ac2f2add6c232ea68">isConstDataOrAggData</a>())</div>
738
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; {</div>
739
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="comment">// TODO</span></div>
740
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="comment">// assert(false &amp;&amp; &quot;implement this part&quot;);</span></div>
741
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; _es-&gt;globalConsES._varToVal[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
742
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; }</div>
743
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">else</span></div>
744
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; {</div>
745
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; _es-&gt;globalConsES._varToVal[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
746
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; }</div>
747
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; }</div>
748
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">else</span></div>
749
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; {</div>
750
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; _es-&gt;globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);</div>
751
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
752
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
753
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">else</span></div>
754
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; {</div>
755
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; _es-&gt;globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);</div>
756
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; }</div>
757
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;}</div>
758
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; </div>
688
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; </div>
689
+ <div class="line"><a name="l00686"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a51a94136135db2190cca1859fdd9faf8"> 686</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a51a94136135db2190cca1859fdd9faf8">SVFIR2ConsExeState::initValVar</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
690
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div>
691
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; </div>
692
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</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>
693
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; </div>
694
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</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>
695
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div>
696
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, metadataty</span></div>
697
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</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>
698
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</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>
699
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</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>
700
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</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>
701
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</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>
702
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">// continue with null expression</span></div>
703
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; (*_es)[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
704
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">else</span></div>
705
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; {</div>
706
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; </div>
707
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</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>-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
708
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
709
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; }</div>
710
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; }</div>
711
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">else</span></div>
712
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div>
713
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</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>
714
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; (*_es)[varId] = 0;</div>
715
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">else</span></div>
716
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; (*_es)[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
717
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</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>
718
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; }</div>
719
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;}</div>
720
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; </div>
721
+ <div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a4537a3df1217e01d024c3a24f7b5a2f0"> 723</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a4537a3df1217e01d024c3a24f7b5a2f0">SVFIR2ConsExeState::initObjVar</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
722
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;{</div>
723
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
724
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div>
725
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</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>
726
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a37b75ada7d18139ac2f2add6c232ea68">isConstDataOrAggData</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>
727
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div>
728
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</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>
729
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; {</div>
730
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; _es-&gt;globalConsES._varToVal[varId] = consInt-&gt;getSExtValue();</div>
731
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div>
732
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</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>
733
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; _es-&gt;globalConsES._varToVal[varId] = consFP-&gt;getFPValue();</div>
734
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</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>
735
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; _es-&gt;globalConsES._varToVal[varId] = 0;</div>
736
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</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>
737
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; _es-&gt;globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);</div>
738
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a37b75ada7d18139ac2f2add6c232ea68">isConstDataOrAggData</a>())</div>
739
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; {</div>
740
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="comment">// TODO</span></div>
741
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">// assert(false &amp;&amp; &quot;implement this part&quot;);</span></div>
742
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; _es-&gt;globalConsES._varToVal[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
743
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; }</div>
744
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">else</span></div>
745
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; {</div>
746
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; _es-&gt;globalConsES._varToVal[varId] = <a class="code" href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SingleAbsValue::topConstant</a>();</div>
747
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; }</div>
748
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; }</div>
749
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">else</span></div>
750
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; {</div>
751
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; _es-&gt;globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);</div>
752
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
753
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div>
754
+ <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">else</span></div>
755
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div>
756
+ <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; _es-&gt;globalConsES._varToAddrs[varId] = getVirtualMemAddress(varId);</div>
757
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div>
758
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;}</div>
759
759
  <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; </div>
760
- <div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a75ff754930798c901714d3b0f2c6e857"> 763</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a75ff754930798c901714d3b0f2c6e857">SVFIR2ConsExeState::initSVFVar</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
761
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;{</div>
762
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">if</span> (_es-&gt;inVarToValTable(varId)) <span class="keywordflow">return</span>;</div>
763
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</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>
764
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</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>
765
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
766
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</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>
767
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; {</div>
768
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; initObjVar(objVar, varId);</div>
769
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">return</span>;</div>
770
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div>
771
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</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>
772
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; {</div>
773
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; initValVar(valVar, varId);</div>
774
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">return</span>;</div>
775
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
776
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">else</span></div>
777
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; {</div>
778
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; initValVar(valVar, varId);</div>
779
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">return</span>;</div>
780
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div>
781
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;}</div>
782
- <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; </div>
783
- <div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a213e6f6dd1ad0e2e0b525f1b55735553"> 786</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a213e6f6dd1ad0e2e0b525f1b55735553">SVFIR2ConsExeState::moveToGlobal</a>()</div>
784
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;{</div>
785
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_varToVal)</div>
786
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; {</div>
787
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.insert(it);</div>
788
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; }</div>
789
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_locToVal)</div>
790
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; {</div>
791
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.insert(it);</div>
792
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; }</div>
793
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_varToAddrs)</div>
794
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div>
795
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.insert(it);</div>
796
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div>
797
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_locToAddrs)</div>
798
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; {</div>
799
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.insert(it);</div>
800
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; }</div>
801
- <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[0] = <a class="code" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">ConsExeState::getVirtualMemAddress</a>(0);</div>
802
- <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; _es-&gt;_varToVal.clear();</div>
803
- <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; _es-&gt;_locToVal.clear();</div>
804
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; _es-&gt;_varToAddrs.clear();</div>
805
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; _es-&gt;_locToAddrs.clear();</div>
806
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;}</div>
760
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; </div>
761
+ <div class="line"><a name="l00764"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a75ff754930798c901714d3b0f2c6e857"> 764</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a75ff754930798c901714d3b0f2c6e857">SVFIR2ConsExeState::initSVFVar</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
762
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;{</div>
763
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">if</span> (_es-&gt;inVarToValTable(varId)) <span class="keywordflow">return</span>;</div>
764
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</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>
765
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</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>
766
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
767
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</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>
768
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; {</div>
769
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; initObjVar(objVar, varId);</div>
770
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">return</span>;</div>
771
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div>
772
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</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>
773
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; {</div>
774
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; initValVar(valVar, varId);</div>
775
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordflow">return</span>;</div>
776
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div>
777
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">else</span></div>
778
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div>
779
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; initValVar(valVar, varId);</div>
780
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">return</span>;</div>
781
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div>
782
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;}</div>
783
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; </div>
784
+ <div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ConsExeState.html#a213e6f6dd1ad0e2e0b525f1b55735553"> 787</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ConsExeState.html#a213e6f6dd1ad0e2e0b525f1b55735553">SVFIR2ConsExeState::moveToGlobal</a>()</div>
785
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;{</div>
786
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_varToVal)</div>
787
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; {</div>
788
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.insert(it);</div>
789
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; }</div>
790
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_locToVal)</div>
791
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; {</div>
792
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.insert(it);</div>
793
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; }</div>
794
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_varToAddrs)</div>
795
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; {</div>
796
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.insert(it);</div>
797
+ <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div>
798
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: _es-&gt;_locToAddrs)</div>
799
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div>
800
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.insert(it);</div>
801
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div>
802
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">ConsExeState::globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[0] = <a class="code" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">ConsExeState::getVirtualMemAddress</a>(0);</div>
803
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; _es-&gt;_varToVal.clear();</div>
804
+ <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; _es-&gt;_locToVal.clear();</div>
805
+ <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; _es-&gt;_varToAddrs.clear();</div>
806
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; _es-&gt;_locToAddrs.clear();</div>
807
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;}</div>
807
808
  </div><!-- fragment --></div><!-- contents -->
808
809
  <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a9541d935efa7fce9cf9d204050e2a918"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a9541d935efa7fce9cf9d204050e2a918">SVF::SVFIR2ConsExeState::translateStore</a></div><div class="ttdeci">void translateStore(const StoreStmt *store)</div><div class="ttdoc">https://llvm.org/docs/LangRef.html#store-instruction</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00423">SVFIR2ConsExeState.cpp:423</a></div></div>
809
810
  <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>
@@ -815,6 +816,7 @@ $(function() {
815
816
  <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>
816
817
  <div class="ttc" id="aclassSVF_1_1SingleAbsValue_html_a0e7dde6b5ae9a605230a49b3216ea6e8"><div class="ttname"><a href="classSVF_1_1SingleAbsValue.html#a0e7dde6b5ae9a605230a49b3216ea6e8">SVF::SingleAbsValue::bottomConstant</a></div><div class="ttdeci">static SingleAbsValue bottomConstant()</div><div class="ttdef"><b>Definition:</b> <a href="SingleAbsValue_8h_source.html#l00058">SingleAbsValue.h:58</a></div></div>
817
818
  <div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
819
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_a71fcc6d100ce2a9785a02b8924261956"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a71fcc6d100ce2a9785a02b8924261956">SVF::GepStmt::getConstantStructFldIdx</a></div><div class="ttdeci">APOffset getConstantStructFldIdx() 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#l00520">SVFStatements.h:520</a></div></div>
818
820
  <div class="ttc" id="aclassSVF_1_1ConsExeState_html_a07b135c218f56fdab8ef8504190563df"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">SVF::ConsExeState::_varToVal</a></div><div class="ttdeci">VarToValMap _varToVal</div><div class="ttdoc">Map a variable (symbol) to its constant value.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00114">ConsExeState.h:114</a></div></div>
819
821
  <div class="ttc" id="aclassSVF_1_1PhiStmt_html"><div class="ttname"><a href="classSVF_1_1PhiStmt.html">SVF::PhiStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00748">SVFStatements.h:748</a></div></div>
820
822
  <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>
@@ -875,7 +877,6 @@ $(function() {
875
877
  <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>
876
878
  <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>
877
879
  <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>
878
- <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#l00520">SVFStatements.h:520</a></div></div>
879
880
  <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>
880
881
  <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>
881
882
  <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>
@@ -893,7 +894,7 @@ $(function() {
893
894
  <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>
894
895
  <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>
895
896
  <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>
896
- <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a75ff754930798c901714d3b0f2c6e857"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a75ff754930798c901714d3b0f2c6e857">SVF::SVFIR2ConsExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00763">SVFIR2ConsExeState.cpp:763</a></div></div>
897
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a75ff754930798c901714d3b0f2c6e857"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a75ff754930798c901714d3b0f2c6e857">SVF::SVFIR2ConsExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00764">SVFIR2ConsExeState.cpp:764</a></div></div>
897
898
  <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>
898
899
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_aa7291f4b74bb824fb38b8c383fa0b6a0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#aa7291f4b74bb824fb38b8c383fa0b6a0">SVF::AddressValue::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00113">AddressValue.h:113</a></div></div>
899
900
  <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>
@@ -915,16 +916,16 @@ $(function() {
915
916
  <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>
916
917
  <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>
917
918
  <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>
918
- <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a4537a3df1217e01d024c3a24f7b5a2f0"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a4537a3df1217e01d024c3a24f7b5a2f0">SVF::SVFIR2ConsExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ConZ3Expr for ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00722">SVFIR2ConsExeState.cpp:722</a></div></div>
919
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a4537a3df1217e01d024c3a24f7b5a2f0"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a4537a3df1217e01d024c3a24f7b5a2f0">SVF::SVFIR2ConsExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ConZ3Expr for ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00723">SVFIR2ConsExeState.cpp:723</a></div></div>
919
920
  <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>
920
- <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a51a94136135db2190cca1859fdd9faf8"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a51a94136135db2190cca1859fdd9faf8">SVF::SVFIR2ConsExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *objVar, u32_t varId)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00685">SVFIR2ConsExeState.cpp:685</a></div></div>
921
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a51a94136135db2190cca1859fdd9faf8"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a51a94136135db2190cca1859fdd9faf8">SVF::SVFIR2ConsExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *objVar, u32_t varId)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00686">SVFIR2ConsExeState.cpp:686</a></div></div>
921
922
  <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>
922
923
  <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>
923
924
  <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>
924
925
  <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>
925
926
  <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>
926
927
  <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a7a547d67559f2d01ead77986bbd6863b"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a7a547d67559f2d01ead77986bbd6863b">SVF::SVFIR2ConsExeState::translateLoad</a></div><div class="ttdeci">void translateLoad(const LoadStmt *load)</div><div class="ttdoc">https://llvm.org/docs/LangRef.html#load-instruction</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00343">SVFIR2ConsExeState.cpp:343</a></div></div>
927
- <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a213e6f6dd1ad0e2e0b525f1b55735553"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a213e6f6dd1ad0e2e0b525f1b55735553">SVF::SVFIR2ConsExeState::moveToGlobal</a></div><div class="ttdeci">void moveToGlobal()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00786">SVFIR2ConsExeState.cpp:786</a></div></div>
928
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html_a213e6f6dd1ad0e2e0b525f1b55735553"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html#a213e6f6dd1ad0e2e0b525f1b55735553">SVF::SVFIR2ConsExeState::moveToGlobal</a></div><div class="ttdeci">void moveToGlobal()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8cpp_source.html#l00787">SVFIR2ConsExeState.cpp:787</a></div></div>
928
929
  <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>
929
930
  <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>
930
931
  <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>