aboutsummaryrefslogtreecommitdiffstats
path: root/backend/ValueAnalysis.v
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@lilo.org>2021-11-02 10:10:34 +0100
committerLéo Gourdin <leo.gourdin@lilo.org>2021-11-02 10:10:34 +0100
commit173e6c25b2937d6e6941973aa7b116e1d6405513 (patch)
treee5f63f343a3d1a1341dc2e8a09f6cdb706226de3 /backend/ValueAnalysis.v
parentf9e4d91431334d88992e62a232a9e2ff2f6fcdc9 (diff)
downloadcompcert-kvx-173e6c25b2937d6e6941973aa7b116e1d6405513.tar.gz
compcert-kvx-173e6c25b2937d6e6941973aa7b116e1d6405513.zip
Porting the BTL non-trap loads approach to RTL
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.