From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6030 invoked by alias); 19 Aug 2009 20:30:54 -0000 Received: (qmail 6021 invoked by uid 22791); 19 Aug 2009 20:30:53 -0000 X-SWARE-Spam-Status: No, hits=-0.9 required=5.0 tests=BAYES_00,SARE_RECV_IP_069194 X-Spam-Check-By: sourceware.org Received: from web62402.mail.re1.yahoo.com (HELO web62402.mail.re1.yahoo.com) (69.147.75.31) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Wed, 19 Aug 2009 20:30:44 +0000 Received: (qmail 46758 invoked by uid 60001); 19 Aug 2009 20:30:40 -0000 Message-ID: <490580.44033.qm@web62402.mail.re1.yahoo.com> Received: from [62.194.78.160] by web62402.mail.re1.yahoo.com via HTTP; Wed, 19 Aug 2009 13:30:40 PDT Date: Wed, 19 Aug 2009 23:47:00 -0000 From: Alex Turjan Subject: Re: Question about the difference between two instruction scheduling passes To: gcc@gcc.gnu.org, "Amker.Cheng" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-08/txt/msg00346.txt.bz2 > Gcc only does this work in the second pass, but what's the > point? Is it wrong or just not necessary in the first sched > pass? Regardless of the target architecture from the correctness point of view sched1 can be disabled. sched1 has as purpose shortening live ranges. Short live ranges allow the register allocation to: 1. generate less spills and 2. also to avoid useless live ranges splitting. The second point impacts the register renaming phase which allows sched2 phase to extract more ilp.