aboutsummaryrefslogtreecommitdiffstats
path: root/backend/CSEproof.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-09-04 18:44:23 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-09-04 18:44:23 +0200
commit55a90812e9f6f65b4abe7a124e933875f212238c (patch)
tree3eb63f2584abbb3b77419e325eb60168af552b49 /backend/CSEproof.v
parent44f4bea5d16273b834b1bcc8624c8f00aefaf018 (diff)
downloadcompcert-kvx-55a90812e9f6f65b4abe7a124e933875f212238c.tar.gz
compcert-kvx-55a90812e9f6f65b4abe7a124e933875f212238c.zip
ca avance
Diffstat (limited to 'backend/CSEproof.v')
-rw-r--r--backend/CSEproof.v13
1 files changed, 11 insertions, 2 deletions
diff --git a/backend/CSEproof.v b/backend/CSEproof.v
index def8003c..108aef31 100644
--- a/backend/CSEproof.v
+++ b/backend/CSEproof.v
@@ -608,8 +608,17 @@ Proof.
unfold aaddressing. apply match_aptr_of_aval. eapply eval_static_addressing_sound; eauto.
erewrite <- regs_valnums_sound by eauto. eauto with va.
auto.
-
-(* TODO *)
+- eapply load_notrap1_eval_to; assumption.
+- destruct (regs_valnums n vl) as [rl|] eqn:RV; try discriminate.
+ eapply load_notrap2_eval_to; eauto. rewrite <- H11.
+ destruct a; simpl in H10; try discriminate; simpl; trivial.
+ rewrite negb_false_iff in H8.
+ eapply Mem.load_storebytes_other. eauto.
+ rewrite H6. rewrite Z2Nat.id by omega.
+ eapply pdisjoint_sound. eauto.
+ unfold aaddressing. apply match_aptr_of_aval. eapply eval_static_addressing_sound; eauto.
+ erewrite <- regs_valnums_sound by eauto. eauto with va.
+ auto.
Qed.
Lemma load_memcpy: