From: Richard Sandiford Date: Thu, 2 Aug 2012 20:44:38 +0000 (+0000) Subject: recog.c (split_insn): Copy the original SET_SRC before using it as a note. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b5b071a5688e68b783547add84949c63c49d7dc1;p=gcc.git recog.c (split_insn): Copy the original SET_SRC before using it as a note. gcc/ * recog.c (split_insn): Copy the original SET_SRC before using it as a note. From-SVN: r190102 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index edecc9728f5..524ae209da8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-08-02 Richard Sandiford + + * recog.c (split_insn): Copy the original SET_SRC before using + it as a note. + 2012-08-02 Richard Sandiford * reorg.c (dbr_schedule): Delete REG_BR_PRED loop. diff --git a/gcc/recog.c b/gcc/recog.c index a05e8c608f7..d7381abd579 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))); } }