aboutsummaryrefslogtreecommitdiffstats
path: root/backend/ValueAnalysis.v
diff options
context:
space:
mode:
Diffstat (limited to 'backend/ValueAnalysis.v')
-rw-r--r--backend/ValueAnalysis.v15
1 files changed, 4 insertions, 11 deletions
diff --git a/backend/ValueAnalysis.v b/backend/ValueAnalysis.v
index e20edff7..c112d69e 100644
--- a/backend/ValueAnalysis.v
+++ b/backend/ValueAnalysis.v
@@ -1272,7 +1272,7 @@ Proof.
apply ematch_update; auto. eapply eval_static_operation_sound; eauto with va.
- (* load *)
- destruct trap.
+ destruct trap; inv H0.
+ eapply sound_succ_state; eauto. simpl; auto.
unfold transfer; rewrite H. eauto.
apply ematch_update; auto. eapply loadv_sound; eauto with va.
@@ -1283,16 +1283,9 @@ Proof.
eapply vmatch_top.
eapply loadv_sound; try eassumption.
eapply eval_static_addressing_sound; eauto with va.
-- (* load notrap1 *)
- eapply sound_succ_state; eauto. simpl; auto.
- unfold transfer; rewrite H. eauto.
- apply ematch_update; auto.
- constructor.
-- (* load notrap2 *)
- eapply sound_succ_state; eauto. simpl; auto.
- unfold transfer; rewrite H. eauto.
- apply ematch_update; auto.
- constructor.
+ + eapply sound_succ_state; eauto. simpl; auto.
+ unfold transfer; rewrite H. eauto.
+ apply ematch_update; auto. econstructor.
- (* store *)
exploit eval_static_addressing_sound; eauto with va. intros VMADDR.
eapply sound_succ_state; eauto. simpl; auto.