OSDN Git Service

Richard Earnshaw <richard.earnshaw@arm.com>
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Jul 2005 09:32:14 +0000 (09:32 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Jul 2005 09:32:14 +0000 (09:32 +0000)
Steven Bosscher  <stevenb@suse.de>

PR rtl-optimization/23117
* sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
when head == tail.  Tidy comment.

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

gcc/ChangeLog
gcc/sched-rgn.c

index 07e31b4..212be18 100644 (file)
@@ -1,3 +1,10 @@
+2005-07-29  Richard Earnshaw  <richard.earnshaw@arm.com>
+           Steven Bosscher  <stevenb@suse.de>
+
+       PR rtl-optimization/23117
+       * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
+       when head == tail.  Tidy comment.
+
 2005-07-28  Richard Henderson  <rth@redhat.com>
 
        * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
index a4c1964..ef18282 100644 (file)
@@ -1954,9 +1954,9 @@ add_branch_dependences (rtx head, rtx tail)
 
                T = [addr]
        C  ?    addr += 4
-       !C  ?   X += 12
+       !C    X += 12
        C  ?    T += 1
-       C     jump foo
+       C  ?    jump foo
 
      On a target with a one cycle stall on a memory access the optimal
      sequence would be:
@@ -1977,17 +1977,17 @@ add_branch_dependences (rtx head, rtx tail)
   if (!reload_completed || ! JUMP_P (tail))
     return;
 
-  insn = PREV_INSN (tail);
+  insn = tail;
   while (insn != head)
     {
+      insn = PREV_INSN (insn);
+
       /* Note that we want to add this dependency even when
         sched_insns_conditions_mutex_p returns true.  The whole point
         is that we _want_ this dependency, even if these insns really
         are independent.  */
       if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == COND_EXEC)
        add_dependence (tail, insn, REG_DEP_ANTI);
-
-      insn = PREV_INSN (insn);
     }
 #endif
 }