From 173e6c25b2937d6e6941973aa7b116e1d6405513 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Tue, 2 Nov 2021 10:10:34 +0100 Subject: Porting the BTL non-trap loads approach to RTL --- backend/ValueAnalysis.v | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'backend/ValueAnalysis.v') 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. -- cgit