aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/recog.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index edecc97..524ae20 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
+ * recog.c (split_insn): Copy the original SET_SRC before using
+ it as a note.
+
+2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
+
* reorg.c (dbr_schedule): Delete REG_BR_PRED loop.
2012-08-02 Marc Glisse <marc.glisse@inria.fr>
diff --git a/gcc/recog.c b/gcc/recog.c
index a05e8c6..d7381ab 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2831,7 +2831,8 @@ split_insn (rtx insn)
if (note && CONSTANT_P (XEXP (note, 0)))
set_unique_reg_note (last, REG_EQUAL, XEXP (note, 0));
else if (CONSTANT_P (SET_SRC (insn_set)))
- set_unique_reg_note (last, REG_EQUAL, SET_SRC (insn_set));
+ set_unique_reg_note (last, REG_EQUAL,
+ copy_rtx (SET_SRC (insn_set)));
}
}