aboutsummaryrefslogtreecommitdiff
path: root/gcc/defaults.h
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2008-05-26 13:59:56 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2008-05-26 06:59:56 -0700
commit76fe54f07ae1d8e9a8a3bbc54dd9aaeee4105d18 (patch)
treebb649ed6b0709e0e99f74f303514800816a201fe /gcc/defaults.h
parente94a83856fa29fc559ab6bfe013ea6cf16f401fa (diff)
downloadgcc-76fe54f07ae1d8e9a8a3bbc54dd9aaeee4105d18.zip
gcc-76fe54f07ae1d8e9a8a3bbc54dd9aaeee4105d18.tar.gz
gcc-76fe54f07ae1d8e9a8a3bbc54dd9aaeee4105d18.tar.bz2
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
Diffstat (limited to 'gcc/defaults.h')
-rw-r--r--gcc/defaults.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/defaults.h b/gcc/defaults.h
index ff5b5c0..392d22c 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -940,4 +940,13 @@ along with GCC; see the file COPYING3. If not see
#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 0
#endif
+#ifndef LOCAL_ALIGNMENT
+#define LOCAL_ALIGNMENT(TYPE, ALIGNMENT) ALIGNMENT
+#endif
+
+#ifndef STACK_SLOT_ALIGNMENT
+#define STACK_SLOT_ALIGNMENT(TYPE,MODE,ALIGN) \
+ ((TYPE) ? LOCAL_ALIGNMENT ((TYPE), (ALIGN)) : (ALIGN))
+#endif
+
#endif /* ! GCC_DEFAULTS_H */