diff options
author | Mark Mitchell <mark@codesourcery.com> | 2001-05-14 07:56:57 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2001-05-14 07:56:57 +0000 |
commit | b2a8b02619c3d68a0e4b24dbe24d02a28eaeb9c3 (patch) | |
tree | e9d214dd905064681b051c7df69f6a9502e74d23 | |
parent | ce29729adfaf82fa599537c3e085cda1edc4ed2f (diff) | |
download | gcc-b2a8b02619c3d68a0e4b24dbe24d02a28eaeb9c3.zip gcc-b2a8b02619c3d68a0e4b24dbe24d02a28eaeb9c3.tar.gz gcc-b2a8b02619c3d68a0e4b24dbe24d02a28eaeb9c3.tar.bz2 |
regrename.c (regrename_optimize): Do not rename registers to leaf registers.
* regrename.c (regrename_optimize): Do not rename registers to
leaf registers.
From-SVN: r42066
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/regrename.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b5937f0..2ab8703 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-05-14 Mark Mitchell <mark@codesourcery.com> + + * regrename.c (regrename_optimize): Do not rename registers to + leaf registers. + 2001-05-14 Alexandre Oliva <aoliva@redhat.com> * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may diff --git a/gcc/regrename.c b/gcc/regrename.c index ae25e21..bad6624 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -292,6 +292,12 @@ regrename_optimize () /* Can't use regs which aren't saved by the prologue. */ || (! regs_ever_live[new_reg + i] && ! call_used_regs[new_reg + i]) +#ifdef LEAF_REGISTERS + /* We can't use a non-leaf register if we're in a + leaf function. */ + || (current_function_is_leaf + && !LEAF_REGISTERS[new_reg + i]) +#endif #ifdef HARD_REGNO_RENAME_OK || ! HARD_REGNO_RENAME_OK (reg + i, new_reg + i) #endif |