diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-30 21:27:22 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-30 21:27:22 +0000 |
| commit | 3dcd0d8630293b6a88ed49ec773b718939a4cd6d (patch) | |
| tree | 6cd287f50d442e5b3cbdd049fe1248a3bf8bff97 | |
| parent | cdd2135bed286022d9ab344178d6d7ba23e2eb71 (diff) | |
| download | ppe42-gcc-3dcd0d8630293b6a88ed49ec773b718939a4cd6d.tar.gz ppe42-gcc-3dcd0d8630293b6a88ed49ec773b718939a4cd6d.zip | |
* i386.c (ix86_compute_frame_size): Omit padding1 if the
local frame size is zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31703 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/i386/i386.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 07875c83f02..f8de2e29665 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-01-30 Richard Henderson <rth@cygnus.com> + * i386.c (ix86_compute_frame_size): Omit padding1 if the + local frame size is zero. + +2000-01-30 Richard Henderson <rth@cygnus.com> + * alpha.c (alpha_expand_epilogue): Don't emit the return insn. * alpha.h (EPILOGUE_USES): New. Mark $26 live. * alpha.md (return): Turn into an expander. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index a5f2524bce6..69d71ce5f97 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1734,7 +1734,6 @@ ix86_compute_frame_size (size, nregs_on_stack, rpadding1, rpadding2) int stack_alignment_needed = cfun->stack_alignment_needed / BITS_PER_UNIT; nregs = ix86_nsaved_regs (); - total_size = size; #ifdef PREFERRED_STACK_BOUNDARY @@ -1762,9 +1761,12 @@ ix86_compute_frame_size (size, nregs_on_stack, rpadding1, rpadding2) total_size += offset; /* Align start of frame for local function. */ - padding1 = ((offset + stack_alignment_needed - 1) - & -stack_alignment_needed) - offset; - total_size += padding1; + if (size > 0) + { + padding1 = ((offset + stack_alignment_needed - 1) + & -stack_alignment_needed) - offset; + total_size += padding1; + } /* Align stack boundary. */ if (!current_function_is_leaf) @@ -1775,10 +1777,8 @@ ix86_compute_frame_size (size, nregs_on_stack, rpadding1, rpadding2) if (nregs_on_stack) *nregs_on_stack = nregs; - if (rpadding1) *rpadding1 = padding1; - if (rpadding2) *rpadding2 = padding2; |

