OSDN Git Service

gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jan 2007 15:07:34 +0000 (15:07 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jan 2007 15:07:34 +0000 (15:07 +0000)
* cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121339 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cfgrtl.c

index cc30009..fa3cf11 100644 (file)
@@ -1,3 +1,7 @@
+2007-01-30  Richard Sandiford  <richard@codesourcery.com>
+
+       * cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p.
+
 2007-01-30  Uros Bizjak  <ubizjak@gmail.com>
 
        * builtins.c (expand_builtin_int_interclass_roundingfn): New function
index 4aaedbe..4424621 100644 (file)
@@ -728,7 +728,8 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
      the cc0 setter too.  */
   kill_from = insn;
 #ifdef HAVE_cc0
-  if (reg_mentioned_p (cc0_rtx, PATTERN (insn)))
+  if (reg_mentioned_p (cc0_rtx, PATTERN (insn))
+      && only_sets_cc0_p (PREV_INSN (insn)))
     kill_from = PREV_INSN (insn);
 #endif