aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Constpropproof.v
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2014-11-26 14:46:07 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2014-11-26 14:46:07 +0100
commitb279716c76c387c6c5eec96388c0c35629858b4c (patch)
treea71079afbe6eebc1162391546aeaebe56dbd56d2 /backend/Constpropproof.v
parent1ccc058794381d7d7c2ff704786009019489001d (diff)
downloadcompcert-b279716c76c387c6c5eec96388c0c35629858b4c.tar.gz
compcert-b279716c76c387c6c5eec96388c0c35629858b4c.zip
Introduce symbol environments (type Senv.t) as a restricted view on global environments (type Genv.t). Use symbol environments instead of global environments for external functions (module Events).
Diffstat (limited to 'backend/Constpropproof.v')
-rw-r--r--backend/Constpropproof.v4
1 files changed, 2 insertions, 2 deletions
diff --git a/backend/Constpropproof.v b/backend/Constpropproof.v
index 98e6e577..450050de 100644
--- a/backend/Constpropproof.v
+++ b/backend/Constpropproof.v
@@ -277,11 +277,11 @@ Proof.
+ simpl in H. assert (V: vmatch bc (rs#r1) (Ptr (Gl symb n1))) by (rewrite <- e1; apply MATCH).
exploit vmatch_ptr_gl'; eauto. intros [A | [b [A B]]].
* simpl in H; rewrite A in H; inv H.
- * simpl; rewrite volatile_load_global_charact. exists b; split; congruence.
+ * simpl; rewrite volatile_load_global_charact; simpl. exists b; split; congruence.
+ simpl in H. assert (V: vmatch bc (rs#r1) (Ptr (Gl symb n1))) by (rewrite <- e1; apply MATCH).
exploit vmatch_ptr_gl'; eauto. intros [A | [b [A B]]].
* simpl in H; rewrite A in H; inv H.
- * simpl; rewrite volatile_store_global_charact. exists b; split; congruence.
+ * simpl; rewrite volatile_store_global_charact; simpl. exists b; split; congruence.
+ inv H. exploit annot_strength_reduction_correct; eauto. intros [eargs' [A B]].
rewrite <- B. econstructor; eauto.
Qed.