OSDN Git Service

Prevent interblock move of CC0 setter.
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Jul 2003 07:56:36 +0000 (07:56 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Jul 2003 07:56:36 +0000 (07:56 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69992 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/sched-deps.c

index 7729d5d..2c82f05 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
+
+        * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
+        setter.
+
 2003-07-30  Roger Sayle  <roger@eyesopen.com>
 
        * builtins.def: Alphabetize.
index 1a41e99..477203c 100644 (file)
@@ -625,6 +625,9 @@ sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
     case CC0:
       /* User of CC0 depends on immediately preceding insn.  */
       set_sched_group_p (insn);
+       /* Don't move CC0 setter to another block (it can set up the
+        same flag for previous CC0 users which is safe).  */
+      CANT_MOVE (prev_nonnote_insn (insn)) = 1;
       return;
 #endif