summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-21 05:01:02 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-21 05:01:02 +0000
commitd58861c416d708558d43392b97e8fe2f5a68046d (patch)
tree22043036c54448ceabf9a2e5006265da8eb703f7
parenta190499bbf46562548d66f03f3639277c9f25382 (diff)
downloadgcc-d58861c416d708558d43392b97e8fe2f5a68046d.tar.gz
* local-alloc.c (update_equiv_regs): Check the correct insn
for pre-existing REG_EQUIV notes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30111 138bc75d-0d04-0410-961f-82ee72b054a4
-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 5bfc2710a47..badba0463b1 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 8191ce0eaf8..b45f339e0fd 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);