local-alloc.c: (find_free_reg): Make sure we will always be able to eliminate...

* local-alloc.c: (find_free_reg): Make sure we will always be able
to eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM.

From-SVN: r5460
This commit is contained in:
Doug Evans 1993-09-24 19:49:18 +00:00
parent cbe23927aa
commit c2618f0522
1 changed files with 5 additions and 0 deletions

View File

@ -1945,6 +1945,11 @@ find_free_reg (class, mode, qty, accept_call_clobbered, just_try_suggested,
#ifdef ELIMINABLE_REGS
for (i = 0; i < sizeof eliminables / sizeof eliminables[0]; i++)
SET_HARD_REG_BIT (used, eliminables[i].from);
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
/* If FRAME_POINTER_REGNUM is not a real register, then protect the one
that it might be eliminated into. */
SET_HARD_REG_BIT (used, HARD_FRAME_POINTER_REGNUM);
#endif
#else
SET_HARD_REG_BIT (used, FRAME_POINTER_REGNUM);
#endif