From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14745 invoked by alias); 8 Apr 2011 14:22:23 -0000 Received: (qmail 14737 invoked by uid 22791); 8 Apr 2011 14:22:22 -0000 X-SWARE-Spam-Status: No, hits=0.8 required=5.0 tests=AWL,BAYES_00,FSL_RU_URL,RCVD_IN_JMF_BL,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp.ispras.ru (HELO smtp.ispras.ru) (83.149.198.202) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 08 Apr 2011 14:22:18 +0000 Received: from ispserv.ispras.ru (ispserv.ispras.ru [83.149.198.72]) by smtp.ispras.ru (Postfix) with ESMTP id D0E135D406D; Fri, 8 Apr 2011 18:21:44 +0400 (MSD) Received: from monoid.intra.ispras.ru (winnie.ispras.ru [83.149.198.236]) by ispserv.ispras.ru (Postfix) with ESMTP id 837423FC48; Fri, 8 Apr 2011 18:22:17 +0400 (MSD) Date: Fri, 08 Apr 2011 14:22:00 -0000 From: Alexander Monakov To: Vladimir Makarov cc: gcc-patches@gcc.gnu.org Subject: [committed] sel-sched: Fixup adding of preheader blocks from inner loops In-Reply-To: <4D9E1BA0.7020602@redhat.com> Message-ID: References: <4D9E1BA0.7020602@redhat.com> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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-04/txt/msg00633.txt.bz2 I failed to notice that current_loop_nest is modified in setup_current_loop_nest and used in sel_setup_region_sched_flags. Therefore, sel_setup_region_sched_flags should be moved with setup_current_loop_nest after sel_init_bbs as well. I've committed the following patch under the 'obvious' rule after noticing the problem on ia64 bootstrap with selective scheduler enabled at -O2 (I normally do this together with amd64 bootstraps before committing patches, but this time I made a typo that completely disabled sel-sched for ia64 testing). Sorry for the noise. 2011-04-08 Alexander Monakov * sel-sched.c (sel_region_init): Move call to sel_setup_region_sched_flags after setup_current_loop_nest. Index: gcc/sel-sched.c =================================================================== --- gcc/sel-sched.c (revision 172177) +++ gcc/sel-sched.c (working copy) @@ -6868,8 +6868,6 @@ sel_region_init (int rgn) if (current_region_empty_p ()) return true; - sel_setup_region_sched_flags (); - bbs = VEC_alloc (basic_block, heap, current_nr_blocks); for (i = 0; i < current_nr_blocks; i++) @@ -6880,6 +6878,8 @@ sel_region_init (int rgn) if (flag_sel_sched_pipelining) setup_current_loop_nest (rgn, &bbs); + sel_setup_region_sched_flags (); + /* Initialize luids and dependence analysis which both sel-sched and haifa need. */ sched_init_luids (bbs, NULL, NULL, NULL);