This is the mail archive of the
mailing list for the GCC project.
Re: Faster compilation speed
Geoff Keating wrote:
Stan Shebs <firstname.lastname@example.org> writes:
Mike Stump wrote:
The first realization I came to is that the only existing control
for such things is -O, 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 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?