diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-01-28 20:36:44 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-01-28 20:36:44 +0100 |
commit | 591e29d9da4cb934419efab7e73468df42af9186 (patch) | |
tree | 738974e0dfcd7dab87ec93691e86e2079883ce31 /gcc/expr.c | |
parent | 62dcc44a4bbe224aaac5d5dccb4703382b3a84e5 (diff) | |
download | gcc-591e29d9da4cb934419efab7e73468df42af9186.zip gcc-591e29d9da4cb934419efab7e73468df42af9186.tar.gz gcc-591e29d9da4cb934419efab7e73468df42af9186.tar.bz2 |
re PR target/42894 (Invalid rtl sharing in Thumb1.)
PR target/42894
* varasm.c (force_const_mem): Store copy of x in desc->constant
instead of x itself.
* expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
itself into REG_EQUAL note.
* gcc.dg/tls/pr42894.c: New test.
From-SVN: r169370
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3398,7 +3398,7 @@ emit_move_insn (rtx x, rtx y) && (set = single_set (last_insn)) != NULL_RTX && SET_DEST (set) == x && ! rtx_equal_p (y_cst, SET_SRC (set))) - set_unique_reg_note (last_insn, REG_EQUAL, y_cst); + set_unique_reg_note (last_insn, REG_EQUAL, copy_rtx (y_cst)); return last_insn; } |