aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/local-alloc.c3
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);