diff options
author | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-08 13:47:41 +0000 |
---|---|---|
committer | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-08 13:47:41 +0000 |
commit | a4b0007b9801d39895e8da897208ca99b732c5e7 (patch) | |
tree | ebe6f22b8c0bc10a141057f0afab8127683bf495 /gcc/doc/invoke.texi | |
parent | fcc91c04d0fac35da7a0563e60d643387df5313e (diff) | |
download | gcc-a4b0007b9801d39895e8da897208ca99b732c5e7.tar.gz |
2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com>
* common.opt: Add pointer to doc/options.texi.
* doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
-fipa-reference): Add or correct doc. Sorted options list for -Os
-O, -O2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130000 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 164 |
1 files changed, 90 insertions, 74 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 1c9b75958ed..de460859758 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -315,57 +315,51 @@ Objective-C and Objective-C++ Dialects}. @item Optimization Options @xref{Optimize Options,,Options that Control Optimization}. -@gccoptlist{-falign-functions[=@var{n}] -falign-jumps[=@var{n}] @gol --falign-labels[=@var{n}] -falign-loops[=@var{n}] @gol --fassociative-math -freciprocal-math @gol --fmudflap -fmudflapth -fmudflapir @gol --fbranch-probabilities -fprofile-values -fvpt @gol --fbranch-target-load-optimize @gol --fbranch-target-load-optimize2 -fbtr-bb-exclusive @gol --fcaller-saves -fcprop-registers -fcse-follow-jumps @gol --fcse-skip-blocks -fcx-limited-range -fdata-sections -fdce @gol --fdelayed-branch -fdelete-null-pointer-checks -fdse -fearly-inlining @gol --fexpensive-optimizations -ffast-math -ffloat-store @gol --fforce-addr -fforward-propagate -ffunction-sections @gol --fgcse -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload @gol --fcrossjumping -fif-conversion -fif-conversion2 @gol --finline-functions -finline-functions-called-once @gol --finline-small-functions -finline-limit=@var{n} -fkeep-inline-functions @gol --fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol --fmodulo-sched -fmodulo-sched-allow-regmoves -fno-branch-count-reg @gol --fno-default-inline -fno-defer-pop -fmove-loop-invariants @gol --fno-function-cse -fno-guess-branch-probability @gol --fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol --funsafe-math-optimizations -funsafe-loop-optimizations @gol --ffinite-math-only -fno-signed-zeros @gol --fno-toplevel-reorder -fno-trapping-math -fno-zero-initialized-in-bss @gol --fomit-frame-pointer -foptimize-register-move @gol --foptimize-sibling-calls -fpredictive-commoning -fprefetch-loop-arrays @gol --fprofile-generate -fprofile-use @gol --fregmove -frename-registers @gol --freorder-blocks -freorder-blocks-and-partition -freorder-functions @gol --frerun-cse-after-loop @gol --frounding-math -frtl-abstract-sequences @gol --fschedule-insns -fschedule-insns2 @gol --fno-sched-interblock -fno-sched-spec -fsched-spec-load @gol --fsched-spec-load-dangerous @gol --fsched-stalled-insns[=@var{n}] -fsched-stalled-insns-dep[=@var{n}] @gol --fsched2-use-superblocks @gol --fsched2-use-traces -fsee -freschedule-modulo-scheduled-loops @gol --fsection-anchors -fsignaling-nans -fsingle-precision-constant @gol --fsplit-wide-types -fstack-protector -fstack-protector-all @gol --fstrict-aliasing -fstrict-overflow -ftracer -fthread-jumps @gol --funroll-all-loops -funroll-loops -fpeel-loops @gol --fsplit-ivs-in-unroller -funswitch-loops @gol --fvariable-expansion-in-unroller -ftree-reassoc @gol --ftree-pre -ftree-ccp -ftree-dce -ftree-loop-optimize @gol --ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts @gol --fcheck-data-deps -ftree-parallelize-loops=@var{n} @gol --ftree-dominator-opts -ftree-dse -ftree-copyrename -ftree-sink @gol --ftree-ch -ftree-sra -ftree-ter -ftree-fre -ftree-vectorize @gol --ftree-vect-loop-version -fvect-cost-model -ftree-salias -fipa-pta -fweb @gol --ftree-copy-prop -ftree-store-ccp -ftree-vrp @gol --funit-at-a-time -fwhole-program @gol +@gccoptlist{ +-falign-functions[=@var{n}] -falign-jumps[=@var{n}] @gol +-falign-labels[=@var{n}] -falign-loops[=@var{n}] -fassociative-math @gol +-fauto-inc-dec -fbranch-probabilities -fbranch-target-load-optimize @gol +-fbranch-target-load-optimize2 -fbtr-bb-exclusive -fcaller-saves @gol +-fcheck-data-deps -fcprop-registers -fcrossjumping -fcse-follow-jumps @gol +-fcse-skip-blocks -fcx-limited-range -fdata-sections -fdce -fdce @gol +-fdelayed-branch -fdelete-null-pointer-checks -fdse -fdse @gol +-fearly-inlining -fexpensive-optimizations -ffast-math @gol +-ffinite-math-only -ffloat-store -fforce-addr -fforward-propagate @gol +-ffunction-sections -fgcse -fgcse-after-reload -fgcse-las -fgcse-lm @gol +-fgcse-sm -fif-conversion -fif-conversion2 -finline-functions @gol +-finline-functions-called-once -finline-limit=@var{n} @gol +-finline-small-functions -fipa-pta -fipa-pure-const -fipa-reference @gol +-fipa-type-escape -fivopts -fkeep-inline-functions -fkeep-static-consts @gol +-fmerge-all-constants -fmerge-constants -fmodulo-sched @gol +-fmodulo-sched-allow-regmoves -fmove-loop-invariants -fmudflap @gol +-fmudflapir -fmudflapth -fno-branch-count-reg -fno-default-inline @gol +-fno-defer-pop -fno-function-cse -fno-guess-branch-probability @gol +-fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol +-fno-sched-interblock -fno-sched-spec -fno-signed-zeros @gol +-fno-toplevel-reorder -fno-trapping-math -fno-zero-initialized-in-bss @gol +-fomit-frame-pointer -foptimize-register-move -foptimize-sibling-calls @gol +-fpeel-loops -fpredictive-commoning -fprefetch-loop-arrays @gol +-fprofile-generate -fprofile-use -fprofile-values -freciprocal-math @gol +-fregmove -frename-registers -freorder-blocks @gol +-freorder-blocks-and-partition -freorder-functions @gol +-frerun-cse-after-loop -freschedule-modulo-scheduled-loops @gol +-frounding-math -frtl-abstract-sequences -fsched2-use-superblocks @gol +-fsched2-use-traces -fsched-spec-load -fsched-spec-load-dangerous @gol +-fsched-stalled-insns-dep[=@var{n}] -fsched-stalled-insns[=@var{n}] @gol +-fschedule-insns -fschedule-insns2 -fsection-anchors -fsee @gol +-fsignaling-nans -fsingle-precision-constant -fsplit-ivs-in-unroller @gol +-fsplit-wide-types -fstack-protector -fstack-protector-all @gol +-fstrict-aliasing -fstrict-overflow -fthread-jumps -ftracer -ftree-ccp @gol +-ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-dce @gol +-ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im @gol +-ftree-loop-ivcanon -ftree-loop-linear -ftree-loop-optimize @gol +-ftree-parallelize-loops=@var{n} -ftree-pre -ftree-reassoc -ftree-salias @gol +-ftree-sink -ftree-sra -ftree-store-ccp -ftree-ter @gol +-ftree-vect-loop-version -ftree-vectorize -ftree-vrp -funit-at-a-time @gol +-funroll-all-loops -funroll-loops -funsafe-loop-optimizations @gol +-funsafe-math-optimizations -funswitch-loops @gol +-fvariable-expansion-in-unroller -fvect-cost-model -fvpt -fweb @gol +-fwhole-program @gol --param @var{name}=@var{value} -O -O0 -O1 -O2 -O3 -Os} @@ -5027,27 +5021,31 @@ time, without performing any optimizations that take a great deal of compilation time. @option{-O} turns on the following optimization flags: -@gccoptlist{-fdefer-pop @gol --fdelayed-branch @gol --fguess-branch-probability @gol +@gccoptlist{ +-fauto-inc-dec @gol -fcprop-registers @gol -fdce @gol +-fdefer-pop @gol +-fdelayed-branch @gol -fdse @gol --fif-conversion @gol +-fguess-branch-probability @gol -fif-conversion2 @gol +-fif-conversion @gol +-finline-small-functions @gol +-fipa-pure-const @gol +-fipa-reference @gol +-fmerge-constants -fsplit-wide-types @gol -ftree-ccp @gol +-ftree-ch @gol +-ftree-copyrename @gol -ftree-dce @gol -ftree-dominator-opts @gol -ftree-dse @gol --ftree-ter @gol --ftree-sra @gol --ftree-copyrename @gol -ftree-fre @gol --ftree-ch @gol --funit-at-a-time @gol --finline-small-functions @gol --fmerge-constants} +-ftree-sra @gol +-ftree-ter @gol +-funit-at-a-time} @option{-O} also turns on @option{-fomit-frame-pointer} on machines where doing so does not interfere with debugging. @@ -5063,24 +5061,24 @@ and the performance of the generated code. @option{-O2} turns on all optimization flags specified by @option{-O}. It also turns on the following optimization flags: @gccoptlist{-fthread-jumps @gol +-falign-functions -falign-jumps @gol +-falign-loops -falign-labels @gol +-fcaller-saves @gol -fcrossjumping @gol --foptimize-sibling-calls @gol -fcse-follow-jumps -fcse-skip-blocks @gol --fgcse -fgcse-lm @gol +-fdelete-null-pointer-checks @gol -fexpensive-optimizations @gol --frerun-cse-after-loop @gol --fcaller-saves @gol +-fgcse -fgcse-lm @gol +-foptimize-sibling-calls @gol -fpeephole2 @gol --fschedule-insns -fschedule-insns2 @gol --fsched-interblock -fsched-spec @gol -fregmove @gol --fstrict-aliasing -fstrict-overflow @gol --fdelete-null-pointer-checks @gol -freorder-blocks -freorder-functions @gol --falign-functions -falign-jumps @gol --falign-loops -falign-labels @gol --ftree-vrp @gol --ftree-pre} +-frerun-cse-after-loop @gol +-fsched-interblock -fsched-spec @gol +-fschedule-insns -fschedule-insns2 @gol +-fstrict-aliasing -fstrict-overflow @gol +-ftree-pre @gol +-ftree-vrp} Please note the warning under @option{-fgcse} about invoking @option{-O2} on programs that use computed gotos. @@ -5485,6 +5483,13 @@ resulting code may or may not perform better than without cross-jumping. Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. +@item -fauto-inc-dec +@opindex fauto-inc-dec +Combine increments or decrements of addresses with memory accesses. +This pass is always skipped on architectures that do not have +instructions to support this. Enabled by default at @option{-O} and +higher on architectures that support this. + @item -fdce @opindex fdce Perform dead code elimination (DCE) on RTL. @@ -5694,6 +5699,17 @@ higher. Perform structural alias analysis on trees. This flag is enabled by default at @option{-O} and higher. +@item -fipa-pure-const +@opindex fipa-pure-const +Discover which functions are pure or constant. +Enabled by default at @option{-O} and higher. + +@item -fipa-reference +@opindex fipa-reference +Discover which static variables do not escape cannot escape the +compilation unit. +Enabled by default at @option{-O} and higher. + @item -fipa-pta @opindex fipa-pta Perform interprocedural pointer analysis. |