global.c: (global_alloc): Make sure that it is always possible to eliminate...

* global.c: (global_alloc): Make sure that it is always possible to
eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM.

From-SVN: r5458
This commit is contained in:
Doug Evans 1993-09-24 19:45:44 +00:00
parent e408ec3591
commit 7b0957a710
1 changed files with 5 additions and 1 deletions

View File

@ -302,10 +302,14 @@ global_alloc (file)
SET_HARD_REG_BIT (eliminable_regset, eliminables[i].from);
if (! CAN_ELIMINATE (eliminables[i].from, eliminables[i].to)
|| (eliminables[i].from == FRAME_POINTER_REGNUM
|| (eliminables[i].from == HARD_FRAME_POINTER_REGNUM
&& (! flag_omit_frame_pointer || FRAME_POINTER_REQUIRED)))
SET_HARD_REG_BIT (no_global_alloc_regs, eliminables[i].from);
}
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
if (!flag_omit_frame_pointer || FRAME_POINTER_REQUIRED)
SET_HARD_REG_BIT (no_global_alloc_regs, HARD_FRAME_POINTER_REGNUM);
#endif
#else
SET_HARD_REG_BIT (eliminable_regset, FRAME_POINTER_REGNUM);