aboutsummaryrefslogtreecommitdiffstats
path: root/backend/CSE3analysisproof.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-11-25 13:45:03 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-11-25 13:45:03 +0100
commite856fe63e0b7c5144c3d155da33af22c722c83fb (patch)
treea92593edec5b8772788183556d725c019a37156f /backend/CSE3analysisproof.v
parenta49044a62393a1a831e22c34cae656f4c7294059 (diff)
downloadcompcert-kvx-e856fe63e0b7c5144c3d155da33af22c722c83fb.tar.gz
compcert-kvx-e856fe63e0b7c5144c3d155da33af22c722c83fb.zip
clever_kill_store_sound
Diffstat (limited to 'backend/CSE3analysisproof.v')
-rw-r--r--backend/CSE3analysisproof.v12
1 files changed, 5 insertions, 7 deletions
diff --git a/backend/CSE3analysisproof.v b/backend/CSE3analysisproof.v
index 5c89c4e7..4c6b417c 100644
--- a/backend/CSE3analysisproof.v
+++ b/backend/CSE3analysisproof.v
@@ -1027,12 +1027,10 @@ Section SOUNDNESS.
unfold sem_eq in *.
simpl in *.
destruct eq_op as [op' | chunk' addr']; simpl.
- - admit.
- (* - destruct (op_depends_on_memory op') eqn:DEPENDS.
- + erewrite ctx_kill_store_has_depends_on_store in CONTAINS by eauto.
- discriminate.
- + rewrite op_depends_on_memory_correct with (m2:=m); trivial.
- apply REL; auto. *)
+ - rewrite op_valid_pointer_eq with (m2 := m).
+ + cbn in *.
+ apply REL; auto.
+ + eapply store_preserves_validity; eauto.
- simpl in REL.
erewrite ctx_kill_store_has_depends_on_store in CONTAINS by eauto.
simpl in CONTAINS.
@@ -1041,7 +1039,7 @@ Section SOUNDNESS.
+ erewrite may_overlap_sound with (chunk:=chunk) (addr:=addr) (args:=args) (chunk':=chunk') (addr':=addr') (args':=eq_args); try eassumption.
apply REL; auto.
+ apply REL; auto.
- Admitted.
+ Qed.
Hint Resolve clever_kill_store_sound : cse3.