From bb9d14a3f95fc0e3c8cad10d8ea8e2b2738da7fc Mon Sep 17 00:00:00 2001 From: xleroy Date: Sun, 11 Jan 2009 11:57:02 +0000 Subject: - Added alignment constraints to memory loads and stores. - In Cminor and below, removed pointer validity check in semantics of comparisons, so that evaluation of expressions is independent of memory state. - In Cminor and below, removed "alloc" instruction. - Cleaned up commented-away parts. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@945 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- backend/Stackingtyping.v | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'backend/Stackingtyping.v') diff --git a/backend/Stackingtyping.v b/backend/Stackingtyping.v index f1fe2cf0..b88dd50c 100644 --- a/backend/Stackingtyping.v +++ b/backend/Stackingtyping.v @@ -176,8 +176,6 @@ Proof. apply wt_restore_callee_save. apply wt_instrs_cons; auto. constructor; auto. destruct s0; auto. rewrite H5; auto. - (* alloc *) - apply wt_instrs_cons; auto. constructor. (* label *) apply wt_instrs_cons; auto. constructor. @@ -227,10 +225,13 @@ Proof. red; intros. elim H5. subst tf; simpl; auto. rewrite H2. generalize (size_pos f). fold b; fold fe; omega. + rewrite H1. change (4 | fe_size fe). unfold fe, b. apply frame_size_aligned. rewrite H3; rewrite H2. change 4 with (4 * typesize (type_of_index FI_link)). unfold fe, b; apply offset_of_index_valid. red; auto. + rewrite H3. unfold fe,b; apply offset_of_index_aligned. rewrite H4; rewrite H2. change 4 with (4 * typesize (type_of_index FI_retaddr)). unfold fe, b; apply offset_of_index_valid. red; auto. + rewrite H4. unfold fe,b; apply offset_of_index_aligned. rewrite H3; rewrite H4. apply (offset_of_index_disj f FI_retaddr FI_link); red; auto. Qed. -- cgit