regrename.c (regrename_optimize): frame pointer register can use a few hardregs.

* regrename.c (regrename_optimize): frame pointer register can
	use a few hardregs.

From-SVN: r42305
This commit is contained in:
Denis Chertykov 2001-05-19 05:59:52 +00:00 committed by Denis Chertykov
parent ec54a908e5
commit 65599eb413
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,8 @@
Sat May 19 09:40:45 2001 Denis Chertykov <denisc@overta.ru>
* regrename.c (regrename_optimize): frame pointer register can
use a few hardregs.
2001-05-18 Jason Merrill <jason_merrill@redhat.com>
* README.DWARF: Move into dwarfout.c.

View File

@ -1,5 +1,5 @@
/* Register renaming for the GNU compiler.
Copyright (C) 2000 Free Software Foundation, Inc.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@ -219,9 +219,14 @@ regrename_optimize ()
/* Don't clobber traceback for noreturn functions. */
if (frame_pointer_needed)
{
SET_HARD_REG_BIT (unavailable, FRAME_POINTER_REGNUM);
int i;
for (i = HARD_REGNO_NREGS (FRAME_POINTER_REGNUM, Pmode); i--;)
SET_HARD_REG_BIT (unavailable, FRAME_POINTER_REGNUM + i);
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
SET_HARD_REG_BIT (unavailable, HARD_FRAME_POINTER_REGNUM);
for (i = HARD_REGNO_NREGS (HARD_FRAME_POINTER_REGNUM, Pmode); i--;)
SET_HARD_REG_BIT (unavailable, HARD_FRAME_POINTER_REGNUM + i);
#endif
}