diff options
author | Richard Henderson <rth@redhat.com> | 2012-08-01 13:41:16 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2012-08-01 13:41:16 -0700 |
commit | 70ce4a25c465584cee191674cefe7b00aa47def4 (patch) | |
tree | 040c558b53700de0429c84a129ccd952f1ec8dfb /gcc/function.h | |
parent | 91f8035e9b79eef334ef701af7bb05ff9b5780be (diff) | |
download | gcc-70ce4a25c465584cee191674cefe7b00aa47def4.zip gcc-70ce4a25c465584cee191674cefe7b00aa47def4.tar.gz gcc-70ce4a25c465584cee191674cefe7b00aa47def4.tar.bz2 |
re PR middle-end/34548 (GCC generates too many alignment adds for alloca)
PR 34548
* function.h (struct rtl_data): Add max_dynamic_stack_alignment.
* cfgexpand.c (gimple_expand_cfg): Initialise it.
* explow.c (allocate_dynamic_stack_space): Set it. Simplify
alignment requirements given the known alignment of dynamic_offset.
* function.c (instantiate_virtual_regs): Align dtnamic_offset.
From-SVN: r190051
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h index 3d3313f..ed6fcb1 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -347,6 +347,10 @@ struct GTY(()) rtl_data { local stack. */ unsigned int stack_alignment_estimated; + /* The (capped) maximum alignment of dynamic stack space, and thus the + required alignment of STACK_DYNAMIC_OFFSET. */ + unsigned int max_dynamic_stack_alignment; + /* For reorg. */ /* If some insns can be deferred to the delay slots of the epilogue, the |