summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-12 12:54:30 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-12 12:54:30 +0000
commitbd9c33a874cd7fad9e5b0435781f4e3371d2cc93 (patch)
tree89cf6e9d3389a80f867d5f7c9315355646308b30 /gcc/function.c
parente59b3312e1cf35a12d67cafa87f9635302f8cae9 (diff)
downloadgcc-bd9c33a874cd7fad9e5b0435781f4e3371d2cc93.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148428 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/function.c b/gcc/function.c
index ddf08b04602..82741779aa6 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -355,8 +355,8 @@ assign_stack_local_1 (enum machine_mode mode, HOST_WIDE_INT size,
if (crtl->stack_alignment_needed < alignment_in_bits)
crtl->stack_alignment_needed = alignment_in_bits;
- 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 < alignment_in_bits)
+ crtl->max_used_stack_slot_alignment = alignment_in_bits;
/* Calculate how many bytes the start of local variables is off from
stack alignment. */
@@ -3520,8 +3520,6 @@ locate_and_pad_parm (enum machine_mode passed_mode, tree type, int in_regs,
calling function side. */
if (crtl->stack_alignment_needed < boundary)
crtl->stack_alignment_needed = boundary;
- if (crtl->max_used_stack_slot_alignment < crtl->stack_alignment_needed)
- crtl->max_used_stack_slot_alignment = crtl->stack_alignment_needed;
if (crtl->preferred_stack_boundary < boundary)
crtl->preferred_stack_boundary = boundary;