On Thu, 22 Oct 2015, Martin Sebor wrote:
> [Sending to the right list this time]
>
> The documentation of the -Q --help=optimizers options leads some
> to expect that when options are reported as enabled imply the
> corresponding optimization will take place. (See the following
> question on gcc-help:
> https://gcc.gnu.org/ml/gcc-help/2015-10/msg00133.html)
>
> The patch below tries to make it clear that that's not always
> the case.
Hi,
The issue is due to optimization passes being skipped at -O0, and yet
corresponding optimization options not explicitely disabled. The effect of -O
is an old source of confusion, and now the intro to "Optimization Options"
says,
Most optimizations are only enabled if an -O level is set on the command
line. Otherwise they are disabled, even if individual optimization flags
are specified.
(added with this patch:
https://gcc.gnu.org/ml/gcc-patches/2009-10/msg00739.html )
As we observe, it's not visible enough, and I'm not sure saying that again in
the documentation (in a different section) is a good way to go. Maybe we'd
warn for attempts to enable optimizations at -O0, but that's not trivial.
Perhaps go with Richard's suggestion in the end of this mail ("Thus, at the
end of --help-optimizers print ...")?
https://gcc.gnu.org/ml/gcc-patches/2012-05/msg00113.html
Thanks.
Alexander