From f85882d8e1640453ca69be5ed13863167b26d869 Mon Sep 17 00:00:00 2001 From: Joey Ye Date: Fri, 12 Jun 2009 05:54:30 -0700 Subject: re PR target/39146 (Unnecessary stack alignment) gcc/ 2009-06-12 Joey Ye 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 H.J. Lu PR middle-end/39146 * gcc.target/i386/stackalign/pr39146.c: New. From-SVN: r148428 --- gcc/cfgexpand.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/cfgexpand.c') 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; } -- cgit v1.1