aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2011-04-01 17:42:35 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2011-04-01 17:42:35 +0000
commit2a6a0d809f0fe62306e21aaad89227205181e0e4 (patch)
treec4745995c4927024a2e91e5d8068f38073a07e4b
parentec4efea9e427bd17745fb47a4beeff9bae75b78f (diff)
downloadgcc-2a6a0d809f0fe62306e21aaad89227205181e0e4.zip
gcc-2a6a0d809f0fe62306e21aaad89227205181e0e4.tar.gz
gcc-2a6a0d809f0fe62306e21aaad89227205181e0e4.tar.bz2
* sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
From-SVN: r171842
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/sched-ebb.c9
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4aa0284..764bcf4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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 >>.
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c
index 9fbb9b9..25a2aac 100644
--- a/gcc/sched-ebb.c
+++ b/gcc/sched-ebb.c
@@ -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;
}