From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27805 invoked by alias); 30 Jun 2009 12:05:04 -0000 Received: (qmail 27761 invoked by uid 22791); 30 Jun 2009 12:05:02 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mail3-relais-sop.national.inria.fr (HELO mail3-relais-sop.national.inria.fr) (192.134.164.104) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 30 Jun 2009 12:04:54 +0000 Received: from sashimi.futurs.inria.fr (HELO [195.83.212.217]) ([195.83.212.217]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Jun 2009 14:04:50 +0200 Message-ID: <4A49FFAE.8030101@inria.fr> Date: Tue, 30 Jun 2009 15:01:00 -0000 From: Albert Cohen User-Agent: Mozilla-Thunderbird 2.0.0.19 (X11/20090103) MIME-Version: 1.0 To: Vladimir Makarov CC: reply@meinersbur.de, gcc@gcc.gnu.org, Sid Touati Subject: Re: Register Pressure in Instruction Level Parallelism References: <4A47462E.1080402@uni-paderborn.de> <4A48EB07.3040602@redhat.com> <4A490F97.5000609@uni-paderborn.de> <4A491793.1020404@redhat.com> In-Reply-To: <4A491793.1020404@redhat.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit 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-06/txt/msg00697.txt.bz2 Vladimir Makarov wrote: > I've just checked the thesis again. I don't think decreasing register > pressure through spilling will work well. First of all Polleto linear > scan RA is worse than Chaitin-Briggs approach. Even its major > improvement extending linear scan is worse than Chaitin-Briggs > approach. My experience with an ELS implementation in GCC has shown me > this although in original article about ELS the opposite is stated (the > comparison in the article was done in GCC but with the new ra project > which was unsuccessful implementation of Chaitin-Briggs RA and it was > done only on ppc64. I am sure that on x86/x86_64 ELS would behave even > worse). That is about basic RA spill in Touti's thesis. Touati's thesis has a section on spill insertion in the DDG to deal with excessive register sufficienty, but he did not have time to implement it. However, there is a new implementation, in C, to compute saturation, sufficiency, insert the extra dependences and spills. This is not yet as complete as the previous version (used to be in C++ and based on the proprietary LEDA graph algorithm toolkit), but is available to those of you interested. The license will a priori become LGPL for the time being, but I guess Sid Touati is willing to assign his copyright for specific versions and transfer the code directly to GCC if needed. In any case, please talk to Sid directly (in CC). Albert