From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32590 invoked by alias); 24 Jul 2007 07:15:32 -0000 Received: (qmail 32578 invoked by uid 22791); 24 Jul 2007 07:15:30 -0000 X-Spam-Check-By: sourceware.org Received: from py-out-1112.google.com (HELO py-out-1112.google.com) (64.233.166.176) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 24 Jul 2007 07:15:28 +0000 Received: by py-out-1112.google.com with SMTP id a29so3763237pyi for ; Tue, 24 Jul 2007 00:15:26 -0700 (PDT) Received: by 10.64.150.18 with SMTP id x18mr5900765qbd.1185261326150; Tue, 24 Jul 2007 00:15:26 -0700 (PDT) Received: by 10.65.240.11 with HTTP; Tue, 24 Jul 2007 00:15:26 -0700 (PDT) Message-ID: <84fc9c000707240015g1ed26f57o205605e7b5587ef3@mail.gmail.com> Date: Tue, 24 Jul 2007 07:29:00 -0000 From: "Richard Guenther" To: "Jan Hubicka" Subject: Re: Reduce startup cost of compiler (patch 2) Cc: gcc-patches@gcc.gnu.org In-Reply-To: <20070724050210.GC10270@kam.mff.cuni.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20070724050210.GC10270@kam.mff.cuni.cz> X-IsSubscribed: yes 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: 2007-07/txt/msg01708.txt.bz2 On 7/24/07, Jan Hubicka wrote: > Hi, > this patch reduces cost of move_cost tables. THose are the largest > tables used by regclass and are allocated as num_modes*num_classes*num_classes > array, while just modes that might appear in pseudos really matters. > > The patch turns the tables into arrays of pointers to arrays so > only those modes needed are allocated (about 2K each) and the tables > are filled in lazily, so for normal units all those weird vector modes don't > need to be considered. Additionally the code is now watching if > the table match last table and avoids computation then saving some extra > memory for vector modes that are largely identical. > > I've also changed move cost type to short to save some extra memory, the values > are used in very internal loop of regclass that I unswitched. The patch is neutral > for combine.c (it however brings record_reg_classes down in schedule) and makes > noticeable difference to startup time (see profiles from previous patch) > > Bootstrapped/regtested i686-linux? Nice! Yes, this is ok. Thanks, Richard.