OSDN Git Service

* sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Apr 2011 17:42:35 +0000 (17:42 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Apr 2011 17:42:35 +0000 (17:42 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171842 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/sched-ebb.c

index 4aa0284..764bcf4 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 9fbb9b9..25a2aac 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;
        }