diff options
-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 5bfc271..badba04 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. + Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com> * cse.c (cse_end_of_basic_block): Don't return the end of a basic diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 8191ce0..b45f339 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -761,7 +761,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); |