OSDN Git Service

* gcse.c (try_replace_reg): Fix updating of note.
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Aug 2003 04:22:05 +0000 (04:22 +0000)
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Aug 2003 04:22:05 +0000 (04:22 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70168 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gcse.c

index 60bfb02..8a2653c 100644 (file)
@@ -1,3 +1,7 @@
+2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
+
+       * gcse.c (try_replace_reg): Fix updating of note.
+
 2003-08-04  Roger Sayle  <roger@eyesopen.com>
 
        PR middle-end/11771
index e8c5f9a..06f7fd9 100644 (file)
@@ -3849,6 +3849,11 @@ try_replace_reg (rtx from, rtx to, rtx insn)
        validate_change (insn, &SET_SRC (set), src, 0);
     }
 
+  /* If there is already a NOTE, update the expression in it with our
+     replacement.  */
+  if (note != 0)
+    XEXP (note, 0) = simplify_replace_rtx (XEXP (note, 0), from, to);
+
   if (!success && set && reg_mentioned_p (from, SET_SRC (set)))
     {
       /* If above failed and this is a single set, try to simplify the source of
@@ -3869,11 +3874,6 @@ try_replace_reg (rtx from, rtx to, rtx insn)
        note = set_unique_reg_note (insn, REG_EQUAL, copy_rtx (src));
     }
 
-  /* If there is already a NOTE, update the expression in it with our
-     replacement.  */
-  else if (note != 0)
-    XEXP (note, 0) = simplify_replace_rtx (XEXP (note, 0), from, to);
-
   /* REG_EQUAL may get simplified into register.
      We don't allow that. Remove that note. This code ought
      not to happen, because previous code ought to synthesize