File tree 10 files changed +15
-5
lines changed
10 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ Require SelectOp.
23
23
24
24
Definition const_for_result (a: aval) : option operation :=
25
25
match a with
26
- | I n => Some(Ointconst n)
26
+ | I n | IU n => Some(Ointconst n)
27
27
| L n => Some(Olongconst n)
28
28
| F n => if Compopts.generate_float_constants tt then Some(Ofloatconst n) else None
29
29
| FS n => if Compopts.generate_float_constants tt then Some(Osingleconst n) else None
Original file line number Diff line number Diff line change 92
92
unfold const_for_result; intros; destruct a; inv H; SimplVM.
93
93
- (* integer *)
94
94
exists (Vint n); auto.
95
+ - (* integer or undef *)
96
+ exists (Vint n); split; auto. inv H0; auto.
95
97
- (* long *)
96
98
exists (Vlong n); auto.
97
99
- (* float *)
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ Require Import ValueDomain ValueAOp.
26
26
27
27
Definition const_for_result (a: aval) : option operation :=
28
28
match a with
29
- | I n => Some(Ointconst n)
29
+ | I n | IU n => Some(Ointconst n)
30
30
| F n => if Compopts.generate_float_constants tt then Some(Ofloatconst n) else None
31
31
| FS n => if Compopts.generate_float_constants tt then Some(Osingleconst n) else None
32
32
| Ptr(Gl id ofs) => Some (Oaddrsymbol id ofs)
Original file line number Diff line number Diff line change @@ -107,6 +107,8 @@ Proof.
107
107
destruct a; inv H; SimplVM.
108
108
- (* integer *)
109
109
exists (Vint n); auto.
110
+ - (* integer or undef *)
111
+ exists (Vint n); split; auto. inv H0; auto.
110
112
- (* float *)
111
113
destruct (generate_float_constants tt); inv H2. exists (Vfloat f); auto.
112
114
- (* single *)
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ Require Import ValueDomain ValueAOp.
22
22
23
23
Definition const_for_result (a: aval) : option operation :=
24
24
match a with
25
- | I n => Some(Ointconst n)
25
+ | I n | IU n => Some(Ointconst n)
26
26
| L n => if Archi.ppc64 then Some (Olongconst n) else None
27
27
| F n => if Compopts.generate_float_constants tt then Some(Ofloatconst n) else None
28
28
| FS n => if Compopts.generate_float_constants tt then Some(Osingleconst n) else None
Original file line number Diff line number Diff line change @@ -101,6 +101,8 @@ Proof.
101
101
destruct a; inv H; SimplVM.
102
102
- (* integer *)
103
103
exists (Vint n); auto.
104
+ - (* integer or undef *)
105
+ exists (Vint n); split; auto. inv H0; auto.
104
106
- (* long *)
105
107
destruct (Archi.ppc64); inv H2. exists (Vlong n); auto.
106
108
- (* float *)
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ Require Import ValueDomain.
23
23
24
24
Definition const_for_result (a: aval) : option operation :=
25
25
match a with
26
- | I n => Some(Ointconst n)
26
+ | I n | IU n => Some(Ointconst n)
27
27
| L n => if Archi.ptr64 then Some(Olongconst n) else None
28
28
| F n => if Compopts.generate_float_constants tt then Some(Ofloatconst n) else None
29
29
| FS n => if Compopts.generate_float_constants tt then Some(Osingleconst n) else None
Original file line number Diff line number Diff line change 91
91
destruct a; inv H; SimplVM.
92
92
- (* integer *)
93
93
exists (Vint n); auto.
94
+ - (* integer or undef *)
95
+ exists (Vint n); split; auto. inv H0; auto.
94
96
- (* long *)
95
97
destruct ptr64; inv H2. exists (Vlong n); auto.
96
98
- (* float *)
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ Definition Olea_ptr (a: addressing) := if Archi.ptr64 then Oleal a else Olea a.
25
25
26
26
Definition const_for_result (a: aval) : option operation :=
27
27
match a with
28
- | I n => Some(Ointconst n)
28
+ | I n | IU n => Some(Ointconst n)
29
29
| L n => if Archi.ptr64 then Some(Olongconst n) else None
30
30
| F n => if Compopts.generate_float_constants tt then Some(Ofloatconst n) else None
31
31
| FS n => if Compopts.generate_float_constants tt then Some(Osingleconst n) else None
Original file line number Diff line number Diff line change 98
98
destruct a; inv H; SimplVM.
99
99
- (* integer *)
100
100
exists (Vint n); auto.
101
+ - (* integer or undef *)
102
+ exists (Vint n); split; auto. inv H0; auto.
101
103
- (* long *)
102
104
destruct ptr64; inv H2. exists (Vlong n); auto.
103
105
- (* float *)
You can’t perform that action at this time.
0 commit comments