From: Mark Mitchell <mark@codesourcery.com>
To: Steven Bosscher <stevenb@suse.de>
Cc: gcc@gcc.gnu.org, dberlin@dberlin.org
Subject: Re: GCC 3.5 Status (2004-08-29)
Date: Mon, 30 Aug 2004 01:04:00 -0000 [thread overview]
Message-ID: <41327A88.5080903@codesourcery.com> (raw)
In-Reply-To: <200408300229.13652.stevenb@suse.de>
Steven Bosscher wrote:
>On Monday 30 August 2004 02:03, Mark Mitchell wrote:
>
>
>>Steven Bosscher wrote:
>>
>>
>>>On Monday 30 August 2004 01:17, Mark Mitchell wrote:
>>>
>>>
>>>>The following changes will be postponed until GCC 3.6. These changes
>>>>either provide too little benefit, are too risky, or will take too
>>>>much time to complete.
>>>>
>>>>* Aliasing improvements for structure fields [Berlin]
>>>>
>>>>
>>>But you should
>>>realize that this analysis is absolutely critical if GCC 3.5 is going
>>>to perform reasonably well.
>>>
>>>
>>I am not convinced of this statement.
>>
>>First, the compiler speed argument mostly affects optimizing
>>compilations, where compile-times are much less critical than
>>non-optimizing compilations. I'm sure that people will want to argue
>>this point, but I've been talking with customers for a decade and the
>>ones concerned about compile-times are almost always willing to have
>>optimizing compilation take longer.
>>
>>
>
>Hmm, let's argue. So you think 25-100% slowdown is justifyable despite
>just about every project using GCC complaining about how GCC gets slower
>with each release?
>
>
Obviously, this is not ideal. However, we have few practical
alternatives. I am not convinced that any further delay will get us
better results. I do not see a broad committment to improving
compile-time speed when optimizing: in fact, I got zero proposals from
people planning to work specifically on that issue.
We have no way of knowing for sure that Dan's work will help here
either, or how many follow-on effects there will be. If Dan's work does
what we expect, then we can turn off some RTL optimizers. That will
help, but I doubt it will help by a factor of two. We've been looking
at compile-time issues a lot lately, and generally these turn out to be
pretty subtle. Since Dan's work requires touching lots of code, it will
introduce bugs. They will have to be fixed. We will likely uncover
other latent bugs as a result of Dan's code making things more aggressive.
Maintaining compilation speed was a precondition set by the SC for the
tree-ssa merge. If that condition was not met, then perhaps the merge
should not have been performed. The fact that it was probably indicates
that people weren't too worried about these compile-time effects.
I continue to think it will take at least another several months to
really get to the point where tree-ssa is unambiguously better
(consistently better code, consistently better compile-times, fewer
bugs) than GCC 3.4. If people want to put GCC 3.5 off until next June,
and SC approves, it's OK with me. Otherwise, I think we proceed, and
accept that the release will be useful to some people and less useful to
others. (It will, for example, be useful to people who need support for
new targets, or want gfortran, or want faster non-optimizing compile
times, which we are now seeing for some C++ programs.) There are always
people who declare any given release to be "totally broken".
>>the common cases to achieve most of the benefits.
>>
>>
>
>What is your confidence based on? What common cases? Did Dan tell you
>about the issues that he's fighting? No "less comprehensive" solution
>exists that will not run into the exact same problems.
>
>
My confidence is based on the fact that there are generally such
solutions to most such problems in software engineering. Perhaps this
is the very rare case where there is no acceptable short-term solution
that gets much of the win, but I'd be surprised.
>>Third, if this change is so vital, then we should be willing to drop
>>some other changes in favor of this one, so that people can work with
>>Dan to finish this one. Why don't you suggest some changes that are
>>already on the list that you'd be willing to give up?
>>
>>
>
>The things I currently work on that I would drop right away:
>* Edges-in-vectors conversion [Elliston]
>* Tree-based profile-directed feedback [Hubicka]
>
>Things that I think are not as important as beter AA:
>* Linear loop transforms [Berlin]
>* Variable expansion optimization [Eres]
>* Tree-based branch prediction [Hubicka]
>...and probably other stuff, but these are the only ones from which I
>think we reasonably expect that they would help Dan (hey, is he on that
>list?!) with his AA work.
>
That's roughly the same list I would have come up with, with the
exception of Elliston's changes, which I think are important precisely
because they will likely reduce memory usage and help compile times. If
Dan, Jan, and Revital are willing to abandon their other projects and
will commit to working with you on aliasing, and together, you think
that you can get things done much more quickly, let me know. (There is
probably not much to be done for linear loop transforms, since Dan
indicates that it is already submitted.) I am willing to trade.
--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com
next prev parent reply other threads:[~2004-08-30 0:53 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-29 23:49 Mark Mitchell
2004-08-30 0:03 ` Andrew Pinski
2004-08-30 0:33 ` Mark Mitchell
2004-08-30 0:53 ` Daniel Berlin
2004-08-30 0:25 ` Steven Bosscher
2004-08-30 0:48 ` Mark Mitchell
2004-08-30 0:57 ` Steven Bosscher
2004-08-30 1:04 ` Mark Mitchell [this message]
2004-08-30 1:12 ` Andrew Pinski
2004-08-30 1:29 ` Mark Mitchell
2004-08-30 10:11 ` Joseph S. Myers
2004-08-30 2:46 ` Giovanni Bajo
2004-08-30 3:09 ` Matt Austern
2004-08-30 13:51 ` Speeding up C++ at -O0 (Was: GCC 3.5 Status (2004-08-29)) Giovanni Bajo
2004-08-30 18:02 ` GCC 3.5 Status (2004-08-29) Joe Buck
2004-08-30 3:32 ` Gabriel Dos Reis
2004-08-30 4:11 ` Mark Mitchell
2004-08-30 4:17 ` Gabriel Dos Reis
2004-08-30 4:43 ` Mark Mitchell
2004-08-30 5:09 ` Gabriel Dos Reis
2004-08-30 5:27 ` Mark Mitchell
2004-08-30 5:30 ` Gabriel Dos Reis
2004-08-30 6:57 ` Mark Mitchell
2004-08-30 9:24 ` Steven Bosscher
2004-08-30 10:13 ` Giovanni Bajo
2004-08-30 10:26 ` Steven Bosscher
2004-08-30 16:34 ` Jan Hubicka
2004-08-30 11:02 ` Paolo Bonzini
2004-08-30 10:03 ` Steven Bosscher
2004-08-30 15:11 ` Mark Mitchell
2004-08-30 15:21 ` Jan Hubicka
2004-08-30 17:46 ` Jeffrey A Law
2004-08-30 1:09 ` Daniel Berlin
2004-08-30 1:53 ` Mark Mitchell
2004-08-30 7:34 ` Steven Bosscher
2004-08-30 8:15 ` Mark Mitchell
2004-08-30 14:16 ` Daniel Berlin
2004-08-30 15:10 ` Mark Mitchell
2004-08-30 3:03 ` Daniel Berlin
2004-08-30 3:20 ` Mark Mitchell
2004-08-31 17:35 ` Joseph S. Myers
2004-08-30 10:50 ` Dorit Naishlos
2004-08-30 15:12 ` Mark Mitchell
2004-08-30 14:26 ` Jan Hubicka
2004-08-30 15:03 ` Mark Mitchell
2004-08-30 15:05 ` Jan Hubicka
2004-08-30 17:08 ` Diego Novillo
2004-08-31 3:25 ` Devang Patel
2004-08-30 0:59 Richard Kenner
2004-08-30 4:33 Nathanael Nerode
2004-08-30 10:17 Richard Kenner
2004-08-30 14:48 ` Mark Mitchell
2004-08-30 18:08 ` Mike Stump
2004-08-30 10:44 Richard Kenner
2004-08-30 11:27 ` Laurent GUERBY
2004-08-30 13:05 ` Jakub Jelinek
2004-08-30 18:28 ` Laurent GUERBY
2004-08-30 20:04 ` Jakub Jelinek
2004-08-30 20:25 ` Laurent GUERBY
2004-08-31 5:27 ` Eric Botcazou
2004-08-31 9:42 ` Arnaud Charlet
2004-08-30 20:14 ` Florian Weimer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41327A88.5080903@codesourcery.com \
--to=mark@codesourcery.com \
--cc=dberlin@dberlin.org \
--cc=gcc@gcc.gnu.org \
--cc=stevenb@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).