]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR rtl-optimization/37769
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 24 Oct 2008 23:09:00 +0000 (23:09 +0000)
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 24 Oct 2008 23:09:00 +0000 (23:09 +0000)
* 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

gcc/ChangeLog
gcc/regmove.c

index ecd90819eaf3fabaf63631c01c2cc79fafba89fa..1beb0d0af5c00d0f9b8cff4c4f7a04e35c21561b 100644 (file)
@@ -1,3 +1,8 @@
+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
index e25dbec7fe99301de4baf6a121674cedabd4ab69..12b93fc2ff82aba43278769749b7b045104c2256 100644 (file)
@@ -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);
                  }