aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/BTL_Livecheck.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/BTL_Livecheck.v
parent8de8dc6616c49018c6151887f76ea08c8f1ff04e (diff)
downloadcompcert-kvx-b063fb03af84483671833d40491f4fa8d2c8b4c9.tar.gz
compcert-kvx-b063fb03af84483671833d40491f4fa8d2c8b4c9.zip
non trapping loads
Diffstat (limited to 'scheduling/BTL_Livecheck.v')
-rw-r--r--scheduling/BTL_Livecheck.v14
1 files changed, 8 insertions, 6 deletions
diff --git a/scheduling/BTL_Livecheck.v b/scheduling/BTL_Livecheck.v
index 9f96e74e..d200b9bd 100644
--- a/scheduling/BTL_Livecheck.v
+++ b/scheduling/BTL_Livecheck.v
@@ -546,12 +546,14 @@ Proof.
- (* Bload *)
erewrite <- eqlive_reg_listmem; eauto.
try_simplify_someHyps; intros.
- rewrite LOAD; eauto.
- repeat econstructor.
- apply eqlive_reg_update.
- eapply eqlive_reg_monotonic; eauto.
- intros r0; rewrite regset_add_spec.
- intuition.
+ destruct trap; inv LOAD;
+ rewrite EVAL, LOAD0 || (autodestruct; try rewrite LOAD0; auto).
+ all:
+ repeat econstructor;
+ apply eqlive_reg_update;
+ eapply eqlive_reg_monotonic; eauto;
+ intros r0; rewrite regset_add_spec;
+ intuition.
- (* Bstore *)
erewrite <- eqlive_reg_listmem; eauto.
rewrite <- (REGS src); auto.