summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-24 23:09:00 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-24 23:09:00 +0000
commitab9e6ffd1010b6d4a01e42bbd78d35f71b15fff6 (patch)
tree8b53e75f73b5a11041aa660906532cc294a55a58
parent81298e5c76b8ebf718a01c441c50d7bb416ebc9b (diff)
downloadppe42-gcc-ab9e6ffd1010b6d4a01e42bbd78d35f71b15fff6.tar.gz
ppe42-gcc-ab9e6ffd1010b6d4a01e42bbd78d35f71b15fff6.zip
PR rtl-optimization/37769
* regmove.c (optimize_reg_copy_2): Update REG_INC note if needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141354 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/regmove.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ecd90819eaf..1beb0d0af5c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2008-10-24 Kaz Kojima <kkojima@gcc.gnu.org>
+ PR rtl-optimization/37769
+ * regmove.c (optimize_reg_copy_2): Update REG_INC note if needed.
+
+2008-10-24 Kaz Kojima <kkojima@gcc.gnu.org>
+
* config/sh/t-sh: Use $(MULTILIB_CFLAGS) when compiling to
unwind-dw2-Os-4-200.o.
diff --git a/gcc/regmove.c b/gcc/regmove.c
index e25dbec7fe9..12b93fc2ff8 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -685,7 +685,15 @@ 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);
+ add_reg_note (q, REG_INC, src);
+ }
df_insn_rescan (q);
}
OpenPOWER on IntegriCloud