From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2468 invoked by alias); 26 Mar 2004 20:06:08 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 2447 invoked from network); 26 Mar 2004 20:06:07 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 26 Mar 2004 20:06:07 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i2QK671X021485; Fri, 26 Mar 2004 15:06:07 -0500 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i2QK66j24765; Fri, 26 Mar 2004 15:06:07 -0500 Received: from redhat.com (vpn50-62.rdu.redhat.com [172.16.50.62]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id i2QK65f7024187; Fri, 26 Mar 2004 15:06:05 -0500 Message-ID: <40648F84.5070704@redhat.com> Date: Fri, 26 Mar 2004 22:21:00 -0000 From: "Vladimir N. Makarov" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830 MIME-Version: 1.0 To: John Lu CC: gcc@gcc.gnu.org Subject: Re: Register Allocation References: <200403261954.i2QJsfT27909@dts0.lsil.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-03/txt/msg01580.txt.bz2 John Lu wrote: >Hi, > >I've been working on a port based on gcc-3.3 and I've noticed that >better assembly code is generated if the C source has >separate variables declared for distinct live ranges. > > > Pesudo-register renaming is made by -fweb. It was written by Jan Hubicka. Probably, this option should be set up by default (although there is no practically improvement for SPECInt2000 for P4, some tests are really faster). Another positive thing of usage this option is better scheduling because of less anti-dependences. Different live ranges of a varaible sometimes has less conflicts and never more. Therefore there is more probablility that varaible values will be in registers. New ra works on webs (it is definitions and usages of pseudo-register which can have different names). So it should work for new ra too. But there are a lot factors which could prevent generates a better code. Vlad > >