Currently, the default optimization level when building, bootstrapping GCC is -O2.
We routinely build with --with-build-config='bootstrap-debug bootstrap-O3' because we want to verify that our UPC changes don't affect the compiler when built with full optimizations. We also build with --enable-checking=all. Since most developers probably build/test GCC with the default -O2 options, we fairly often run into -O3 related issues when building GCC. Enough so that we're considering just using the default -O2 settings. I'm wondering if there might be benefit in changing the current defaults to use -O3 instead? Or perhaps have the configure infrastructure determine that the build is for a development version of GCC and set the flags and options accordingly? Somewhat related: has anyone recently determined whether a GCC built with -O3 is generally faster/smaller than one built at -O2? thanks, - Gary