This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Faster compilation speed


Geoff Keating wrote:

Stan Shebs <shebs@apple.com> writes:

Mike Stump wrote:

The first realization I came to is that the only existing control
for such things is -O[123], and having thought about it, I think it
would be best to retain and use those flags.  For minimal user
impact, I think it would be good to not perturb existing users of
-O[0123] too much, or at leaast, not at first.  If we wanted to
change them, I think -O0 should be the `fast' version, -O1 should be
what -O0 does now with some additions around the edges, and -O2 and
-O3 also slide over (at least one).  What do you think, slide them
all over one or more, or just make -O0 do less, or...?  Maybe we
have a -O0.0 to mean compile very quickly?

I think it suffices to have -O0 mean "go as fast as possible".

Note that that's different to what it means now, which is "I want the
debugger to not surprise me."

There's been a little bit of a drift over the years - -O0 used to be
"no opts at all", -O1 was "not too surprising for the debugger", and
-O2 was all-out.  I remember some pressure from Cygnus customers to
make -O0 do more optimization, sometimes out of stupidity, but in the
legitimate cases because the -O0 code was too slow and/or large to
fit on the target embedded system, even for debugging.

So what *should* we do with -O0 optimizations that measurably
slow down the compiler?

Stan




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]