Hello list,
we discussed the subject in the BOF but I didn't quite get what the
consensus is, so that I can start changing things.
What I have in mind is to introduce and document a new "make release"
target that builds GCC in the fastest /stable/ way possible, for example
--enable-checking=release BOOT_CFLAGS=-O3. I don't know what are the exact
options we want, personally I tried -O3 and cc1 was 0% - 4% with no
regressions, so IMHO we definitely want -O3 as default. I'm curious also
about lto and profiledbootstrap but don't know if they should be default,
in any case if anything gets worse we can revert.
The actual purpose of adding a separate "release" target and documenting
it properly is for all distributors (besides the ones having specific
constraints, like embedded) to actually build GCC in the best way
possible. Since we will be making sure no problems are introduced with
-O3/lto/whatever this will also be a great way to advertise that these
build methods actually work well, and it's an advantage over other
compilers. Finally, that way the default target can remain -O2 (or even
-O1) so that all our test bootstraps complete in sensible time.
So, what do you think?
Thanks,
Dimitris
P.S. Size change for stripped cc1 is almost 10% between -O2 and -O3:
$ wc -c cc1*
10858100 cc1.O2
12103284 cc1.O3