* gcse.c (try_replace_reg): Fix updating of note.
authorJosef Zlomek <zlomekj@suse.cz>
Tue, 5 Aug 2003 04:22:05 +0000 (06:22 +0200)
committerJosef Zlomek <zlomek@gcc.gnu.org>
Tue, 5 Aug 2003 04:22:05 +0000 (04:22 +0000)
From-SVN: r70168

gcc/ChangeLog
gcc/gcse.c

index 60bfb0289e4329cd878af7485cb6d12b540d4c13..8a2653cf736a3f8db6dbe1101e0c8dddd65866e9 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 e8c5f9a792911d41742c0c2f10c8db32df43cf5f..06f7fd9efa0e5c55f4e47217b0ce681e84aefad4 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