diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-12 12:54:30 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-12 12:54:30 +0000 |
commit | bd9c33a874cd7fad9e5b0435781f4e3371d2cc93 (patch) | |
tree | 89cf6e9d3389a80f867d5f7c9315355646308b30 /gcc/function.c | |
parent | e59b3312e1cf35a12d67cafa87f9635302f8cae9 (diff) | |
download | gcc-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.c | 6 |
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; |