From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24735 invoked by alias); 17 Jan 2004 05:04:49 -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 24709 invoked from network); 17 Jan 2004 05:04:41 -0000 Received: from unknown (HELO www.eyesopen.COM) (12.96.199.11) by sources.redhat.com with SMTP; 17 Jan 2004 05:04:41 -0000 Received: from localhost (roger@localhost) by www.eyesopen.COM (8.11.6/8.11.6) with ESMTP id i0H4JAV24518; Fri, 16 Jan 2004 21:19:11 -0700 Date: Sat, 17 Jan 2004 05:04:00 -0000 From: Roger Sayle To: Steven Bosscher cc: gcc@gcc.gnu.org Subject: Re: [RFC] Contributing tree-ssa to mainline In-Reply-To: <200401170407.26547.s.bosscher@student.tudelft.nl> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2004-01/txt/msg01022.txt.bz2 On Sat, 17 Jan 2004, Steven Bosscher wrote: > On Saturday 17 January 2004 03:30, Richard Kenner wrote: > > My feeling is that "success" would be in showing at least one class of code > > where we see very significantly better code (at least a factor of two) and > > we see significant (around 10-20%) performance improvement in a larger > > class of test cases. > > You must be joking. I've added this beautiful quip to bugzilla: > > Moore's Law: "Advances in hardware double computing power every 18 months". > Proebsting's law: "Advances in compiler optimizations double computing > power every 18 years". > > Expecting tree-ssa to produce code better by a factor of two is simply > unreasonable. Whilst I agree that expecting a factor of two is asking for miracles, there are clearly significant gains to be made without pushing the envelope of current compiler theory. My greatest disappointment working on GCC's optimizations, is that try as I might I've only ever been able to push Andreas' SPECcpu2000 benchmarks perhaps a percentage point or two higher. This on a platform where Microsoft's compilers score about 20% higher. Intel similarly claims about 20% better performance than GCC on average. For years I've (we've) been trying to break this glass ceiling. Why is is that impressive optimization passes do little to make up the short fall. Is it because they have partial dead-code elimination and we don't, or that they can apply synthetic multiplication later, or that they have better reassociation... Intel's vectorization would be nice... My assumption, and presumably I'm not alone, was that this was caused to some extent by GCC's aging (inferior) infrastructure, and to a lesser extend its requirement to support multiple targets rather be master of one. My great hope for tree-ssa was (and still is) that it'd tackle this barrier. Even half way there, 10% SPECint2000 on average would be good and in theory achievable without braking Proebsting's law. As I've mentioned before, one of the criteria that should be used in assessing tree-ssa is its rate of improvement. Deciding the fate of tree-ssa at the first opportunity it becomes comparable with mainline, by definition, becomes a difficult task. If in a few weeks or months, there's a clear 8% or 15% advantage to the branch, many of the difficult issues we're struggling with today will be moot. Of course, if tree-ssa can't break out of the rut, I'll have to give some more thought to what I hope to achieve with my life... Roger --