From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2984 invoked by alias); 28 Aug 2008 15:21:23 -0000 Received: (qmail 2974 invoked by uid 22791); 28 Aug 2008 15:21:23 -0000 X-Spam-Check-By: sourceware.org Received: from mail-gx0-f17.google.com (HELO mail-gx0-f17.google.com) (209.85.217.17) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 28 Aug 2008 15:20:48 +0000 Received: by gxk10 with SMTP id 10so4545545gxk.8 for ; Thu, 28 Aug 2008 08:20:46 -0700 (PDT) Received: by 10.150.206.11 with SMTP id d11mr2380077ybg.19.1219936846210; Thu, 28 Aug 2008 08:20:46 -0700 (PDT) Received: by 10.150.49.3 with HTTP; Thu, 28 Aug 2008 08:20:46 -0700 (PDT) Message-ID: <303e1d290808280820p6497e7bdy614393a4c0bd5377@mail.gmail.com> Date: Fri, 29 Aug 2008 15:10:00 -0000 From: "David Edelsohn" To: "Andrey Belevantsev" Subject: Re: Selective scheduling pass - target changes (ia64 & rs6000) [3/3] Cc: "GCC Patches" , "Jim Wilson" , "Vladimir Makarov" , "Ayal Zaks" , "Mark Mitchell" MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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: 2008-08/txt/msg02270.txt.bz2 * config/rs6000/rs6000.c (rs6000_init_sched_context, rs6000_alloc_sched_context, rs6000_set_sched_context, rs6000_free_sched_context): New functions. (struct _rs6000_sched_context): New. (rs6000_sched_reorder2): Do not modify INSN_PRIORITY for selective scheduling. (rs6000_sched_finish): Do not run for selective scheduling. The rs6000 part of the patch is okay with a modification to the following chunk: *************** rs6000_sched_finish (FILE *dump, int sch *** 20085,20091 **** if (reload_completed && rs6000_sched_groups) { ! if (rs6000_sched_insert_nops == sched_finish_none) return; if (rs6000_sched_insert_nops == sched_finish_pad_groups) --- 20103,20110 ---- if (reload_completed && rs6000_sched_groups) { ! if (rs6000_sched_insert_nops == sched_finish_none ! || sel_sched_p ()) return; if (rs6000_sched_insert_nops == sched_finish_pad_groups) Please change this to a separate test for clarify + /* Do not run sched_finish hook when selective scheduling enabled. */ + if (sel_sched_p ()) + return; + if (rs6000_sched_insert_nops == sched_finish_none) return; instead of combining the tests. Also, target maintainers have flexibility during stage 3 with respect to changes local to a port, so the Itanium changes can be approved and committed during stage 3, although earlier would be better. Thanks, David