diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-10-21 04:59:40 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-10-20 22:59:40 -0600 |
commit | 0ecba966187c6b806ed4573b39708c83501b601e (patch) | |
tree | e1cb9e1439c0404eefd7f8f106451534a4b5cfd7 | |
parent | ab34d5f5c611595e84f58e01e343a9e9cf9fd10e (diff) |
local-alloc.c (update_equiv_regs): Check the correct insn for pre-existing REG_EQUIV notes.
* local-alloc.c (update_equiv_regs): Check the correct insn
for pre-existing REG_EQUIV notes.
Fix the sparc tetex bug.
From-SVN: r30110
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/local-alloc.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 587dbbca168..3084634761b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com) + + * local-alloc.c (update_equiv_regs): Check the correct insn + for pre-existing REG_EQUIV notes. + Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com) Revert this change. Gavin's patch to operand_equal_p is a better fix. diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index d1df595c4c1..2fc3aec4977 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -759,7 +759,8 @@ update_equiv_regs () && REG_N_SETS (regno) == 1 && reg_equiv_init_insns[regno] != 0 && reg_equiv_init_insns[regno] != const0_rtx - && ! find_reg_note (insn, REG_EQUIV, NULL_RTX) + && ! find_reg_note (XEXP (reg_equiv_init_insns[regno], 0), + REG_EQUIV, NULL_RTX) && ! contains_replace_regs (XEXP (dest, 0), reg_equiv_replace)) { rtx init_insn = XEXP (reg_equiv_init_insns[regno], 0); |