From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10032 invoked by alias); 24 Mar 2011 13:16:04 -0000 Received: (qmail 10024 invoked by uid 22791); 24 Mar 2011 13:16:04 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Mar 2011 13:15:59 +0000 Received: (qmail 31374 invoked from network); 24 Mar 2011 13:15:58 -0000 Received: from unknown (HELO ?84.152.193.230?) (bernds@127.0.0.2) by mail.codesourcery.com with ESMTPA; 24 Mar 2011 13:15:58 -0000 Message-ID: <4D8B43CD.3010101@codesourcery.com> Date: Thu, 24 Mar 2011 13:16:00 -0000 From: Bernd Schmidt User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110309 Lightning/1.0b3pre Thunderbird/3.1.9 MIME-Version: 1.0 To: GCC Patches Subject: Scheduler cleanups, 4/N Content-Type: multipart/mixed; boundary="------------030804000606030503080007" Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-03/txt/msg01607.txt.bz2 This is a multi-part message in MIME format. --------------030804000606030503080007 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 303 We have a mechanism to prevent the scheduler from touching certain blocks; this is used by modulo scheduling. sched-ebb does not honor this flag currently; this patch fixes it. Bootstrapped and tested on i686-linux (pointlessly... but it's also used in our local tree for a new target, TI C6X). Bernd --------------030804000606030503080007 Content-Type: text/plain; name="bbdissched.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="bbdissched.diff" Content-length: 578 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE_FLAG. Index: gcc/sched-ebb.c =================================================================== --- gcc/sched-ebb.c.orig +++ gcc/sched-ebb.c @@ -585,6 +585,9 @@ schedule_ebbs (void) { rtx head = BB_HEAD (bb); + if (bb->flags & BB_DISABLE_SCHEDULE) + continue; + for (;;) { edge e; @@ -597,6 +600,8 @@ schedule_ebbs (void) break; if (e->probability <= probability_cutoff) break; + if (e->dest->flags & BB_DISABLE_SCHEDULE) + break; bb = bb->next_bb; } --------------030804000606030503080007--