From f5100774b8d8e726372e324ba8b4af1731042b5e Mon Sep 17 00:00:00 2001 From: mmitchel Date: Mon, 14 May 2001 07:56:57 +0000 Subject: [PATCH] * regrename.c (regrename_optimize): Do not rename registers to leaf registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42066 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/regrename.c | 6 ++++++ 2 files changed, 11 insertions(+) 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 + + * regrename.c (regrename_optimize): Do not rename registers to + leaf registers. + 2001-05-14 Alexandre Oliva * 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 -- 2.7.4