* sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
authorBernd Schmidt <bernds@codesourcery.com>
Fri, 1 Apr 2011 17:42:35 +0000 (17:42 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Fri, 1 Apr 2011 17:42:35 +0000 (17:42 +0000)
From-SVN: r171842

gcc/ChangeLog
gcc/sched-ebb.c

index 4aa0284544e113662604ba8fc8e4ae559b88067e..764bcf4054131475fecca7e5ab76edfe0d012dcb 100644 (file)
@@ -13,6 +13,8 @@
        * haifa-sched.c (queue_insn): New arg REASON.  All callers
        changed.  Print it in debugging output.
 
+       * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
+
 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
 
        * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
index 9fbb9b96f63c21a2302165080d6adb3e2de96ded..25a2aac5ddcda3bd25ce9d3a8f6c492216379da3 100644 (file)
@@ -1,6 +1,6 @@
 /* Instruction scheduling pass.
-   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
    Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
    and currently maintained by, Jim Wilson (wilson@cygnus.com)
@@ -579,6 +579,9 @@ schedule_ebbs (void)
     {
       rtx head = BB_HEAD (bb);
 
+      if (bb->flags & BB_DISABLE_SCHEDULE)
+       continue;
+
       for (;;)
        {
          edge e;
@@ -591,6 +594,8 @@ schedule_ebbs (void)
            break;
          if (e->probability <= probability_cutoff)
            break;
+         if (e->dest->flags & BB_DISABLE_SCHEDULE)
+           break;
          bb = bb->next_bb;
        }