public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
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

  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).