Hello, I fixed Options That Control Optimization section according to 'gcc -Q --help=optimizers' and after consultation with Jakub, I added missing -foptimize-strlen option.
Ready for trunk? Martin ChangeLog: 2014-07-11 Martin Liska <mli...@suse.cz> * doc/invoke.texi: Added missing options to options that control optimization. Missing -foptimize-strlen option introduced.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index a83f6c6..8fa63ff 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -6921,25 +6921,31 @@ compilation time. @option{-O} turns on the following optimization flags: @gccoptlist{ -fauto-inc-dec @gol +-fbranch-count-reg @gol +-fcombine-stack-adjustments @gol -fcompare-elim @gol -fcprop-registers @gol -fdce @gol -fdefer-pop @gol -fdelayed-branch @gol -fdse @gol +-fforward-propagate @gol -fguess-branch-probability @gol -fif-conversion2 @gol -fif-conversion @gol +-finline-functions-called-once @gol -fipa-pure-const @gol -fipa-profile @gol -fipa-reference @gol --fmerge-constants +-fmerge-constants @gol +-fmove-loop-invariants @gol +-fshrink-wrap @gol -fsplit-wide-types @gol -ftree-bit-ccp @gol --ftree-builtin-call-dce @gol -ftree-ccp @gol -fssa-phiopt @gol -ftree-ch @gol +-ftree-copy-prop @gol -ftree-copyrename @gol -ftree-dce @gol -ftree-dominator-opts @gol @@ -6947,6 +6953,7 @@ compilation time. -ftree-forwprop @gol -ftree-fre @gol -ftree-phiprop @gol +-ftree-sink @gol -ftree-slsr @gol -ftree-sra @gol -ftree-pta @gol @@ -6978,19 +6985,23 @@ also turns on the following optimization flags: -fhoist-adjacent-loads @gol -finline-small-functions @gol -findirect-inlining @gol +-fipa-cp @gol -fipa-sra @gol -fisolate-erroneous-paths-dereference @gol -foptimize-sibling-calls @gol +-foptimize-strlen @gol -fpartial-inlining @gol -fpeephole2 @gol --freorder-blocks -freorder-functions @gol +-freorder-blocks -freorder-blocks-and-partition -freorder-functions @gol -frerun-cse-after-loop @gol -fsched-interblock -fsched-spec @gol -fschedule-insns -fschedule-insns2 @gol -fstrict-aliasing -fstrict-overflow @gol +-ftree-builtin-call-dce @gol -ftree-switch-conversion -ftree-tail-merge @gol -ftree-pre @gol --ftree-vrp} +-ftree-vrp @gol +-fuse-caller-save} Please note the warning under @option{-fgcse} about invoking @option{-O2} on programs that use computed gotos. @@ -7000,9 +7011,10 @@ invoking @option{-O2} on programs that use computed gotos. Optimize yet more. @option{-O3} turns on all optimizations specified by @option{-O2} and also turns on the @option{-finline-functions}, @option{-funswitch-loops}, @option{-fpredictive-commoning}, -@option{-fgcse-after-reload}, @option{-ftree-loop-vectorize}, -@option{-ftree-slp-vectorize}, @option{-fvect-cost-model}, -@option{-ftree-partial-pre} and @option{-fipa-cp-clone} options. +@option{-fgcse-after-reload}, @option{-ftree-loop-distribute-patterns}, +@option{-ftree-loop-vectorize}, @option{-ftree-slp-vectorize}, +@option{-fvect-cost-model}, @option{-ftree-partial-pre} +and @option{-fipa-cp-clone} options. @item -O0 @opindex O0 @@ -7113,6 +7125,14 @@ Optimize sibling and tail recursive calls. Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. +@item -foptimize-strlen +@opindex foptimize-strlen +Optimize various standard C string functions (e.g. @code{strlen}, +@code{strchr} or @code{strcpy}) and +their _FORTIFY_SOURCE counterparts into faster alternatives. + +Enabled at levels @option{-O2}, @option{-O3}. + @item -fno-inline @opindex fno-inline Do not expand any functions inline apart from those marked with @@ -7278,6 +7298,8 @@ register, compare it against zero, then branch based upon the result. This option is only meaningful on architectures that support such instructions, which include x86, PowerPC, IA-64 and S/390. +Enabled by default at -O1 and higher. + The default is @option{-fbranch-count-reg}. @item -fno-function-cse