diff options
author | Richard Henderson <rth@cygnus.com> | 2000-04-04 18:23:57 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-04-04 18:23:57 -0700 |
commit | 055be976e64047401d8b736b123b227f6da1cbdb (patch) | |
tree | 07bd1c9b2ac74a5b83def68a27eddb3fe1720cf3 /gcc | |
parent | b26e3a8231f0283a4da8a352a8909cdb334310fc (diff) | |
download | gcc-055be976e64047401d8b736b123b227f6da1cbdb.zip gcc-055be976e64047401d8b736b123b227f6da1cbdb.tar.gz gcc-055be976e64047401d8b736b123b227f6da1cbdb.tar.bz2 |
regrename.c (consider_available): Test fixed_regs not PIC_OFFSET_TABLE_REGNUM.
* regrename.c (consider_available): Test fixed_regs not
PIC_OFFSET_TABLE_REGNUM.
From-SVN: r32919
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/regrename.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0a375a..07f70dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-04-04 Richard Henderson <rth@cygnus.com> + + * regrename.c (consider_available): Test fixed_regs not + PIC_OFFSET_TABLE_REGNUM. + 2000-04-04 Geoff Keating <geoffk@cygnus.com> * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin, diff --git a/gcc/regrename.c b/gcc/regrename.c index 816a5d2..b07b105 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -776,6 +776,9 @@ consider_available (reg_use, avail_reg, avail_regs, rc, du, inum) if (!TEST_HARD_REG_BIT (*avail_regs, avail_reg)) return 0; + if (fixed_regs[avail_reg]) + return 0; + #ifdef HARD_REGNO_RENAME_OK if (!HARD_REGNO_RENAME_OK (REGNO (reg_use), avail_reg)) return 0; @@ -810,9 +813,7 @@ consider_available (reg_use, avail_reg, avail_regs, rc, du, inum) /* If register is a callee-saved register it must be saved in the frame. call saved registers can not be added to regs_ever_live after reload, as it would invalidate most elimination offsets */ - if (regs_ever_live[avail_reg] || call_used_regs[avail_reg] - || (avail_reg == PIC_OFFSET_TABLE_REGNUM - && flag_pic && (current_function_uses_pic_offset_table))) + if (regs_ever_live[avail_reg] || call_used_regs[avail_reg]) return 1; return 0; |