aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorJoey Ye <joey.ye@intel.com>2009-06-12 05:54:30 -0700
committerH.J. Lu <hjl@gcc.gnu.org>2009-06-12 05:54:30 -0700
commitf85882d8e1640453ca69be5ed13863167b26d869 (patch)
tree89cf6e9d3389a80f867d5f7c9315355646308b30 /gcc/cfgexpand.c
parentfc9f468b5fbc938fb39fd1917918b37fc3448496 (diff)
downloadgcc-f85882d8e1640453ca69be5ed13863167b26d869.zip
gcc-f85882d8e1640453ca69be5ed13863167b26d869.tar.gz
gcc-f85882d8e1640453ca69be5ed13863167b26d869.tar.bz2
re PR target/39146 (Unnecessary stack alignment)
gcc/ 2009-06-12 Joey Ye <joey.ye@intel.com> PR middle-end/39146 * cfgexpand.c (get_decl_align_unit): Update max_used_stack_slot_alignment with align instead of stack_alignment_needed. * function.c (assign_stack_local_1): Update max_used_stack_slot_alignment with alignment_in_bits instead of stack_alignment_needed. (locate_and_pad_parm): Don't update max_used_stack_slot_alignment here. gcc/testsuite/ 2009-06-12 Joey Ye <joey.ye@intel.com> H.J. Lu <hongjiu.lu@intel.com> PR middle-end/39146 * gcc.target/i386/stackalign/pr39146.c: New. From-SVN: r148428
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index ff2684e..3346d2c 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -564,8 +564,8 @@ get_decl_align_unit (tree decl)
So here we only make sure stack_alignment_needed >= align. */
if (crtl->stack_alignment_needed < align)
crtl->stack_alignment_needed = align;
- if (crtl->max_used_stack_slot_alignment < crtl->stack_alignment_needed)
- crtl->max_used_stack_slot_alignment = crtl->stack_alignment_needed;
+ if (crtl->max_used_stack_slot_alignment < align)
+ crtl->max_used_stack_slot_alignment = align;
return align / BITS_PER_UNIT;
}