From: DJ Delorie Date: Wed, 14 Mar 2001 23:14:10 +0000 (-0500) Subject: i960.c (i960_function_prologue): Compute size of frame according to number of registe... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fca097e763795be1906e055f1ad50a8840fd82a5;p=gcc.git i960.c (i960_function_prologue): Compute size of frame according to number of registers actually saved there. * config/i960/i960.c (i960_function_prologue): Compute size of frame according to number of registers actually saved there. Co-Authored-By: Vladimir Makarov From-SVN: r40477 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2878ac6bcd..c426cb6a140 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-03-14 DJ Delorie + Vladimir Makarov + + * config/i960/i960.c (i960_function_prologue): Compute size of + frame according to number of registers actually saved there. + 2001-03-14 Richard Henderson * expr.c (emit_move_insn_1): Fix else if around #endif. diff --git a/gcc/config/i960/i960.c b/gcc/config/i960/i960.c index 21753a207b2..1f885fe68b1 100644 --- a/gcc/config/i960/i960.c +++ b/gcc/config/i960/i960.c @@ -1474,7 +1474,7 @@ i960_function_prologue (file, size) lnw = i960_split_reg_group (l, lnw, g->length); } - actual_fsize = compute_frame_size (size); + actual_fsize = compute_frame_size (size) + 4 * n_remaining_saved_regs; #if 0 /* ??? The 1.2.1 compiler does this also. This is meant to round the frame size up to the nearest multiple of 16. I don't know whether this is @@ -1526,7 +1526,7 @@ i960_function_prologue (file, size) /* Take hardware register save area created by the call instruction into account, but store them before the argument block area. */ - lvar_size = actual_fsize - compute_frame_size (0) - n_saved_regs * 4; + lvar_size = actual_fsize - compute_frame_size (0) - n_remaining_saved_regs * 4; offset = STARTING_FRAME_OFFSET + lvar_size; /* Save registers on stack if needed. */ /* ??? Is it worth to use the same algorithm as one for saving