From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15934 invoked by alias); 12 Apr 2009 09:34:21 -0000 Received: (qmail 15922 invoked by uid 22791); 12 Apr 2009 09:34:20 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-bw0-f161.google.com (HELO mail-bw0-f161.google.com) (209.85.218.161) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 12 Apr 2009 09:34:15 +0000 Received: by bwz5 with SMTP id 5so1692519bwz.8 for ; Sun, 12 Apr 2009 02:34:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.103.207 with SMTP id l15mr484661fao.2.1239528852368; Sun, 12 Apr 2009 02:34:12 -0700 (PDT) In-Reply-To: References: <1236644191.26872.0.camel@helios> <1239490408.11280.0.camel@helios> Date: Sun, 12 Apr 2009 22:49:00 -0000 Message-ID: <84fc9c000904120234t51849e7xe65ee1277c2446e4@mail.gmail.com> Subject: Re: The gcc-in-cxx branch now completes bootstrap From: Richard Guenther To: Thomas Neumann Cc: gcc@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 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-04/txt/msg00384.txt.bz2 On Sun, Apr 12, 2009 at 9:56 AM, Thomas Neumann wrote: > Curious. I ran both g++ variants in oprofile, and then compared the > generated assembler code for the most critical functions. > > The top 1 function in both cases is pointer_set_insert, and there the > assembler code is 100% identical (module one choice between r14 and r15). > > The second most critical function in the gcc-in-cxx build is walk_tree_1, > which is only place 4 in mainline gcc. > There the code seems to be identical, too, except for code layout: The > compiler arranges the code in a different order, and apparently has > different a different branch prediction. The non-branching code is nearly > identical, too. > The "hottest" assembler instructions in walk_tree_1 are memory accesses, > apparently the mainline version causes slightly less cache misses or better > prediction? (my interpretation, not measured yet) > > I am a bit unsure how to proceed. The gcc-in-cxx assembler code looks ok, as > it is nearly identical to the mainline code. The main differences are in the > code/branch layout, and I wouldn't know how to debug this. I suggest to compare against trunk at the latest merge point for gcc-in-cxx (which was likely before the alias-improvements branch merge which brought quite some changes in the tree verifiers and improved compile-time overall). Or just ask Ian to merge again from trunk ... Richard. > Thomas > > > >