aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/RTLtoBTLproof.v
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-07-23 18:25:00 +0200
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-07-23 18:25:00 +0200
commitb063fb03af84483671833d40491f4fa8d2c8b4c9 (patch)
tree89033ebd4ec906091d31457b0b7f3c8539e11dc1 /scheduling/RTLtoBTLproof.v
parent8de8dc6616c49018c6151887f76ea08c8f1ff04e (diff)
downloadcompcert-kvx-b063fb03af84483671833d40491f4fa8d2c8b4c9.tar.gz
compcert-kvx-b063fb03af84483671833d40491f4fa8d2c8b4c9.zip
non trapping loads
Diffstat (limited to 'scheduling/RTLtoBTLproof.v')
-rw-r--r--scheduling/RTLtoBTLproof.v15
1 files changed, 9 insertions, 6 deletions
diff --git a/scheduling/RTLtoBTLproof.v b/scheduling/RTLtoBTLproof.v
index 8a352434..13ba5a29 100644
--- a/scheduling/RTLtoBTLproof.v
+++ b/scheduling/RTLtoBTLproof.v
@@ -123,12 +123,15 @@ Lemma normRTLrec_iblock_istep_correct tge sp ib rs0 m0 rs1 m1 ofin1:
iblock_istep tge sp rs0 m0 (normRTLrec ib k) rs2 m2 ofin2.
Proof.
induction 1; simpl; intuition subst; eauto.
- { (* Bnop *) autodestruct; eauto. }
- 1-3: (* Bop, Bload, Bstore *)
- intros; repeat econstructor; eauto.
- (* Bcond *)
- destruct ofin; intuition subst;
- destruct b; eapply IHISTEP; eauto.
+ - (* Bnop *) autodestruct; eauto.
+ - (* Bop *) repeat econstructor; eauto.
+ - (* Bload *) inv LOAD.
+ + repeat econstructor; eauto.
+ + do 2 (econstructor; eauto).
+ eapply has_loaded_default; eauto.
+ - (* Bcond *) repeat econstructor; eauto.
+ destruct ofin; intuition subst;
+ destruct b; eapply IHISTEP; eauto.
Qed.
Lemma normRTL_iblock_istep_correct tge sp ib rs0 m0 rs1 m1 ofin: