This is the mail archive of the
mailing list for the GCC project.
Re: [RFC] Contributing tree-ssa to mainline
- From: Roger Sayle <roger at eyesopen dot com>
- To: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 16 Jan 2004 21:19:10 -0700 (MST)
- Subject: Re: [RFC] Contributing tree-ssa to mainline
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
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...