diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-08-02 20:44:38 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-08-02 20:44:38 +0000 |
commit | b5b071a5688e68b783547add84949c63c49d7dc1 (patch) | |
tree | 7ebf193fc0886aa75e0dc830a863e6b85d974649 | |
parent | 8e6ecdc0ad4533626d35206318b254b76748e370 (diff) | |
download | gcc-b5b071a5688e68b783547add84949c63c49d7dc1.zip gcc-b5b071a5688e68b783547add84949c63c49d7dc1.tar.gz gcc-b5b071a5688e68b783547add84949c63c49d7dc1.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/recog.c | 3 |
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))); } } |