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.
int stack_alignment_needed = cfun->stack_alignment_needed / BITS_PER_UNIT;
nregs = ix86_nsaved_regs ();
-
total_size = size;
#ifdef PREFERRED_STACK_BOUNDARY
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)
if (nregs_on_stack)
*nregs_on_stack = nregs;
-
if (rpadding1)
*rpadding1 = padding1;
-
if (rpadding2)
*rpadding2 = padding2;