From 2a6a0d809f0fe62306e21aaad89227205181e0e4 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Fri, 1 Apr 2011 17:42:35 +0000 Subject: [PATCH] * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag. From-SVN: r171842 --- gcc/ChangeLog | 2 ++ gcc/sched-ebb.c | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4aa0284544e..764bcf40541 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 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>. diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c index 9fbb9b96f63..25a2aac5ddc 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; } -- 2.30.2