From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7361 invoked by alias); 17 May 2008 23:59:22 -0000 Received: (qmail 7126 invoked by alias); 17 May 2008 23:58:41 -0000 Date: Sat, 17 May 2008 23:59:00 -0000 Message-ID: <20080517235841.7125.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/36253] Caller-save stack slot may not have proper alignment In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-05/txt/msg01313.txt.bz2 ------- Comment #4 from hjl at gcc dot gnu dot org 2008-05-17 23:58 ------- Subject: Bug 36253 Author: hjl Date: Sat May 17 23:57:59 2008 New Revision: 135486 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135486 Log: 2008-05-17 H.J. Lu PR middle-end/36253 * caller-save.c (insert_restore): Verify alignment of spill space. (insert_save): Likewise. * cfgexpand.c (LOCAL_ALIGNMENT): Removed. (get_decl_align_unit): Pass VOIDmode to LOCAL_ALIGNMENT. * defaults.h (LOCAL_ALIGNMENT): New. Provide default. * function.c (LOCAL_ALIGNMENT): Removed. (get_stack_local_alignment): New. (assign_stack_local): Use it. Set alignment on stack slot. (assign_stack_temp_for_type): Use get_stack_local_alignment. * config/bfin/bfin.c (bfin_local_alignment): Updated. * config/bfin/bfin.h (LOCAL_ALIGNMENT): Likewise. * config/bfin/bfin-protos.h (bfin_local_alignment): Likewise. * config/i386/i386.h (LOCAL_ALIGNMENT): Likewise. * config/i386/i386-protos.h (ix86_local_alignment): Likewise. * config/mips/mips.h (LOCAL_ALIGNMENT): Likewise. * config/mmix/mmix.c (mmix_local_alignment): Likewise. * config/mmix/mmix.h (LOCAL_ALIGNMENT): Likewise. * config/mmix/mmix-protos.h (mmix_local_alignment): Likewise. * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Likewise. * config/score/score.h (LOCAL_ALIGNMENT): Likewise. * config/sh/sh.h (LOCAL_ALIGNMENT): Likewise. * config/sparc/sparc.h (LOCAL_ALIGNMENT): Likewise. * config/spu/spu.h (LOCAL_ALIGNMENT): Likewise. * config/i386/i386.c (ix86_local_alignment): Handle caller-save stack slot in XFmode. * config/rs6000/rs6000.h (LOCAL_ALIGNMENT_1): New. * config/sh/sh.h (LOCAL_ALIGNMENT_1): Likewise. * doc/tm.texi (LOCAL_ALIGNMENT): Add mode. Modified: branches/stack/gcc/ChangeLog.stackalign branches/stack/gcc/caller-save.c branches/stack/gcc/cfgexpand.c branches/stack/gcc/config/bfin/bfin-protos.h branches/stack/gcc/config/bfin/bfin.c branches/stack/gcc/config/bfin/bfin.h branches/stack/gcc/config/i386/i386-protos.h branches/stack/gcc/config/i386/i386.c branches/stack/gcc/config/i386/i386.h branches/stack/gcc/config/mips/mips.h branches/stack/gcc/config/mmix/mmix-protos.h branches/stack/gcc/config/mmix/mmix.c branches/stack/gcc/config/mmix/mmix.h branches/stack/gcc/config/rs6000/rs6000.h branches/stack/gcc/config/score/score.h branches/stack/gcc/config/sh/sh.h branches/stack/gcc/config/sparc/sparc.h branches/stack/gcc/config/spu/spu.h branches/stack/gcc/defaults.h branches/stack/gcc/doc/tm.texi branches/stack/gcc/function.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36253