]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/60116 (wrong code at -Os on x86_64-linux-gnu in 32-bit mode)
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 12 Feb 2014 10:17:08 +0000 (10:17 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 12 Feb 2014 10:17:08 +0000 (10:17 +0000)
PR rtl-optimization/60116
* combine.c (try_combine): Fix oversight in previous change.

From-SVN: r207717

gcc/combine.c

index b01a593ab5cc31215f63b379d7f592ca42164ce9..0cdd37b9465fc8067d52864421f93f6a16f33bce 100644 (file)
@@ -3892,8 +3892,11 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p,
          next = XEXP (note, 1);
 
          if ((REG_NOTE_KIND (note) == REG_DEAD
-              || REG_NOTE_KIND (note) == REG_UNUSED)
-             && ! reg_set_p (XEXP (note, 0), PATTERN (undobuf.other_insn)))
+              && !reg_referenced_p (XEXP (note, 0),
+                                    PATTERN (undobuf.other_insn)))
+             ||(REG_NOTE_KIND (note) == REG_UNUSED
+                && !reg_set_p (XEXP (note, 0),
+                               PATTERN (undobuf.other_insn))))
            remove_note (undobuf.other_insn, note);
        }