This is the mail archive of the 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]

Change default BOOT_CFLAGS for release builds

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

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