aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-07-11 19:40:29 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2009-07-11 19:40:29 +0200
commitae58e548884f696e600966549867df23de3ff2d3 (patch)
treef7d7a64b4ca810edf1a746863dde1086ecd8cbd9 /gcc/doc
parentdd67163fa487933aff300fd75228b6889c9c6f6e (diff)
downloadgcc-ae58e548884f696e600966549867df23de3ff2d3.zip
gcc-ae58e548884f696e600966549867df23de3ff2d3.tar.gz
gcc-ae58e548884f696e600966549867df23de3ff2d3.tar.bz2
re PR target/40667 (stack frames are generated even with -fomit-frame-pointer)
PR rtl-optimization/40667 * defaults.h (MINIMUM_ALIGNMENT): Define if not defined. * doc/tm.texi (MINIMUM_ALIGNMENT): Document it. * config/i386/i386.h (MINIMUM_ALIGNMENT): Define. * config/i386/i386.c (ix86_minimum_alignment): New function. * config/i386/i386-protos.h (ix86_minimum_alignment): New prototype. * cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT. * emit-rtl.c (gen_reg_rtx): Likewise. * function.c (assign_parms): Likewise. If nominal_type needs bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment rather than passed_type's alignment. From-SVN: r149513
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index e328210..41ed031 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -1227,6 +1227,14 @@ One use of this macro is to increase alignment of medium-size data to
make it all fit in fewer cache lines.
@end defmac
+@defmac MINIMUM_ALIGNMENT (@var{exp}, @var{mode}, @var{align})
+If defined, a C expression to compute the minimum required alignment
+for dynamic stack realignment purposes for @var{exp} (a type or decl),
+@var{mode}, assuming normal alignment @var{align}.
+
+If this macro is not defined, then @var{align} will be used.
+@end defmac
+
@defmac EMPTY_FIELD_BOUNDARY
Alignment in bits to be given to a structure bit-field that follows an
empty field such as @code{int : 0;}.