While updating the -Wrestrict option to mention that it works best not just with -O2 but also at higher optimization levels I looked around for other options that might benefit from a similar clarification. I found a few inlining options that only mention -O2 but that (according to -Q --help=optimizers) are enabled at other levels as well. The attached patch changes the manual to reflect that.
Given the large number of options I didn't take the time to check all optimization options so there could others that could stand to be similarly improved if we want to be 100% accurate. If that is, in fact, what we want then we might want to script this. Martin
2018-04-08 Martin Sebor <mse...@redhat.com> * invoke.texi (-finline-small-functions): Mention other optimization options. (-findirect-inlining, -fpartial-inlining): Same. (-finline-functions-called-once): Same. (-freorder-blocks-and-partition): Same. Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi (revision 259224) +++ gcc/doc/invoke.texi (working copy) @@ -7780,7 +7780,7 @@ heuristically decides which functions are simple e in this way. This inlining applies to all functions, even those not declared inline. -Enabled at level @option{-O2}. +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. @item -findirect-inlining @opindex findirect-inlining @@ -7789,7 +7789,7 @@ time thanks to previous inlining. This option has when inlining itself is turned on by the @option{-finline-functions} or @option{-finline-small-functions} options. -Enabled at level @option{-O2}. +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. @item -finline-functions @opindex finline-functions @@ -7801,7 +7801,7 @@ If all calls to a given function are integrated, a declared @code{static}, then the function is normally not output as assembler code in its own right. -Enabled at level @option{-O3}. +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. @item -finline-functions-called-once @opindex finline-functions-called-once @@ -9002,7 +9002,7 @@ Inline parts of functions. This option has any ef when inlining itself is turned on by the @option{-finline-functions} or @option{-finline-small-functions} options. -Enabled at level @option{-O2}. +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. @item -fpredictive-commoning @opindex fpredictive-commoning @@ -9109,7 +9109,7 @@ sections. When @option{-fsplit-stack} is used thi enabled by default (to avoid linker errors), but may be enabled explicitly (if using a working linker). -Enabled for x86 at levels @option{-O2}, @option{-O3}. +Enabled for x86 at levels @option{-O2}, @option{-O3}, @option{-Os}. @item -freorder-functions @opindex freorder-functions