aboutsummaryrefslogtreecommitdiff
path: root/gcc/regmove.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r--gcc/regmove.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 5a2f9c92ed9..eb2e0f48a50 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -686,7 +686,16 @@ optimize_reg_copy_2 (rtx insn, rtx dest, rtx src)
{
if (reg_mentioned_p (dest, PATTERN (q)))
{
+ rtx note;
+
PATTERN (q) = replace_rtx (PATTERN (q), dest, src);
+ note = FIND_REG_INC_NOTE (q, dest);
+ if (note)
+ {
+ remove_note (q, note);
+ REG_NOTES (q)
+ = gen_rtx_EXPR_LIST (REG_INC, src, REG_NOTES (q));
+ }
df_insn_rescan (q);
}