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 <vmakarov@redhat.com>

From-SVN: r40477
This commit is contained in:
DJ Delorie 2001-03-14 18:14:10 -05:00 committed by DJ Delorie
parent e9c0bd54ae
commit fca097e763
2 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2001-03-14 DJ Delorie <dj@redhat.com>
Vladimir Makarov <vmakarov@redhat.com>
* config/i960/i960.c (i960_function_prologue): Compute size of
frame according to number of registers actually saved there.
2001-03-14 Richard Henderson <rth@redhat.com>
* expr.c (emit_move_insn_1): Fix else if around #endif.

View file

@ -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