From 132e36fa0be63eb5672eda9168403d3fb74af2fa Mon Sep 17 00:00:00 2001 From: xleroy Date: Sat, 26 May 2012 07:32:01 +0000 Subject: CSE: add recognition of some combined operators, conditions, and addressing modes (cf. CombineOp.v) Memory model: cleaning up Memdata Inlining and new Constprop: updated for ARM. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1902 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- backend/Inliningproof.v | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'backend/Inliningproof.v') diff --git a/backend/Inliningproof.v b/backend/Inliningproof.v index c62e173a..f88ca81e 100644 --- a/backend/Inliningproof.v +++ b/backend/Inliningproof.v @@ -868,9 +868,10 @@ Proof. eauto. fold (saddr ctx addr). intros [a' [P Q]]. exploit Mem.loadv_inject; eauto. intros [v' [U V]]. + assert (eval_addressing tge (Vptr sp' Int.zero) (saddr ctx addr) rs' ## (sregs ctx args) = Some a'). + rewrite <- P. apply eval_addressing_preserved. exact symbols_preserved. left; econstructor; split. - eapply plus_one. eapply exec_Iload; eauto. erewrite eval_addressing_preserved; eauto. - exact symbols_preserved. + eapply plus_one. eapply exec_Iload; eauto. econstructor; eauto. apply match_stacks_inside_set_reg; auto. apply agree_set_reg; auto. @@ -885,9 +886,10 @@ Proof. fold saddr. intros [a' [P Q]]. exploit Mem.storev_mapped_inject; eauto. eapply agree_val_reg; eauto. intros [m1' [U V]]. + assert (eval_addressing tge (Vptr sp' Int.zero) (saddr ctx addr) rs' ## (sregs ctx args) = Some a'). + rewrite <- P. apply eval_addressing_preserved. exact symbols_preserved. left; econstructor; split. - eapply plus_one. eapply exec_Istore; eauto. erewrite eval_addressing_preserved; eauto. - exact symbols_preserved. + eapply plus_one. eapply exec_Istore; eauto. destruct a; simpl in H1; try discriminate. destruct a'; simpl in U; try discriminate. econstructor; eauto. -- cgit