From: Jerry Quinn Date: Tue, 31 Dec 2002 14:43:13 +0000 (+0000) Subject: invoke.texi (Optimization Options): List the options enabled by each -O flag. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fad893da140f29cabd16d316c87452d8efd76fc2;p=gcc.git invoke.texi (Optimization Options): List the options enabled by each -O flag. * gcc/doc/invoke.texi (Optimization Options): List the options enabled by each -O flag. From-SVN: r60692 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f7916b7a28..559534cebae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-12-31 Jerry Quinn + + * gcc/doc/invoke.texi (Optimization Options): List the options + enabled by each -O flag. + 2002-12-31 Gerald Pfeifer * doc/install.texi (Configuration): Explicitly refer diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c1bfae47cce..b0d118c34eb 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -3390,6 +3390,21 @@ With @option{-O}, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time. +@option{-O} turns on the following optimization flags: +@gccoptlist{-fdefer-pop +-fmerge-constants +-fthread-jumps +-floop-optimize +-fcrossjumping +-fif-conversion +-fif-conversion2 +-fdelayed-branch +-fguess-branch-probability +-fcprop-registers} + +@option{-O} also turns on @option{-fomit-frame-pointer} on machines +where doing so does not interfere with debugging. + @item -O2 @opindex O2 Optimize even more. GCC performs nearly all supported optimizations @@ -3398,11 +3413,25 @@ perform loop unrolling or function inlining when you specify @option{-O2}. As compared to @option{-O}, this option increases both compilation time and the performance of the generated code. -@option{-O2} turns on all optional optimizations except for loop -unrolling, function inlining, and register renaming. It also turns on -the @option{-fforce-mem} and @option{-fstrict-aliasing} option on all -machines and frame pointer elimination on machines where doing so does -not interfere with debugging. +@option{-O2} turns on all optimization flags specified by @option{-O}. It +also turns on the following optimization flags: +@gccoptlist{-fforce-mem +-foptimize-sibling-calls +-fstrength-reduce +-fcse-follow-jumps -fcse-skip-blocks +-frerun-cse-after-loop -frerun-loop-opt +-fgcse -fgcse-lm -fgcse-sm +-fdelete-null-pointer-checks +-fexpensive-optimizations +-fregmove +-fschedule-insns -fschedule-insns2 +-fsched-interblock -fsched-spec +-fcaller-saves +-fpeephole2 +-freorder-blocks -freorder-functions +-fstrict-aliasing +-falign-functions -falign-jumps +-falign-loops -falign-labels} Please note the warning under @option{-fgcse} about invoking @option{-O2} on programs that use computed gotos. @@ -3415,7 +3444,7 @@ Optimize yet more. @option{-O3} turns on all optimizations specified by @item -O0 @opindex O0 -Do not optimize. +Do not optimize. This is the default. @item -Os @opindex Os @@ -3423,6 +3452,10 @@ Optimize for size. @option{-Os} enables all @option{-O2} optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. +@option{-Os} disables the following optimization flags: +@gccoptlist{-falign-functions -falign-jumps -falign-loops +-falign-labels -freorder-blocks -fprefetch-loop-arrays} + If you use multiple @option{-O} options, with or without level numbers, the last such option is the one that is effective. @end table