svf-tools 1.0.812 → 1.0.813
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/ConsExeState_8cpp_source.html +21 -21
- package/SVF-doxygen/html/ConsExeState_8h_source.html +384 -385
- package/SVF-doxygen/html/ExeState_8cpp_source.html +24 -24
- package/SVF-doxygen/html/ExeState_8h_source.html +227 -217
- package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +8 -8
- package/SVF-doxygen/html/IntervalExeState_8h_source.html +412 -408
- package/SVF-doxygen/html/RelationSolver_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +43 -43
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +18 -18
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +250 -262
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +103 -101
- package/SVF-doxygen/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ConsExeState-members.html +74 -74
- package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +412 -394
- package/SVF-doxygen/html/classSVF_1_1ExeState-members.html +34 -34
- package/SVF-doxygen/html/classSVF_1_1ExeState.html +287 -272
- package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +78 -78
- package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +445 -434
- package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState-members.html +28 -28
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +77 -77
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +40 -40
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +372 -372
- package/SVF-doxygen/html/classSVF_1_1SymState.html +2 -2
- package/SVF-doxygen/html/functions.html +6 -6
- package/SVF-doxygen/html/functions_a.html +13 -8
- package/SVF-doxygen/html/functions_b.html +3 -3
- package/SVF-doxygen/html/functions_e.html +2 -2
- package/SVF-doxygen/html/functions_func_e.html +2 -2
- package/SVF-doxygen/html/functions_func_g.html +32 -35
- package/SVF-doxygen/html/functions_func_i.html +11 -21
- package/SVF-doxygen/html/functions_func_l.html +6 -6
- package/SVF-doxygen/html/functions_func_n.html +3 -3
- package/SVF-doxygen/html/functions_func_p.html +2 -2
- package/SVF-doxygen/html/functions_func_s.html +7 -7
- package/SVF-doxygen/html/functions_func_w.html +3 -3
- package/SVF-doxygen/html/functions_g.html +27 -30
- package/SVF-doxygen/html/functions_i.html +13 -23
- package/SVF-doxygen/html/functions_l.html +8 -8
- package/SVF-doxygen/html/functions_n.html +7 -7
- package/SVF-doxygen/html/functions_o.html +4 -4
- package/SVF-doxygen/html/functions_p.html +9 -9
- package/SVF-doxygen/html/functions_r.html +1 -1
- package/SVF-doxygen/html/functions_s.html +19 -17
- package/SVF-doxygen/html/functions_t.html +7 -7
- package/SVF-doxygen/html/functions_type.html +5 -0
- package/SVF-doxygen/html/functions_type_v.html +3 -8
- package/SVF-doxygen/html/functions_v.html +13 -16
- package/SVF-doxygen/html/functions_vars.html +6 -6
- package/SVF-doxygen/html/functions_vars_g.html +2 -2
- package/SVF-doxygen/html/functions_w.html +3 -3
- package/SVF-doxygen/html/search/all_0.js +4 -4
- package/SVF-doxygen/html/search/all_1.js +210 -209
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +222 -222
- package/SVF-doxygen/html/search/all_12.js +544 -544
- package/SVF-doxygen/html/search/all_13.js +191 -191
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +167 -169
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_2.js +169 -169
- package/SVF-doxygen/html/search/all_3.js +642 -642
- package/SVF-doxygen/html/search/all_4.js +233 -233
- package/SVF-doxygen/html/search/all_5.js +119 -119
- package/SVF-doxygen/html/search/all_6.js +225 -225
- package/SVF-doxygen/html/search/all_7.js +946 -947
- package/SVF-doxygen/html/search/all_9.js +481 -486
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +116 -116
- package/SVF-doxygen/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +115 -115
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +80 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +21 -21
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +55 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/search/functions_1.js +360 -360
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +138 -138
- package/SVF-doxygen/html/search/functions_12.js +279 -279
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +87 -87
- package/SVF-doxygen/html/search/functions_3.js +257 -257
- package/SVF-doxygen/html/search/functions_4.js +75 -75
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +59 -59
- package/SVF-doxygen/html/search/functions_7.js +852 -853
- package/SVF-doxygen/html/search/functions_8.js +149 -149
- package/SVF-doxygen/html/search/functions_9.js +423 -428
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +26 -26
- package/SVF-doxygen/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -18
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +61 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +33 -34
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +55 -55
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +44 -44
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/search/variables_5.js +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +29 -29
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html +5 -5
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +5 -5
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +5 -5
- package/SVF-doxygen/html/svf-ex_8cpp.html +7 -7
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +7 -7
- package/package.json +1 -1
- package/svf/include/AbstractExecution/ConsExeState.h +99 -96
- package/svf/include/AbstractExecution/ExeState.h +66 -53
- package/svf/include/AbstractExecution/IntervalExeState.h +66 -61
- package/svf/include/AbstractExecution/SVFIR2ConsExeState.h +7 -7
- package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +20 -14
- package/svf/lib/AbstractExecution/ConsExeState.cpp +13 -13
- package/svf/lib/AbstractExecution/ExeState.cpp +19 -19
- package/svf/lib/AbstractExecution/IntervalExeState.cpp +4 -4
- package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +36 -36
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +80 -92
|
@@ -113,464 +113,463 @@ $(function() {
|
|
|
113
113
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  </div>
|
|
114
114
|
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06"> 55</a></span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>;</div>
|
|
115
115
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div>
|
|
116
|
-
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">
|
|
117
|
-
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#
|
|
118
|
-
<div class="line"><a name="l00059"></a><span class="lineno"
|
|
116
|
+
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">public</span>:</div>
|
|
117
|
+
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#ae2868bff69d249ff28daff28fd3c86ea"> 58</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#ae2868bff69d249ff28daff28fd3c86ea">ConsExeState</a>(): <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html">ExeState</a>::<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e">SingleValueK</a>) {}</div>
|
|
118
|
+
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div>
|
|
119
119
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div>
|
|
120
|
-
<div class="line"><a name="
|
|
121
|
-
<div class="line"><a name="
|
|
122
|
-
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  </div>
|
|
120
|
+
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#ad619c8c3874b9c65e706651d6a1c22ab"> 62</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#ad619c8c3874b9c65e706651d6a1c22ab">ConsExeState</a>(<a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> varToValMap, <a class="code" href="classSVF_1_1ConsExeState.html#a559fb9ebd9c5ca18bb0b9ea062cd27db">LocToValMap</a> locToValMap) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(<a class="code" href="classSVF_1_1ExeState.html">ExeState</a>::<a class="code" href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e">SingleValueK</a>), <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>(</div>
|
|
121
|
+
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  SVFUtil::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(varToValMap)), <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>(SVFUtil::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(locToValMap)) {}</div>
|
|
123
122
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
|
124
|
-
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#
|
|
125
|
-
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> 
|
|
126
|
-
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> 
|
|
127
|
-
<div class="line"><a name="
|
|
128
|
-
<div class="line"><a name="
|
|
129
|
-
<div class="line"><a name="
|
|
130
|
-
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div>
|
|
131
|
-
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 
|
|
132
|
-
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  </div>
|
|
133
|
-
<div class="line"><a name="
|
|
134
|
-
<div class="line"><a name="
|
|
135
|
-
<div class="line"><a name="
|
|
136
|
-
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> 
|
|
137
|
-
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 
|
|
138
|
-
<div class="line"><a name="
|
|
139
|
-
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 
|
|
140
|
-
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 
|
|
141
|
-
<div class="line"><a name="
|
|
142
|
-
<div class="line"><a name="
|
|
143
|
-
<div class="line"><a name="
|
|
144
|
-
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  </div>
|
|
145
|
-
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> 
|
|
146
|
-
<div class="line"><a name="
|
|
147
|
-
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 
|
|
148
|
-
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  </div>
|
|
149
|
-
<div class="line"><a name="
|
|
150
|
-
<div class="line"><a name="
|
|
151
|
-
<div class="line"><a name="
|
|
152
|
-
<div class="line"><a name="
|
|
153
|
-
<div class="line"><a name="
|
|
154
|
-
<div class="line"><a name="
|
|
155
|
-
<div class="line"><a name="
|
|
156
|
-
<div class="line"><a name="
|
|
157
|
-
<div class="line"><a name="
|
|
123
|
+
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a61645ed0edcdab44f30f6e0e3989cb6d"> 66</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#a61645ed0edcdab44f30f6e0e3989cb6d">ConsExeState</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &rhs) : <a class="code" href="classSVF_1_1ExeState.html">ExeState</a>(rhs), <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>(rhs.<a class="code" href="classSVF_1_1ConsExeState.html#a990f50ae338a2e332d333bb3fc04c520">getVarToVal</a>()),</div>
|
|
124
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>(rhs.<a class="code" href="classSVF_1_1ConsExeState.html#adf45b2d4b73220e80a1265f4e1b1ee35">getLocToVal</a>())</div>
|
|
125
|
+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
|
|
126
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div>
|
|
127
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div>
|
|
128
|
+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  </div>
|
|
129
|
+
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a7c8106f2fd388145018dd4dc77dd1e93"> 73</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#a7c8106f2fd388145018dd4dc77dd1e93">~ConsExeState</a>()<span class="keyword"> override</span></div>
|
|
130
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword"> </span>{</div>
|
|
131
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.clear();</div>
|
|
132
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.clear();</div>
|
|
133
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div>
|
|
134
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
|
|
135
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a642724fd50872cf54d427f46420bbc70">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &rhs);</div>
|
|
136
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  </div>
|
|
137
|
+
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a2c661a9a6742cd091dccabee30314f89"> 83</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#a2c661a9a6742cd091dccabee30314f89">ConsExeState</a>(<a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &&rhs) noexcept: <a class="code" href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">ExeState</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs)),</div>
|
|
138
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(rhs._varToVal)), <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(rhs._locToVal))</div>
|
|
139
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
|
140
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  </div>
|
|
141
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
|
142
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div>
|
|
143
|
+
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a642724fd50872cf54d427f46420bbc70">operator=</a>(<a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &&rhs) noexcept;</div>
|
|
144
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  </div>
|
|
145
|
+
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a5d4061449afa88fcb806cba0adeeac68"> 93</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#a5d4061449afa88fcb806cba0adeeac68">name</a>()</div>
|
|
146
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div>
|
|
147
|
+
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ConstantExpr"</span>;</div>
|
|
148
|
+
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
|
149
|
+
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  </div>
|
|
150
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">using</span> ExeState::operator==;</div>
|
|
151
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">using</span> ExeState::operator!=;</div>
|
|
152
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
|
|
153
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#ae708165c762328232dab128e27a62f30">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &rhs) <span class="keyword">const</span>;</div>
|
|
154
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  </div>
|
|
155
|
+
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a24e9becca0339056ba900ee35ab882f3"> 103</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a24e9becca0339056ba900ee35ab882f3">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &other)<span class="keyword"> const</span></div>
|
|
156
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword"> </span>{</div>
|
|
157
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == other);</div>
|
|
158
|
+
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div>
|
|
158
159
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div>
|
|
159
|
-
<div class="line"><a name="l00108"></a><span class="lineno"
|
|
160
|
-
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> 
|
|
161
|
-
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 
|
|
162
|
-
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> 
|
|
163
|
-
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 
|
|
164
|
-
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> 
|
|
165
|
-
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  </div>
|
|
166
|
-
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="
|
|
160
|
+
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a312954e26e384366f0ce2e99df918eda">operator<</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &rhs) <span class="keyword">const</span>;</div>
|
|
161
|
+
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  </div>
|
|
162
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1ConsExeState.html#a374e087ef40804ed00a631ed22e91590">hash</a>() <span class="keyword">const override</span>;</div>
|
|
163
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  </div>
|
|
164
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">protected</span>:</div>
|
|
165
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
|
|
166
|
+
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df"> 114</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>; </div>
|
|
167
|
+
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19"> 115</a></span>  <a class="code" href="classSVF_1_1ConsExeState.html#a559fb9ebd9c5ca18bb0b9ea062cd27db">LocToValMap</a> <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>; </div>
|
|
167
168
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div>
|
|
168
|
-
<div class="line"><a name="
|
|
169
|
-
<div class="line"><a name="
|
|
170
|
-
<div class="line"><a name="
|
|
171
|
-
<div class="line"><a name="
|
|
172
|
-
<div class="line"><a name="
|
|
173
|
-
<div class="line"><a name="
|
|
174
|
-
<div class="line"><a name="
|
|
175
|
-
<div class="line"><a name="
|
|
176
|
-
<div class="line"><a name="
|
|
177
|
-
<div class="line"><a name="
|
|
178
|
-
<div class="line"><a name="
|
|
179
|
-
<div class="line"><a name="
|
|
180
|
-
<div class="line"><a name="
|
|
181
|
-
<div class="line"><a name="
|
|
182
|
-
<div class="line"><a name="
|
|
183
|
-
<div class="line"><a name="
|
|
184
|
-
<div class="line"><a name="
|
|
185
|
-
<div class="line"><a name="
|
|
186
|
-
<div class="line"><a name="
|
|
187
|
-
<div class="line"><a name="
|
|
169
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">public</span>:</div>
|
|
170
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  </div>
|
|
171
|
+
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a17ba209c5045d53c7df66d5cf031f8a4"> 120</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a17ba209c5045d53c7df66d5cf031f8a4">getAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> override</span></div>
|
|
172
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword"> </span>{</div>
|
|
173
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>);</div>
|
|
174
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end()) <span class="keywordflow">return</span> it->second;</div>
|
|
175
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[id];</div>
|
|
176
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div>
|
|
177
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div>
|
|
178
|
+
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a22e7ec17139695a1ae73bd058aa78e36"> 128</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a22e7ec17139695a1ae73bd058aa78e36">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
|
|
179
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  {</div>
|
|
180
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.find(varId);</div>
|
|
181
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.end())</div>
|
|
182
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
183
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">else</span></div>
|
|
184
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>[varId];</div>
|
|
185
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div>
|
|
186
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
|
187
|
+
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a755fbe99c6d02b6a7897dad86f46c580"> 138</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a755fbe99c6d02b6a7897dad86f46c580">inVarToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
|
|
188
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword"> </span>{</div>
|
|
189
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end() ||</div>
|
|
190
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end();</div>
|
|
191
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div>
|
|
188
192
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
|
189
|
-
<div class="line"><a name="
|
|
190
|
-
<div class="line"><a name="
|
|
191
|
-
<div class="line"><a name="
|
|
192
|
-
<div class="line"><a name="
|
|
193
|
-
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a6304348363989dde61754ae161756f0f">applyPhi</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res, std::vector<u32_t> &ops);</div>
|
|
193
|
+
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#ad42a15421be927dbb4eb7efb10548850"> 145</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#ad42a15421be927dbb4eb7efb10548850">inVarToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> const</span></div>
|
|
194
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keyword"> </span>{</div>
|
|
195
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.count(varId) || <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.count(varId);</div>
|
|
196
|
+
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div>
|
|
194
197
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div>
|
|
195
|
-
<div class="line"><a name="
|
|
196
|
-
<div class="line"><a name="
|
|
197
|
-
<div class="line"><a name="
|
|
198
|
-
<div class="line"><a name="
|
|
199
|
-
<div class="line"><a name="
|
|
200
|
-
<div class="line"><a name="
|
|
201
|
-
<div class="line"><a name="
|
|
202
|
-
<div class="line"><a name="
|
|
203
|
-
<div class="line"><a name="
|
|
204
|
-
<div class="line"><a name="
|
|
205
|
-
<div class="line"><a name="
|
|
206
|
-
<div class="line"><a name="
|
|
207
|
-
<div class="line"><a name="
|
|
208
|
-
<div class="line"><a name="
|
|
209
|
-
<div class="line"><a name="
|
|
210
|
-
<div class="line"><a name="
|
|
211
|
-
<div class="line"><a name="
|
|
212
|
-
<div class="line"><a name="
|
|
213
|
-
<div class="line"><a name="
|
|
214
|
-
<div class="line"><a name="
|
|
215
|
-
<div class="line"><a name="
|
|
216
|
-
<div class="line"><a name="
|
|
217
|
-
<div class="line"><a name="
|
|
218
|
-
<div class="line"><a name="
|
|
219
|
-
<div class="line"><a name="
|
|
220
|
-
<div class="line"><a name="
|
|
221
|
-
<div class="line"><a name="
|
|
222
|
-
<div class="line"><a name="
|
|
223
|
-
<div class="line"><a name="
|
|
224
|
-
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div>
|
|
225
|
-
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="comment">//%}</span></div>
|
|
198
|
+
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a1effca0f87f2180e160600ee5528b12f"> 151</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a1effca0f87f2180e160600ee5528b12f">inLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const override</span></div>
|
|
199
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keyword"> </span>{</div>
|
|
200
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end() || <a class="code" href="classSVF_1_1ConsExeState.html#af8f2b698dd97793b0124cd5a4ac4d035">inLocalLocToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
|
|
201
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div>
|
|
202
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div>
|
|
203
|
+
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a4481c80fcf9c64f23e8a216dfc01869a"> 157</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a4481c80fcf9c64f23e8a216dfc01869a">inLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> const</span></div>
|
|
204
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword"> </span>{</div>
|
|
205
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a8da7bf977911ca6d3bd27f38ef852321">inLocalLocToValTable</a>(varId) || <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.count(varId);</div>
|
|
206
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div>
|
|
207
|
+
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  </div>
|
|
208
|
+
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a990f50ae338a2e332d333bb3fc04c520"> 162</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a990f50ae338a2e332d333bb3fc04c520">getVarToVal</a>()<span class="keyword"> const</span></div>
|
|
209
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keyword"> </span>{</div>
|
|
210
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>;</div>
|
|
211
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div>
|
|
212
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div>
|
|
213
|
+
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#adf45b2d4b73220e80a1265f4e1b1ee35"> 167</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html#a559fb9ebd9c5ca18bb0b9ea062cd27db">LocToValMap</a> &<a class="code" href="classSVF_1_1ConsExeState.html#adf45b2d4b73220e80a1265f4e1b1ee35">getLocToVal</a>()<span class="keyword"> const</span></div>
|
|
214
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword"> </span>{</div>
|
|
215
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>;</div>
|
|
216
|
+
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div>
|
|
217
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div>
|
|
218
|
+
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#af8f2b698dd97793b0124cd5a4ac4d035"> 172</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#af8f2b698dd97793b0124cd5a4ac4d035">inLocalLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
|
|
219
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keyword"> </span>{</div>
|
|
220
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end();</div>
|
|
221
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
|
222
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div>
|
|
223
|
+
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a8da7bf977911ca6d3bd27f38ef852321"> 177</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a8da7bf977911ca6d3bd27f38ef852321">inLocalLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> const</span></div>
|
|
224
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword"> </span>{</div>
|
|
225
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.count(varId);</div>
|
|
226
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div>
|
|
226
227
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  </div>
|
|
227
|
-
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#
|
|
228
|
+
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#aa4a3abdc9a7fe9af0b82190bf7827efa"> 182</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#aa4a3abdc9a7fe9af0b82190bf7827efa">inLocalLocToValTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a>& addr)<span class="keyword"> const</span></div>
|
|
228
229
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword"> </span>{</div>
|
|
229
|
-
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">return</span> <a class="code" href="
|
|
230
|
-
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> 
|
|
231
|
-
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 
|
|
232
|
-
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
|
|
233
|
-
<div class="line"><a name="l00188"></a><span class="lineno"
|
|
234
|
-
<div class="line"><a name="
|
|
235
|
-
<div class="line"><a name="
|
|
236
|
-
<div class="line"><a name="
|
|
237
|
-
<div class="line"><a name="
|
|
238
|
-
<div class="line"><a name="
|
|
239
|
-
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keyword"> </span>{</div>
|
|
240
|
-
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">_locToVAddrs</a>.end();</div>
|
|
241
|
-
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  }</div>
|
|
230
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.count(<a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr.<a class="code" href="classSVF_1_1BoundedZ3Expr.html#af62c2d6bc40080b9728c107cf317184b">getNumeral</a>()));</div>
|
|
231
|
+
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div>
|
|
232
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  </div>
|
|
233
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">public</span>:</div>
|
|
234
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  </div>
|
|
235
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a8f2668196be5ecbc061d5b43caa43cae">joinWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &rhs);</div>
|
|
236
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
|
|
237
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ConsExeState.html#a4cdddbbcb6b07f2db9cfad565ca7e57b">buildGlobES</a>(<a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &globES, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<u32_t></a> &vars);</div>
|
|
238
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  </div>
|
|
239
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ConsExeState.html#a600317df0db3e813b952727884111cdd">applySummary</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> &summary);</div>
|
|
242
240
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  </div>
|
|
243
|
-
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#
|
|
244
|
-
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 
|
|
245
|
-
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="
|
|
246
|
-
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">
|
|
247
|
-
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> 
|
|
248
|
-
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> 
|
|
249
|
-
<div class="line"><a name="
|
|
250
|
-
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a6d954f4aef6af30852bdc7ddb67a9d55"> 205</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a6d954f4aef6af30852bdc7ddb67a9d55">loadVAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)<span class="keyword"> override</span></div>
|
|
241
|
+
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#ad3914ce88b680803d7744c4fa63fa93b"> 198</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#ad3914ce88b680803d7744c4fa63fa93b">equalVar</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs)</div>
|
|
242
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  {</div>
|
|
243
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ConsExeState.html#ad42a15421be927dbb4eb7efb10548850">inVarToValTable</a>(lhs) || !<a class="code" href="classSVF_1_1ConsExeState.html#ad42a15421be927dbb4eb7efb10548850">inVarToValTable</a>(rhs)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
244
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> eq((*<span class="keyword">this</span>)[lhs], (*<span class="keyword">this</span>)[rhs]);</div>
|
|
245
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div>
|
|
246
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  </div>
|
|
247
|
+
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a08f64cf55802c4ddbc1e01b06ce55dec"> 205</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a08f64cf55802c4ddbc1e01b06ce55dec">isNullState</a>()<span class="keyword"> const</span></div>
|
|
251
248
|
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword"> </span>{</div>
|
|
252
|
-
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 
|
|
253
|
-
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> 
|
|
254
|
-
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> 
|
|
255
|
-
<div class="line"><a name="
|
|
256
|
-
<div class="line"><a name="
|
|
257
|
-
<div class="line"><a name="
|
|
258
|
-
<div class="line"><a name="
|
|
259
|
-
<div class="line"><a name="
|
|
260
|
-
<div class="line"><a name="
|
|
261
|
-
<div class="line"><a name="
|
|
262
|
-
<div class="line"><a name="
|
|
263
|
-
<div class="line"><a name="
|
|
264
|
-
<div class="line"><a name="
|
|
265
|
-
<div class="line"><a name="
|
|
266
|
-
<div class="line"><a name="
|
|
267
|
-
<div class="line"><a name="
|
|
268
|
-
<div class="line"><a name="
|
|
269
|
-
<div class="line"><a name="
|
|
270
|
-
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div>
|
|
271
|
-
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div>
|
|
249
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.size() == 1 && eq((*<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>.begin()).second, -1) && <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>.empty();</div>
|
|
250
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div>
|
|
251
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  </div>
|
|
252
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ConsExeState.html#aa9892fc61571c173598cd73598c589fa">printExprValues</a>() <span class="keyword">const</span>;</div>
|
|
253
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  </div>
|
|
254
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ConsExeState.html#aa9892fc61571c173598cd73598c589fa">printExprValues</a>(std::ostream &oss) <span class="keyword">const override</span>;</div>
|
|
255
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  </div>
|
|
256
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#a4553e0d059ea66f9a0287454686eb558">toString</a>() <span class="keyword">const override</span>;</div>
|
|
257
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  </div>
|
|
258
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#a3905e71e489f8caf29e378364ea6e593">pcToString</a>() <span class="keyword">const</span>;</div>
|
|
259
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  </div>
|
|
260
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#a000e1c5692e4027b38569898f683bada">varToString</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId) <span class="keyword">const</span>;</div>
|
|
261
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  </div>
|
|
262
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#a2c4c9f57bf31e8716bbfced40931fe5d">locToString</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId) <span class="keyword">const</span>;</div>
|
|
263
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  </div>
|
|
264
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a3f5fa4efdd0f45b375f18596734f3d07">applySelect</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> top, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fop);</div>
|
|
265
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  </div>
|
|
266
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a6304348363989dde61754ae161756f0f">applyPhi</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res, std::vector<u32_t> &ops);</div>
|
|
272
267
|
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  </div>
|
|
273
|
-
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#
|
|
268
|
+
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a865998aed7e292ebd15532506eadea55"> 228</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &<a class="code" href="classSVF_1_1ConsExeState.html#a865998aed7e292ebd15532506eadea55">loadAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)<span class="keyword"> override</span></div>
|
|
274
269
|
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keyword"> </span>{</div>
|
|
275
|
-
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> 
|
|
276
|
-
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <
|
|
277
|
-
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="
|
|
278
|
-
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> 
|
|
279
|
-
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> 
|
|
280
|
-
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">
|
|
281
|
-
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> 
|
|
282
|
-
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> 
|
|
283
|
-
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
|
|
284
|
-
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> 
|
|
285
|
-
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> 
|
|
286
|
-
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> 
|
|
287
|
-
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> 
|
|
288
|
-
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> 
|
|
289
|
-
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 
|
|
290
|
-
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> 
|
|
291
|
-
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> 
|
|
292
|
-
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> 
|
|
293
|
-
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> 
|
|
294
|
-
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> 
|
|
295
|
-
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> 
|
|
296
|
-
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> 
|
|
297
|
-
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 
|
|
298
|
-
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> 
|
|
299
|
-
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> 
|
|
300
|
-
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">
|
|
270
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  assert(<a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">isVirtualMemAddress</a>(addr) && <span class="stringliteral">"not virtual address?"</span>);</div>
|
|
271
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr);</div>
|
|
272
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
|
|
273
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
|
|
274
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  {</div>
|
|
275
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
276
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div>
|
|
277
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">else</span></div>
|
|
278
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div>
|
|
279
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keyword">auto</span> globIt = <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
|
|
280
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> (globIt != <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
|
|
281
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div>
|
|
282
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> globIt->second;</div>
|
|
283
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div>
|
|
284
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">else</span></div>
|
|
285
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  {</div>
|
|
286
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConsExeState.html#a17ba209c5045d53c7df66d5cf031f8a4">getAddrs</a>(0);</div>
|
|
287
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div>
|
|
288
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div>
|
|
289
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div>
|
|
290
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  </div>
|
|
291
|
+
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#aa3f16fb06541184e49ef4f4ea95d894c"> 251</a></span>  <span class="keyword">virtual</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#aa3f16fb06541184e49ef4f4ea95d894c">varToAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> const override</span></div>
|
|
292
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keyword"> </span>{</div>
|
|
293
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  std::stringstream exprName;</div>
|
|
294
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(varId);</div>
|
|
295
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
|
|
301
296
|
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  {</div>
|
|
302
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keyword">
|
|
303
|
-
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span> (
|
|
304
|
-
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> 
|
|
305
|
-
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> 
|
|
306
|
-
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 
|
|
307
|
-
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> 
|
|
308
|
-
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> 
|
|
309
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
310
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 
|
|
311
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 
|
|
312
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> 
|
|
313
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
314
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
315
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
316
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 
|
|
317
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
318
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> 
|
|
319
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
320
|
-
<div class="line"><a name="l00275"></a><span class="lineno"
|
|
321
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
322
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
323
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="
|
|
324
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> 
|
|
325
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> 
|
|
326
|
-
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="
|
|
327
|
-
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> 
|
|
328
|
-
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  exprName << <span class="stringliteral">"
|
|
329
|
-
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> 
|
|
330
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> 
|
|
331
|
-
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> 
|
|
332
|
-
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="
|
|
333
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> 
|
|
334
|
-
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> 
|
|
335
|
-
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> 
|
|
336
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> 
|
|
337
|
-
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> 
|
|
338
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> 
|
|
339
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> 
|
|
340
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> 
|
|
341
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> 
|
|
342
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 
|
|
343
|
-
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> 
|
|
344
|
-
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> 
|
|
345
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> 
|
|
346
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> 
|
|
347
|
-
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">
|
|
297
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keyword">auto</span> git = <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(varId);</div>
|
|
298
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span> (git == <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
|
|
299
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  exprName << <span class="stringliteral">"Var not in varToAddrs!\n"</span>;</div>
|
|
300
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">else</span></div>
|
|
301
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div>
|
|
302
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &vaddrs = git->second;</div>
|
|
303
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">if</span> (vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1)</div>
|
|
304
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  {</div>
|
|
305
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  exprName << <span class="stringliteral">"addr: {"</span> << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(*vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>()) << <span class="stringliteral">"}\n"</span>;</div>
|
|
306
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div>
|
|
307
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">else</span></div>
|
|
308
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div>
|
|
309
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  exprName << <span class="stringliteral">"addr: {"</span>;</div>
|
|
310
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: vaddrs)</div>
|
|
311
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div>
|
|
312
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  exprName << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr) << <span class="stringliteral">", "</span>;</div>
|
|
313
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  }</div>
|
|
314
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  exprName << <span class="stringliteral">"}\n"</span>;</div>
|
|
315
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  }</div>
|
|
316
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div>
|
|
317
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div>
|
|
318
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">else</span></div>
|
|
319
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div>
|
|
320
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &vaddrs = it->second;</div>
|
|
321
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span> (vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1)</div>
|
|
322
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div>
|
|
323
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  exprName << <span class="stringliteral">"addr: {"</span> << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(*vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>()) << <span class="stringliteral">"}\n"</span>;</div>
|
|
324
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div>
|
|
325
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">else</span></div>
|
|
326
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div>
|
|
327
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  exprName << <span class="stringliteral">"addr: {"</span>;</div>
|
|
328
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: vaddrs)</div>
|
|
329
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div>
|
|
330
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  exprName << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr) << <span class="stringliteral">", "</span>;</div>
|
|
331
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div>
|
|
332
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  exprName << <span class="stringliteral">"}\n"</span>;</div>
|
|
333
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  }</div>
|
|
334
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  }</div>
|
|
335
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(exprName.str());</div>
|
|
336
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  }</div>
|
|
337
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  </div>
|
|
338
|
+
<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a4136ad2172772347e8d6aedc2f8b811e"> 298</a></span>  <span class="keyword">virtual</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1ConsExeState.html#a4136ad2172772347e8d6aedc2f8b811e">locToAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId)<span class="keyword"> const override</span></div>
|
|
339
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword"> </span>{</div>
|
|
340
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  std::stringstream exprName;</div>
|
|
341
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
|
|
342
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
|
|
348
343
|
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  {</div>
|
|
349
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">
|
|
350
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">if</span> (
|
|
351
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> 
|
|
352
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> 
|
|
353
|
-
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> 
|
|
354
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> 
|
|
355
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
356
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
357
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> 
|
|
358
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> 
|
|
359
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
360
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> 
|
|
361
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> 
|
|
362
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 
|
|
363
|
-
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> 
|
|
364
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> 
|
|
365
|
-
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> 
|
|
366
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> 
|
|
367
|
-
<div class="line"><a name="
|
|
368
|
-
<div class="line"><a name="
|
|
369
|
-
<div class="line"><a name="
|
|
370
|
-
<div class="line"><a name="
|
|
371
|
-
<div class="line"><a name="
|
|
372
|
-
<div class="line"><a name="
|
|
373
|
-
<div class="line"><a name="
|
|
374
|
-
<div class="line"><a name="
|
|
375
|
-
<div class="line"><a name="
|
|
376
|
-
<div class="line"><a name="
|
|
377
|
-
<div class="line"><a name="
|
|
378
|
-
<div class="line"><a name="
|
|
379
|
-
<div class="line"><a name="
|
|
380
|
-
<div class="line"><a name="
|
|
381
|
-
<div class="line"><a name="
|
|
382
|
-
<div class="line"><a name="
|
|
383
|
-
<div class="line"><a name="
|
|
384
|
-
<div class="line"><a name="
|
|
385
|
-
<div class="line"><a name="
|
|
386
|
-
<div class="line"><a name="
|
|
387
|
-
<div class="line"><a name="
|
|
388
|
-
<div class="line"><a name="
|
|
389
|
-
<div class="line"><a name="
|
|
390
|
-
<div class="line"><a name="
|
|
391
|
-
<div class="line"><a name="
|
|
392
|
-
<div class="line"><a name="
|
|
393
|
-
<div class="line"><a name="
|
|
394
|
-
<div class="line"><a name="
|
|
395
|
-
<div class="line"><a name="
|
|
396
|
-
<div class="line"><a name="
|
|
397
|
-
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> 
|
|
398
|
-
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> 
|
|
399
|
-
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  </div>
|
|
400
|
-
<div class="line"><a name="l00357"></a><span class="lineno"
|
|
401
|
-
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> 
|
|
402
|
-
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <a class="code" href="
|
|
344
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">auto</span> git = <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(objId);</div>
|
|
345
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">if</span> (git == <a class="code" href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">globalConsES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
|
|
346
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  exprName << <span class="stringliteral">"Obj not in locToVal!\n"</span>;</div>
|
|
347
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">else</span></div>
|
|
348
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div>
|
|
349
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &vaddrs = git->second;</div>
|
|
350
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">if</span> (vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1)</div>
|
|
351
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div>
|
|
352
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  exprName << <span class="stringliteral">"addr: {"</span> << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(*vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>()) << <span class="stringliteral">"}\n"</span>;</div>
|
|
353
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  }</div>
|
|
354
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">else</span></div>
|
|
355
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div>
|
|
356
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  exprName << <span class="stringliteral">"addr: {"</span>;</div>
|
|
357
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: vaddrs)</div>
|
|
358
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div>
|
|
359
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  exprName << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr) << <span class="stringliteral">", "</span>;</div>
|
|
360
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  }</div>
|
|
361
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  exprName << <span class="stringliteral">"}\n"</span>;</div>
|
|
362
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div>
|
|
363
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div>
|
|
364
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  }</div>
|
|
365
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">else</span></div>
|
|
366
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  {</div>
|
|
367
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> &vaddrs = it->second;</div>
|
|
368
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">if</span> (vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1)</div>
|
|
369
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div>
|
|
370
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  exprName << <span class="stringliteral">"addr: {"</span> << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(*vaddrs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>()) << <span class="stringliteral">"}\n"</span>;</div>
|
|
371
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  }</div>
|
|
372
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">else</span></div>
|
|
373
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div>
|
|
374
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  exprName << <span class="stringliteral">"addr: {"</span>;</div>
|
|
375
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: vaddrs)</div>
|
|
376
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  {</div>
|
|
377
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  exprName << std::dec << <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">getInternalID</a>(addr) << <span class="stringliteral">", "</span>;</div>
|
|
378
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div>
|
|
379
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  exprName << <span class="stringliteral">"}\n"</span>;</div>
|
|
380
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div>
|
|
381
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  }</div>
|
|
382
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(exprName.str());</div>
|
|
383
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  }</div>
|
|
384
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  </div>
|
|
385
|
+
<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a5a1da3b1c8cdc3b3e07fe20124f6eeea"> 346</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> <a class="code" href="classSVF_1_1ConsExeState.html#a5a1da3b1c8cdc3b3e07fe20124f6eeea">initExeState</a>()</div>
|
|
386
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  {</div>
|
|
387
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> mp;</div>
|
|
388
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> exeState(mp, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(mp));</div>
|
|
389
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(exeState);</div>
|
|
390
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  }</div>
|
|
391
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  </div>
|
|
392
|
+
<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#adf54e333c3ad52bd4e0cee17c592e054"> 354</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> <a class="code" href="classSVF_1_1ConsExeState.html#adf54e333c3ad52bd4e0cee17c592e054">nullExeState</a>()</div>
|
|
393
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div>
|
|
394
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> mp;</div>
|
|
395
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="classSVF_1_1ConsExeState.html">ConsExeState</a> exeState(mp, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(mp));</div>
|
|
396
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  exeState.<a class="code" href="classSVF_1_1ConsExeState.html#a07b135c218f56fdab8ef8504190563df">_varToVal</a>[<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-><a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>()] = -1;</div>
|
|
397
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(exeState);</div>
|
|
403
398
|
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div>
|
|
404
399
|
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  </div>
|
|
405
|
-
<div class="line"><a name="l00362"></a><span class="lineno"
|
|
406
|
-
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> 
|
|
407
|
-
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> 
|
|
408
|
-
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> 
|
|
409
|
-
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  </div>
|
|
410
|
-
<div class="line"><a name="l00367"></a><span class="lineno"
|
|
411
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> 
|
|
412
|
-
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> 
|
|
413
|
-
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> 
|
|
414
|
-
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> 
|
|
415
|
-
<div class="line"><a name="l00372"></a><span class="lineno"
|
|
416
|
-
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> 
|
|
417
|
-
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> 
|
|
418
|
-
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> 
|
|
419
|
-
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> 
|
|
420
|
-
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> 
|
|
421
|
-
<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#
|
|
400
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">public</span>:</div>
|
|
401
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  </div>
|
|
402
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div>
|
|
403
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  </div>
|
|
404
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1ConsExeState.html#a3efeeb8311b868c4a7fc2df69f061317">getNumber</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs);</div>
|
|
405
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  </div>
|
|
406
|
+
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#abc69e7a4742ed1a925d7b0b72d2b9497"> 368</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> <a class="code" href="classSVF_1_1ConsExeState.html#abc69e7a4742ed1a925d7b0b72d2b9497">getIntOneZ3Expr</a>()</div>
|
|
407
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div>
|
|
408
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">getContext</a>().int_val(1);</div>
|
|
409
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div>
|
|
410
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  </div>
|
|
411
|
+
<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a7c96f8b3a9ba3d6d648a59388ef26ca6"> 373</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> <a class="code" href="classSVF_1_1ConsExeState.html#a7c96f8b3a9ba3d6d648a59388ef26ca6">getIntZeroZ3Expr</a>()</div>
|
|
412
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div>
|
|
413
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">getContext</a>().int_val(0);</div>
|
|
414
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  }</div>
|
|
415
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  </div>
|
|
416
|
+
<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a823502a869baf70a07294e265601cf2f"> 378</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> <a class="code" href="classSVF_1_1ConsExeState.html#a823502a869baf70a07294e265601cf2f">getTrueZ3Expr</a>()</div>
|
|
422
417
|
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  {</div>
|
|
423
|
-
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="
|
|
424
|
-
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> 
|
|
425
|
-
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> 
|
|
426
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> 
|
|
427
|
-
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> 
|
|
428
|
-
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> 
|
|
429
|
-
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> 
|
|
430
|
-
<div class="line"><a name="
|
|
418
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">getContext</a>().bool_val(<span class="keyword">true</span>);</div>
|
|
419
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  }</div>
|
|
420
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  </div>
|
|
421
|
+
<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a4997055a5a0a87db5420c569a43a9376"> 383</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> <a class="code" href="classSVF_1_1ConsExeState.html#a4997055a5a0a87db5420c569a43a9376">getFalseZ3Expr</a>()</div>
|
|
422
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div>
|
|
423
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">getContext</a>().bool_val(<span class="keyword">false</span>);</div>
|
|
424
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }</div>
|
|
425
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  </div>
|
|
426
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">public</span>:</div>
|
|
431
427
|
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  </div>
|
|
432
|
-
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="
|
|
428
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#adbf80e78f27a30f257fa8790f1cb78f5">store</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &loc, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &value);</div>
|
|
433
429
|
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  </div>
|
|
434
|
-
<div class="line"><a name="l00394"></a><span class="lineno"
|
|
435
|
-
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> 
|
|
436
|
-
<div class="line"><a name="
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="
|
|
445
|
-
<div class="line"><a name="
|
|
446
|
-
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> 
|
|
430
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> <a class="code" href="classSVF_1_1ConsExeState.html#a2fa6360da2149684a9771fdbfae71a66">load</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &loc);</div>
|
|
431
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  </div>
|
|
432
|
+
<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#ad8cd07a607743e8cbbf59bd5882c5043"> 397</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1ConsExeState.html#ad8cd07a607743e8cbbf59bd5882c5043">z3Expr2NumValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &e)</div>
|
|
433
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div>
|
|
434
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  assert(e.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() && <span class="stringliteral">"not numeral?"</span>);</div>
|
|
435
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  int64_t i;</div>
|
|
436
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">if</span>(e.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().is_numeral_i64(i))</div>
|
|
437
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> e.<a class="code" href="classSVF_1_1Z3Expr.html#ad94bbaa31e6df4e8b8238d69b8f4ae06">get_numeral_int64</a>();</div>
|
|
438
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">else</span></div>
|
|
439
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  {</div>
|
|
440
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">return</span> e.<a class="code" href="classSVF_1_1SingleAbsValue.html#aea878187748d809fdcc2568273a8d65b">leq</a>(0) ? INT32_MIN : INT32_MAX;</div>
|
|
441
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  }</div>
|
|
442
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  }</div>
|
|
447
443
|
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  </div>
|
|
448
|
-
<div class="line"><a name="
|
|
449
|
-
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> 
|
|
444
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#ae024143db76c3350ed581db661393052">eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> &pre, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> &nxt);</div>
|
|
445
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  </div>
|
|
450
446
|
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  </div>
|
|
451
|
-
<div class="line"><a name="
|
|
452
|
-
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">private</span>:</div>
|
|
447
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a4878ea0f5c2cc014ac2f5ecbc6534466">lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">VarToValMap</a> &rhs);</div>
|
|
453
448
|
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  </div>
|
|
454
449
|
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  </div>
|
|
455
|
-
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> 
|
|
450
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">private</span>:</div>
|
|
456
451
|
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  </div>
|
|
457
|
-
<div class="line"><a name="l00419"></a><span class="lineno"
|
|
458
|
-
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 
|
|
459
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> 
|
|
460
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> 
|
|
461
|
-
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> 
|
|
462
|
-
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> 
|
|
463
|
-
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> 
|
|
464
|
-
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> 
|
|
465
|
-
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> 
|
|
466
|
-
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">return</span> <span class="keyword">
|
|
467
|
-
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> 
|
|
468
|
-
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  </div>
|
|
469
|
-
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> 
|
|
470
|
-
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }
|
|
452
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  </div>
|
|
453
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a673a2b823a1c3ea46f38e3956ca143e8">assign</a>(<a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &rhs);</div>
|
|
454
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div>
|
|
455
|
+
<div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classSVF_1_1ConsExeState.html#a79b012f5f551dfb27ce1ca3d193dba55"> 422</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ConsExeState.html#a79b012f5f551dfb27ce1ca3d193dba55">store</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &z3Expr)</div>
|
|
456
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  {</div>
|
|
457
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> &lhs = <a class="code" href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">_locToVal</a>[objId];</div>
|
|
458
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">if</span> (!eq(lhs, z3Expr.<a class="code" href="classSVF_1_1SingleAbsValue.html#a7009d1a2517b29dda0bb58e5676687c2">simplify</a>()))</div>
|
|
459
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  {</div>
|
|
460
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  lhs = z3Expr.<a class="code" href="classSVF_1_1SingleAbsValue.html#a7009d1a2517b29dda0bb58e5676687c2">simplify</a>();</div>
|
|
461
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
462
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div>
|
|
463
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">else</span></div>
|
|
464
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
465
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  }</div>
|
|
471
466
|
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  </div>
|
|
472
|
-
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> 
|
|
473
|
-
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  </div>
|
|
474
|
-
<div class="line"><a name="
|
|
475
|
-
<div class="line"><a name="
|
|
476
|
-
<div class="line"><a name="
|
|
477
|
-
<div class="line"><a name="l00440"></a><span class="lineno"
|
|
478
|
-
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keyword">
|
|
479
|
-
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> 
|
|
480
|
-
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> 
|
|
481
|
-
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> 
|
|
482
|
-
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  </div>
|
|
483
|
-
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> 
|
|
484
|
-
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> 
|
|
485
|
-
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> 
|
|
467
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SingleAbsValue.html">SingleAbsValue</a> <a class="code" href="classSVF_1_1ConsExeState.html#a2fa6360da2149684a9771fdbfae71a66">load</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId);</div>
|
|
468
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> }; <span class="comment">// end class ConExeState</span></div>
|
|
469
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  </div>
|
|
470
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> } <span class="comment">// end namespace SVF</span></div>
|
|
471
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  </div>
|
|
472
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keyword">template</span><></div>
|
|
473
|
+
<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html"> 441</a></span> <span class="keyword">struct </span>std::hash<<a class="code" href="namespaceSVF.html">SVF</a>::ConsExeState></div>
|
|
474
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> {</div>
|
|
475
|
+
<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html#a4c48e03d1f703d7d68065fdbbd4fee22"> 443</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html#a4c48e03d1f703d7d68065fdbbd4fee22">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ConsExeState.html">SVF::ConsExeState</a> &exeState)<span class="keyword"> const</span></div>
|
|
476
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keyword"> </span>{</div>
|
|
477
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">return</span> exeState.<a class="code" href="classSVF_1_1ConsExeState.html#a374e087ef40804ed00a631ed22e91590">hash</a>();</div>
|
|
478
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  }</div>
|
|
479
|
+
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> };</div>
|
|
480
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  </div>
|
|
481
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  </div>
|
|
482
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  </div>
|
|
483
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor">#endif // SVF_CONSEXESTATE_H</span></div>
|
|
486
484
|
</div><!-- fragment --></div><!-- contents -->
|
|
487
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_adf54e333c3ad52bd4e0cee17c592e054"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#adf54e333c3ad52bd4e0cee17c592e054">SVF::ConsExeState::nullExeState</a></div><div class="ttdeci">static ConsExeState nullExeState()</div><div class="ttdoc">Empty execution state with a null expr.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
488
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a24e9becca0339056ba900ee35ab882f3"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a24e9becca0339056ba900ee35ab882f3">SVF::ConsExeState::operator!=</a></div><div class="ttdeci">bool operator!=(const ConsExeState &other) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
489
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_af8f2b698dd97793b0124cd5a4ac4d035"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#af8f2b698dd97793b0124cd5a4ac4d035">SVF::ConsExeState::inLocalLocToAddrsTable</a></div><div class="ttdeci">virtual bool inLocalLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
490
|
-
<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="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
485
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_adf54e333c3ad52bd4e0cee17c592e054"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#adf54e333c3ad52bd4e0cee17c592e054">SVF::ConsExeState::nullExeState</a></div><div class="ttdeci">static ConsExeState nullExeState()</div><div class="ttdoc">Empty execution state with a null expr.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00354">ConsExeState.h:354</a></div></div>
|
|
486
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a24e9becca0339056ba900ee35ab882f3"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a24e9becca0339056ba900ee35ab882f3">SVF::ConsExeState::operator!=</a></div><div class="ttdeci">bool operator!=(const ConsExeState &other) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00103">ConsExeState.h:103</a></div></div>
|
|
487
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_af8f2b698dd97793b0124cd5a4ac4d035"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#af8f2b698dd97793b0124cd5a4ac4d035">SVF::ConsExeState::inLocalLocToAddrsTable</a></div><div class="ttdeci">virtual bool inLocalLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00172">ConsExeState.h:172</a></div></div>
|
|
488
|
+
<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>
|
|
491
489
|
<div class="ttc" id="aclassSVF_1_1SingleAbsValue_html_aea878187748d809fdcc2568273a8d65b"><div class="ttname"><a href="classSVF_1_1SingleAbsValue.html#aea878187748d809fdcc2568273a8d65b">SVF::SingleAbsValue::leq</a></div><div class="ttdeci">bool leq(const SingleAbsValue &rhs) const</div><div class="ttdoc">Less then or equal.</div><div class="ttdef"><b>Definition:</b> <a href="SingleAbsValue_8h_source.html#l00125">SingleAbsValue.h:125</a></div></div>
|
|
492
490
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a3f5fa4efdd0f45b375f18596734f3d07"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a3f5fa4efdd0f45b375f18596734f3d07">SVF::ConsExeState::applySelect</a></div><div class="ttdeci">bool applySelect(u32_t res, u32_t cond, u32_t top, u32_t fop)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00446">ConsExeState.cpp:446</a></div></div>
|
|
493
491
|
<div class="ttc" id="aclassSVF_1_1Z3Expr_html_a57c199ba2c3c6a6d44a86e0b1429be55"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">SVF::Z3Expr::getExpr</a></div><div class="ttdeci">const z3::expr & getExpr() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00079">Z3Expr.h:79</a></div></div>
|
|
494
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a79b012f5f551dfb27ce1ca3d193dba55"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a79b012f5f551dfb27ce1ca3d193dba55">SVF::ConsExeState::store</a></div><div class="ttdeci">bool store(u32_t objId, const SingleAbsValue &z3Expr)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
492
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a79b012f5f551dfb27ce1ca3d193dba55"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a79b012f5f551dfb27ce1ca3d193dba55">SVF::ConsExeState::store</a></div><div class="ttdeci">bool store(u32_t objId, const SingleAbsValue &z3Expr)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00422">ConsExeState.h:422</a></div></div>
|
|
495
493
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_ae93859318bf4f618b4cf681988a870ce"><div class="ttname"><a href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">SVF::AddressValue::size</a></div><div class="ttdeci">u32_t size() const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00118">AddressValue.h:118</a></div></div>
|
|
496
494
|
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
|
|
497
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4997055a5a0a87db5420c569a43a9376"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4997055a5a0a87db5420c569a43a9376">SVF::ConsExeState::getFalseZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getFalseZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
498
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a7c8106f2fd388145018dd4dc77dd1e93"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a7c8106f2fd388145018dd4dc77dd1e93">SVF::ConsExeState::~ConsExeState</a></div><div class="ttdeci">~ConsExeState() override</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
495
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4997055a5a0a87db5420c569a43a9376"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4997055a5a0a87db5420c569a43a9376">SVF::ConsExeState::getFalseZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getFalseZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00383">ConsExeState.h:383</a></div></div>
|
|
496
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a7c8106f2fd388145018dd4dc77dd1e93"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a7c8106f2fd388145018dd4dc77dd1e93">SVF::ConsExeState::~ConsExeState</a></div><div class="ttdeci">~ConsExeState() override</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00073">ConsExeState.h:73</a></div></div>
|
|
499
497
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
|
|
500
|
-
<div class="ttc" id="aclassSVF_1_1ExeState_html_abfaad70395d9f4416f297887c84f7df4"><div class="ttname"><a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
501
|
-
<div class="ttc" id="aclassSVF_1_1ExeState_html_a35a28ef0a8acd14f44e6755eff424d9d"><div class="ttname"><a href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">SVF::ExeState::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
502
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a08f64cf55802c4ddbc1e01b06ce55dec"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a08f64cf55802c4ddbc1e01b06ce55dec">SVF::ConsExeState::isNullState</a></div><div class="ttdeci">bool isNullState() const</div><div class="ttdoc">Whether state is null state (uninitialized state)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
498
|
+
<div class="ttc" id="aclassSVF_1_1ExeState_html_abfaad70395d9f4416f297887c84f7df4"><div class="ttname"><a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00277">ExeState.h:277</a></div></div>
|
|
499
|
+
<div class="ttc" id="aclassSVF_1_1ExeState_html_a35a28ef0a8acd14f44e6755eff424d9d"><div class="ttname"><a href="classSVF_1_1ExeState.html#a35a28ef0a8acd14f44e6755eff424d9d">SVF::ExeState::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00265">ExeState.h:265</a></div></div>
|
|
500
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a08f64cf55802c4ddbc1e01b06ce55dec"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a08f64cf55802c4ddbc1e01b06ce55dec">SVF::ConsExeState::isNullState</a></div><div class="ttdeci">bool isNullState() const</div><div class="ttdoc">Whether state is null state (uninitialized state)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00205">ConsExeState.h:205</a></div></div>
|
|
503
501
|
<div class="ttc" id="aclassSVF_1_1SingleAbsValue_html_a7009d1a2517b29dda0bb58e5676687c2"><div class="ttname"><a href="classSVF_1_1SingleAbsValue.html#a7009d1a2517b29dda0bb58e5676687c2">SVF::SingleAbsValue::simplify</a></div><div class="ttdeci">SingleAbsValue simplify() const</div><div class="ttdef"><b>Definition:</b> <a href="SingleAbsValue_8h_source.html#l00458">SingleAbsValue.h:458</a></div></div>
|
|
504
502
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ConsExeState_html"><div class="ttname"><a href="classSVF_1_1SVFIR2ConsExeState.html">SVF::SVFIR2ConsExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ConsExeState_8h_source.html#l00035">SVFIR2ConsExeState.h:35</a></div></div>
|
|
505
503
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a2fa6360da2149684a9771fdbfae71a66"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a2fa6360da2149684a9771fdbfae71a66">SVF::ConsExeState::load</a></div><div class="ttdeci">SingleAbsValue load(const SingleAbsValue &loc)</div><div class="ttdoc">Load value at location.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00521">ConsExeState.cpp:521</a></div></div>
|
|
506
504
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_af1b6335e3ca95d491b0d8dfb95cf3c9b"><div class="ttname"><a href="classSVF_1_1ExeState.html#af1b6335e3ca95d491b0d8dfb95cf3c9b">SVF::ExeState::ExeState</a></div><div class="ttdeci">ExeState(ExeState_TYPE kind)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00063">ExeState.h:63</a></div></div>
|
|
507
|
-
<div class="ttc" id="
|
|
508
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a77fc570e6ee986c50cecaa20f06e6f77"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a77fc570e6ee986c50cecaa20f06e6f77">SVF::ConsExeState::inLocalLocToVal</a></div><div class="ttdeci">bool inLocalLocToVal(u32_t varId) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00165">ConsExeState.h:165</a></div></div>
|
|
505
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a865998aed7e292ebd15532506eadea55"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a865998aed7e292ebd15532506eadea55">SVF::ConsExeState::loadAddrs</a></div><div class="ttdeci">virtual Addrs & loadAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00228">ConsExeState.h:228</a></div></div>
|
|
509
506
|
<div class="ttc" id="aExeState_8h_html"><div class="ttname"><a href="ExeState_8h.html">ExeState.h</a></div></div>
|
|
510
|
-
<div class="ttc" id="
|
|
511
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a6205eb8ceaba400a2ad5a554abaed096"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a6205eb8ceaba400a2ad5a554abaed096">SVF::ConsExeState::getVAddrs</a></div><div class="ttdeci">virtual VAddrs & getVAddrs(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00198">ConsExeState.h:198</a></div></div>
|
|
507
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_aa4a3abdc9a7fe9af0b82190bf7827efa"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#aa4a3abdc9a7fe9af0b82190bf7827efa">SVF::ConsExeState::inLocalLocToValTable</a></div><div class="ttdeci">bool inLocalLocToValTable(const SingleAbsValue &addr) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00182">ConsExeState.h:182</a></div></div>
|
|
512
508
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a642724fd50872cf54d427f46420bbc70"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a642724fd50872cf54d427f46420bbc70">SVF::ConsExeState::operator=</a></div><div class="ttdeci">ConsExeState & operator=(const ConsExeState &rhs)</div><div class="ttdoc">Copy operator.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00045">ConsExeState.cpp:45</a></div></div>
|
|
513
509
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4553e0d059ea66f9a0287454686eb558"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4553e0d059ea66f9a0287454686eb558">SVF::ConsExeState::toString</a></div><div class="ttdeci">std::string toString() const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00410">ConsExeState.cpp:410</a></div></div>
|
|
514
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ad3914ce88b680803d7744c4fa63fa93b"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ad3914ce88b680803d7744c4fa63fa93b">SVF::ConsExeState::equalVar</a></div><div class="ttdeci">bool equalVar(u32_t lhs, u32_t rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
515
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a990f50ae338a2e332d333bb3fc04c520"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a990f50ae338a2e332d333bb3fc04c520">SVF::ConsExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
510
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ad3914ce88b680803d7744c4fa63fa93b"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ad3914ce88b680803d7744c4fa63fa93b">SVF::ConsExeState::equalVar</a></div><div class="ttdeci">bool equalVar(u32_t lhs, u32_t rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00198">ConsExeState.h:198</a></div></div>
|
|
511
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a990f50ae338a2e332d333bb3fc04c520"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a990f50ae338a2e332d333bb3fc04c520">SVF::ConsExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00162">ConsExeState.h:162</a></div></div>
|
|
516
512
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ac3ea5c4d65fac8934276a1ad12c97d06"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">SVF::ConsExeState::globalConsES</a></div><div class="ttdeci">static ConsExeState globalConsES</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00055">ConsExeState.h:55</a></div></div>
|
|
517
513
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
514
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a8da7bf977911ca6d3bd27f38ef852321"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a8da7bf977911ca6d3bd27f38ef852321">SVF::ConsExeState::inLocalLocToValTable</a></div><div class="ttdeci">bool inLocalLocToValTable(u32_t varId) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00177">ConsExeState.h:177</a></div></div>
|
|
518
515
|
<div class="ttc" id="aclassSVF_1_1ExeState_html"><div class="ttname"><a href="classSVF_1_1ExeState.html">SVF::ExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
519
516
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
|
|
517
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ad42a15421be927dbb4eb7efb10548850"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ad42a15421be927dbb4eb7efb10548850">SVF::ConsExeState::inVarToValTable</a></div><div class="ttdeci">bool inVarToValTable(u32_t varId) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00145">ConsExeState.h:145</a></div></div>
|
|
520
518
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4878ea0f5c2cc014ac2f5ecbc6534466"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4878ea0f5c2cc014ac2f5ecbc6534466">SVF::ConsExeState::lessThanVarToValMap</a></div><div class="ttdeci">static bool lessThanVarToValMap(const VarToValMap &lhs, const VarToValMap &rhs)</div><div class="ttdoc">Whether lhs is less than rhs.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00559">ConsExeState.cpp:559</a></div></div>
|
|
521
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_abc69e7a4742ed1a925d7b0b72d2b9497"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#abc69e7a4742ed1a925d7b0b72d2b9497">SVF::ConsExeState::getIntOneZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getIntOneZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
519
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_abc69e7a4742ed1a925d7b0b72d2b9497"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#abc69e7a4742ed1a925d7b0b72d2b9497">SVF::ConsExeState::getIntOneZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getIntOneZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00368">ConsExeState.h:368</a></div></div>
|
|
522
520
|
<div class="ttc" id="aSingleAbsValue_8h_html"><div class="ttname"><a href="SingleAbsValue_8h.html">SingleAbsValue.h</a></div></div>
|
|
523
|
-
<div class="ttc" id="
|
|
521
|
+
<div class="ttc" id="aclassSVF_1_1BoundedZ3Expr_html_af62c2d6bc40080b9728c107cf317184b"><div class="ttname"><a href="classSVF_1_1BoundedZ3Expr.html#af62c2d6bc40080b9728c107cf317184b">SVF::BoundedZ3Expr::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="BoundedZ3Expr_8h_source.html#l00349">BoundedZ3Expr.h:349</a></div></div>
|
|
522
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_aa3f16fb06541184e49ef4f4ea95d894c"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#aa3f16fb06541184e49ef4f4ea95d894c">SVF::ConsExeState::varToAddrs</a></div><div class="ttdeci">virtual std::string varToAddrs(u32_t varId) const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00251">ConsExeState.h:251</a></div></div>
|
|
524
523
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_adbf80e78f27a30f257fa8790f1cb78f5"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#adbf80e78f27a30f257fa8790f1cb78f5">SVF::ConsExeState::store</a></div><div class="ttdeci">bool store(const SingleAbsValue &loc, const SingleAbsValue &value)</div><div class="ttdoc">Store value to location.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00508">ConsExeState.cpp:508</a></div></div>
|
|
525
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a7c96f8b3a9ba3d6d648a59388ef26ca6"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a7c96f8b3a9ba3d6d648a59388ef26ca6">SVF::ConsExeState::getIntZeroZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getIntZeroZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
524
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a7c96f8b3a9ba3d6d648a59388ef26ca6"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a7c96f8b3a9ba3d6d648a59388ef26ca6">SVF::ConsExeState::getIntZeroZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getIntZeroZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00373">ConsExeState.h:373</a></div></div>
|
|
526
525
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a374e087ef40804ed00a631ed22e91590"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a374e087ef40804ed00a631ed22e91590">SVF::ConsExeState::hash</a></div><div class="ttdeci">u32_t hash() const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00097">ConsExeState.cpp:97</a></div></div>
|
|
527
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a1effca0f87f2180e160600ee5528b12f"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a1effca0f87f2180e160600ee5528b12f">SVF::ConsExeState::inLocToAddrsTable</a></div><div class="ttdeci">virtual bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
526
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a1effca0f87f2180e160600ee5528b12f"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a1effca0f87f2180e160600ee5528b12f">SVF::ConsExeState::inLocToAddrsTable</a></div><div class="ttdeci">virtual bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00151">ConsExeState.h:151</a></div></div>
|
|
528
527
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a673a2b823a1c3ea46f38e3956ca143e8"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a673a2b823a1c3ea46f38e3956ca143e8">SVF::ConsExeState::assign</a></div><div class="ttdeci">static bool assign(SingleAbsValue &lhs, const SingleAbsValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00595">ConsExeState.cpp:595</a></div></div>
|
|
529
528
|
<div class="ttc" id="aclassSVF_1_1Z3Expr_html_ad94bbaa31e6df4e8b8238d69b8f4ae06"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad94bbaa31e6df4e8b8238d69b8f4ae06">SVF::Z3Expr::get_numeral_int64</a></div><div class="ttdeci">int64_t get_numeral_int64() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00135">Z3Expr.h:135</a></div></div>
|
|
530
529
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a64a755f61886ef3f43f48c47eb76e9cc"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a64a755f61886ef3f43f48c47eb76e9cc">SVF::ConsExeState::VarToValMap</a></div><div class="ttdeci">Map< u32_t, SingleAbsValue > VarToValMap</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00052">ConsExeState.h:52</a></div></div>
|
|
531
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ad8cd07a607743e8cbbf59bd5882c5043"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ad8cd07a607743e8cbbf59bd5882c5043">SVF::ConsExeState::z3Expr2NumValue</a></div><div class="ttdeci">static s32_t z3Expr2NumValue(const SingleAbsValue &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
532
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a2c661a9a6742cd091dccabee30314f89"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a2c661a9a6742cd091dccabee30314f89">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState(ConsExeState &&rhs) noexcept</div><div class="ttdoc">Move Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
533
|
-
<div class="ttc" id="
|
|
530
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ad8cd07a607743e8cbbf59bd5882c5043"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ad8cd07a607743e8cbbf59bd5882c5043">SVF::ConsExeState::z3Expr2NumValue</a></div><div class="ttdeci">static s32_t z3Expr2NumValue(const SingleAbsValue &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00397">ConsExeState.h:397</a></div></div>
|
|
531
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a2c661a9a6742cd091dccabee30314f89"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a2c661a9a6742cd091dccabee30314f89">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState(ConsExeState &&rhs) noexcept</div><div class="ttdoc">Move Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00083">ConsExeState.h:83</a></div></div>
|
|
532
|
+
<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>
|
|
534
533
|
<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>
|
|
535
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a5d4061449afa88fcb806cba0adeeac68"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a5d4061449afa88fcb806cba0adeeac68">SVF::ConsExeState::name</a></div><div class="ttdeci">static std::string name()</div><div class="ttdoc">Name.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
534
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a5d4061449afa88fcb806cba0adeeac68"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a5d4061449afa88fcb806cba0adeeac68">SVF::ConsExeState::name</a></div><div class="ttdeci">static std::string name()</div><div class="ttdoc">Name.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00093">ConsExeState.h:93</a></div></div>
|
|
536
535
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a312954e26e384366f0ce2e99df918eda"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a312954e26e384366f0ce2e99df918eda">SVF::ConsExeState::operator<</a></div><div class="ttdeci">bool operator<(const ConsExeState &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00089">ConsExeState.cpp:89</a></div></div>
|
|
537
536
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a3de9a2a565c303f68a90c32dc59febd5"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">SVF::IRGraph::getNullPtr</a></div><div class="ttdeci">NodeID getNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00174">IRGraph.h:174</a></div></div>
|
|
538
|
-
<div class="ttc" id="aclassSVF_1_1ExeState_html_ab72f3bc855feeda75e11768ab03ad84e"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">SVF::ExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
537
|
+
<div class="ttc" id="aclassSVF_1_1ExeState_html_ab72f3bc855feeda75e11768ab03ad84e"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">SVF::ExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00283">ExeState.h:283</a></div></div>
|
|
539
538
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
|
|
540
|
-
<div class="ttc" id="astructstd_1_1hash_3_01SVF_1_1ConsExeState_01_4_html_a4c48e03d1f703d7d68065fdbbd4fee22"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html#a4c48e03d1f703d7d68065fdbbd4fee22">std::hash< SVF::ConsExeState >::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::ConsExeState &exeState) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
541
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ae708165c762328232dab128e27a62f30"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ae708165c762328232dab128e27a62f30">SVF::ConsExeState::operator==</a></div><div class="ttdeci">bool operator==(const ConsExeState &rhs) const</div><div class="
|
|
542
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ae2868bff69d249ff28daff28fd3c86ea"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ae2868bff69d249ff28daff28fd3c86ea">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
539
|
+
<div class="ttc" id="astructstd_1_1hash_3_01SVF_1_1ConsExeState_01_4_html_a4c48e03d1f703d7d68065fdbbd4fee22"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html#a4c48e03d1f703d7d68065fdbbd4fee22">std::hash< SVF::ConsExeState >::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::ConsExeState &exeState) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00443">ConsExeState.h:443</a></div></div>
|
|
540
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ae708165c762328232dab128e27a62f30"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ae708165c762328232dab128e27a62f30">SVF::ConsExeState::operator==</a></div><div class="ttdeci">bool operator==(const ConsExeState &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00077">ConsExeState.cpp:77</a></div></div>
|
|
541
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ae2868bff69d249ff28daff28fd3c86ea"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ae2868bff69d249ff28daff28fd3c86ea">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00058">ConsExeState.h:58</a></div></div>
|
|
543
542
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a8f2668196be5ecbc061d5b43caa43cae"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a8f2668196be5ecbc061d5b43caa43cae">SVF::ConsExeState::joinWith</a></div><div class="ttdeci">bool joinWith(const ConsExeState &rhs)</div><div class="ttdoc">Merge rhs into this.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00145">ConsExeState.cpp:145</a></div></div>
|
|
544
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a22eb7b0b38d8df8efae757f4c76b5328"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a22eb7b0b38d8df8efae757f4c76b5328">SVF::ConsExeState::inLocalLocToVal</a></div><div class="ttdeci">bool inLocalLocToVal(const SingleAbsValue &loc) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00155">ConsExeState.h:155</a></div></div>
|
|
545
543
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a3efeeb8311b868c4a7fc2df69f061317"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a3efeeb8311b868c4a7fc2df69f061317">SVF::ConsExeState::getNumber</a></div><div class="ttdeci">s64_t getNumber(u32_t lhs)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00498">ConsExeState.cpp:498</a></div></div>
|
|
546
544
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a3905e71e489f8caf29e378364ea6e593"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a3905e71e489f8caf29e378364ea6e593">SVF::ConsExeState::pcToString</a></div><div class="ttdeci">std::string pcToString() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00332">ConsExeState.cpp:332</a></div></div>
|
|
547
545
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ae024143db76c3350ed581db661393052"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ae024143db76c3350ed581db661393052">SVF::ConsExeState::eqVarToValMap</a></div><div class="ttdeci">static bool eqVarToValMap(const VarToValMap &pre, const VarToValMap &nxt)</div><div class="ttdoc">Whether two var to value map is equivalent.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00538">ConsExeState.cpp:538</a></div></div>
|
|
548
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a61645ed0edcdab44f30f6e0e3989cb6d"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a61645ed0edcdab44f30f6e0e3989cb6d">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState(const ConsExeState &rhs)</div><div class="ttdoc">Copy Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
546
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a61645ed0edcdab44f30f6e0e3989cb6d"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a61645ed0edcdab44f30f6e0e3989cb6d">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState(const ConsExeState &rhs)</div><div class="ttdoc">Copy Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00066">ConsExeState.h:66</a></div></div>
|
|
549
547
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e"><div class="ttname"><a href="classSVF_1_1ExeState.html#a259b93247e06141077b2c1ae15efcbb8acb163848414937d2331958216330a20e">SVF::ExeState::SingleValueK</a></div><div class="ttdeci">@ SingleValueK</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00057">ExeState.h:57</a></div></div>
|
|
550
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4136ad2172772347e8d6aedc2f8b811e"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4136ad2172772347e8d6aedc2f8b811e">SVF::ConsExeState::locToAddrs</a></div><div class="ttdeci">virtual std::string locToAddrs(u32_t objId) const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
551
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a987e69694742dafb49eb697bfde5cd19"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">SVF::ConsExeState::_locToVal</a></div><div class="ttdeci">LocToValMap _locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
548
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4136ad2172772347e8d6aedc2f8b811e"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4136ad2172772347e8d6aedc2f8b811e">SVF::ConsExeState::locToAddrs</a></div><div class="ttdeci">virtual std::string locToAddrs(u32_t objId) const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00298">ConsExeState.h:298</a></div></div>
|
|
549
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a987e69694742dafb49eb697bfde5cd19"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a987e69694742dafb49eb697bfde5cd19">SVF::ConsExeState::_locToVal</a></div><div class="ttdeci">LocToValMap _locToVal</div><div class="ttdoc">Map a memory address to its stored constant value.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00115">ConsExeState.h:115</a></div></div>
|
|
552
550
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a600317df0db3e813b952727884111cdd"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a600317df0db3e813b952727884111cdd">SVF::ConsExeState::applySummary</a></div><div class="ttdeci">void applySummary(const ConsExeState &summary)</div><div class="ttdoc">Update symbolic states based on the summary/side-effect of callee.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00229">ConsExeState.cpp:229</a></div></div>
|
|
553
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a755fbe99c6d02b6a7897dad86f46c580"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a755fbe99c6d02b6a7897dad86f46c580">SVF::ConsExeState::inVarToAddrsTable</a></div><div class="ttdeci">virtual bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
554
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a5a1da3b1c8cdc3b3e07fe20124f6eeea"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a5a1da3b1c8cdc3b3e07fe20124f6eeea">SVF::ConsExeState::initExeState</a></div><div class="ttdeci">static ConsExeState initExeState()</div><div class="ttdoc">Empty execution state with a true path constraint.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
555
|
-
<div class="ttc" id="
|
|
551
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a755fbe99c6d02b6a7897dad86f46c580"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a755fbe99c6d02b6a7897dad86f46c580">SVF::ConsExeState::inVarToAddrsTable</a></div><div class="ttdeci">virtual bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00138">ConsExeState.h:138</a></div></div>
|
|
552
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a5a1da3b1c8cdc3b3e07fe20124f6eeea"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a5a1da3b1c8cdc3b3e07fe20124f6eeea">SVF::ConsExeState::initExeState</a></div><div class="ttdeci">static ConsExeState initExeState()</div><div class="ttdoc">Empty execution state with a true path constraint.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00346">ConsExeState.h:346</a></div></div>
|
|
553
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4481c80fcf9c64f23e8a216dfc01869a"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4481c80fcf9c64f23e8a216dfc01869a">SVF::ConsExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t varId) const</div><div class="ttdoc">whether the memory address stores constant value</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00157">ConsExeState.h:157</a></div></div>
|
|
554
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a22e7ec17139695a1ae73bd058aa78e36"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a22e7ec17139695a1ae73bd058aa78e36">SVF::ConsExeState::operator[]</a></div><div class="ttdeci">SingleAbsValue & operator[](u32_t varId)</div><div class="ttdoc">get constant value of variable</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00128">ConsExeState.h:128</a></div></div>
|
|
556
555
|
<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>
|
|
557
556
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a559fb9ebd9c5ca18bb0b9ea062cd27db"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a559fb9ebd9c5ca18bb0b9ea062cd27db">SVF::ConsExeState::LocToValMap</a></div><div class="ttdeci">VarToValMap LocToValMap</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00053">ConsExeState.h:53</a></div></div>
|
|
558
557
|
<div class="ttc" id="aclassSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00120">Z3Expr.h:120</a></div></div>
|
|
559
558
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a000e1c5692e4027b38569898f683bada"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a000e1c5692e4027b38569898f683bada">SVF::ConsExeState::varToString</a></div><div class="ttdeci">std::string varToString(u32_t varId) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00339">ConsExeState.cpp:339</a></div></div>
|
|
560
559
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a6304348363989dde61754ae161756f0f"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a6304348363989dde61754ae161756f0f">SVF::ConsExeState::applyPhi</a></div><div class="ttdeci">bool applyPhi(u32_t res, std::vector< u32_t > &ops)</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00465">ConsExeState.cpp:465</a></div></div>
|
|
560
|
+
<div class="ttc" id="aclassSVF_1_1ExeState_html_a79866a547dc4805d3fefdfd528d2df2a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">SVF::ExeState::_locToAddrs</a></div><div class="ttdeci">VarToAddrs _locToAddrs</div><div class="ttdoc">Map a memory address to its stored memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00096">ExeState.h:96</a></div></div>
|
|
561
561
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a2c4c9f57bf31e8716bbfced40931fe5d"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a2c4c9f57bf31e8716bbfced40931fe5d">SVF::ConsExeState::locToString</a></div><div class="ttdeci">std::string locToString(u32_t objId) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00384">ConsExeState.cpp:384</a></div></div>
|
|
562
|
-
<div class="ttc" id="
|
|
563
|
-
<div class="ttc" id="
|
|
564
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a6d954f4aef6af30852bdc7ddb67a9d55"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a6d954f4aef6af30852bdc7ddb67a9d55">SVF::ConsExeState::loadVAddrs</a></div><div class="ttdeci">virtual VAddrs & loadVAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00205">ConsExeState.h:205</a></div></div>
|
|
562
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_ad619c8c3874b9c65e706651d6a1c22ab"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ad619c8c3874b9c65e706651d6a1c22ab">SVF::ConsExeState::ConsExeState</a></div><div class="ttdeci">ConsExeState(VarToValMap varToValMap, LocToValMap locToValMap)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00062">ConsExeState.h:62</a></div></div>
|
|
563
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a17ba209c5045d53c7df66d5cf031f8a4"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a17ba209c5045d53c7df66d5cf031f8a4">SVF::ConsExeState::getAddrs</a></div><div class="ttdeci">virtual Addrs & getAddrs(u32_t id) override</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00120">ConsExeState.h:120</a></div></div>
|
|
565
564
|
<div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00054">SVFType.h:54</a></div></div>
|
|
566
565
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html"><div class="ttname"><a href="classSVF_1_1ConsExeState.html">SVF::ConsExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00047">ConsExeState.h:47</a></div></div>
|
|
567
566
|
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
|
|
568
567
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4cdddbbcb6b07f2db9cfad565ca7e57b"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4cdddbbcb6b07f2db9cfad565ca7e57b">SVF::ConsExeState::buildGlobES</a></div><div class="ttdeci">void buildGlobES(ConsExeState &globES, Set< u32_t > &vars)</div><div class="ttdoc">Build global execution state.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00125">ConsExeState.cpp:125</a></div></div>
|
|
569
568
|
<div class="ttc" id="aclassSVF_1_1SingleAbsValue_html"><div class="ttname"><a href="classSVF_1_1SingleAbsValue.html">SVF::SingleAbsValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SingleAbsValue_8h_source.html#l00016">SingleAbsValue.h:16</a></div></div>
|
|
570
569
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
|
|
571
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a823502a869baf70a07294e265601cf2f"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a823502a869baf70a07294e265601cf2f">SVF::ConsExeState::getTrueZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getTrueZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
570
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_a823502a869baf70a07294e265601cf2f"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a823502a869baf70a07294e265601cf2f">SVF::ConsExeState::getTrueZ3Expr</a></div><div class="ttdeci">static SingleAbsValue getTrueZ3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00378">ConsExeState.h:378</a></div></div>
|
|
572
571
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_aed0b4789beda4980e4e215a65350f323"><div class="ttname"><a href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">SVF::AddressValue::begin</a></div><div class="ttdeci">AddrSet::const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00103">AddressValue.h:103</a></div></div>
|
|
573
|
-
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_adf45b2d4b73220e80a1265f4e1b1ee35"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#adf45b2d4b73220e80a1265f4e1b1ee35">SVF::ConsExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap & getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#
|
|
572
|
+
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_adf45b2d4b73220e80a1265f4e1b1ee35"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#adf45b2d4b73220e80a1265f4e1b1ee35">SVF::ConsExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap & getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00167">ConsExeState.h:167</a></div></div>
|
|
574
573
|
<div class="ttc" id="aclassSVF_1_1ConsExeState_html_aa9892fc61571c173598cd73598c589fa"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#aa9892fc61571c173598cd73598c589fa">SVF::ConsExeState::printExprValues</a></div><div class="ttdeci">void printExprValues() const</div><div class="ttdoc">Print values of all expressions.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00252">ConsExeState.cpp:252</a></div></div>
|
|
575
574
|
<!-- start footer part -->
|
|
576
575
|
<hr class="footer"/><address class="footer"><small>
|