diff options
author | Jerry Quinn <jlquinn@optonline.net> | 2002-12-31 14:43:13 +0000 |
---|---|---|
committer | Gerald Pfeifer <gerald@gcc.gnu.org> | 2002-12-31 14:43:13 +0000 |
commit | fad893da140f29cabd16d316c87452d8efd76fc2 (patch) | |
tree | 66314343b4455cd802670a9bf4a476c2b0b2b20a /gcc | |
parent | eddcae5a271754fc379c1b499b0a1ec3a86b7ade (diff) | |
download | gcc-fad893da140f29cabd16d316c87452d8efd76fc2.zip gcc-fad893da140f29cabd16d316c87452d8efd76fc2.tar.gz gcc-fad893da140f29cabd16d316c87452d8efd76fc2.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 45 |
2 files changed, 44 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f7916b..559534c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-12-31 Jerry Quinn <jlquinn@optonline.net> + + * gcc/doc/invoke.texi (Optimization Options): List the options + enabled by each -O flag. + 2002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> * doc/install.texi (Configuration): Explicitly refer diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c1bfae4..b0d118c 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 |