re PR middle-end/36253 (Caller-save stack slot may not have proper alignment)
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 26 May 2008 13:59:56 +0000 (13:59 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 26 May 2008 13:59:56 +0000 (06:59 -0700)
commit76fe54f07ae1d8e9a8a3bbc54dd9aaeee4105d18
treebb649ed6b0709e0e99f74f303514800816a201fe
parente94a83856fa29fc559ab6bfe013ea6cf16f401fa
re PR middle-end/36253 (Caller-save stack slot may not have proper alignment)

2008-05-26  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/36253
* caller-save.c (insert_restore): Verify alignment of spill
space.
(insert_save): Likewise.

* cfgexpand.c (LOCAL_ALIGNMENT): Removed.

* defaults.h (LOCAL_ALIGNMENT): New. Provide default.
(STACK_SLOT_ALIGNMENT): Likewise.

* 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/i386/i386.h (LOCAL_ALIGNMENT): Updated.
(STACK_SLOT_ALIGNMENT): New.

* config/i386/i386.c (ix86_local_alignment): Handle caller-save
stack slot in XFmode.

* doc/tm.texi (STACK_SLOT_ALIGNMENT): New.

From-SVN: r135927
gcc/ChangeLog
gcc/caller-save.c
gcc/cfgexpand.c
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/defaults.h
gcc/doc/tm.texi
gcc/function.c