$ arm-eabi-gcc -c -Q -O3 --help=optimizers
以上面這個例子來說,當我們下-O3的時候實際上做了:
The following options control optimizations: -O-Os -falign-functions [enabled] -falign-jumps [enabled] -falign-labels [enabled] -falign-loops [disabled] -fargument-alias [enabled] -fargument-noalias [disabled] -fargument-noalias-anything [disabled] -fargument-noalias-global [disabled] -fasynchronous-unwind-tables [disabled] -fbranch-count-reg [enabled] -fbranch-probabilities [disabled] -fbranch-target-load-optimize [disabled] -fbranch-target-load-optimize2 [disabled] -fbtr-bb-exclusive [disabled] -fcaller-saves [enabled] -fcommon [enabled] -fconserve-stack [disabled] -fcprop-registers [enabled] -fcrossjumping [enabled] -fcse-follow-jumps [enabled] -fcse-skip-blocks [disabled] -fcx-fortran-rules [disabled] -fcx-limited-range [disabled] -fdata-sections [disabled] -fdce [enabled] -fdefer-pop [enabled] -fdelayed-branch [disabled] -fdelete-null-pointer-checks [enabled] -fdominance-check [disabled] -fdse [enabled] -fearly-inlining [enabled] -fexceptions [disabled] -fexpensive-optimizations [enabled] -ffinite-math-only [disabled] -ffloat-store [disabled] -fforward-propagate [enabled] -fgcse [enabled] -fgcse-after-reload [enabled] -fgcse-las [disabled] -fgcse-lm [enabled] -fgcse-sm [disabled] -fgraphite-identity [disabled] -fguess-branch-probability [enabled] -fhandle-exceptions -fif-conversion [enabled] -fif-conversion2 [enabled] -finline-functions [enabled] -finline-functions-called-once [enabled] -finline-small-functions [enabled] -fipa-cp [enabled] -fipa-cp-clone [enabled] -fipa-matrix-reorg [disabled] -fipa-pta [disabled] -fipa-pure-const [enabled] -fipa-reference [enabled] -fipa-type-escape [disabled] -fivopts [enabled] -fjump-tables [enabled] -flimit-hot-components [disabled] -floop-block [disabled] -floop-interchange [disabled] -floop-strip-mine [disabled] -fmath-errno [enabled] -fmerge-all-constants [disabled] -fmerge-constants [enabled] -fmodulo-sched [disabled] -fmove-loop-invariants [enabled] -fnon-call-exceptions [disabled] -fomit-frame-pointer [enabled] -foptimize-register-move [enabled] -foptimize-sibling-calls [enabled] -fpack-struct [disabled] -fpack-struct= -fpeel-loops [disabled] -fpeephole [enabled] -fpeephole2 [enabled] -fpessimistic-inline-stack-limit [enabled] -fpredictive-commoning [enabled] -fprefetch-loop-arrays [disabled] -fprofile-dump [disabled] -frecord-options-in-elf [disabled] -freg-struct-return [enabled] -fregmove [enabled] -frename-registers [enabled] -freorder-blocks [enabled] -freorder-blocks-and-partition [disabled] -freorder-functions [enabled] -frerun-cse-after-loop [enabled] -freschedule-modulo-scheduled-loops [disabled] -frounding-math [disabled] -frtti -fsample-profile [disabled] -fsample-profile-use-entry [disabled] -fsched-interblock [enabled] -fsched-spec [enabled] -fsched-spec-load [disabled] -fsched-spec-load-dangerous [disabled] -fsched-stalled-insns [disabled] -fsched-stalled-insns-dep [enabled] -fsched2-use-superblocks [disabled] -fsched2-use-traces [disabled] -fschedule-insns [enabled] -fschedule-insns2 [enabled] -fsection-anchors [enabled] -fsel-sched-pipelining [disabled] -fsel-sched-pipelining-outer-loops [disabled] -fsel-sched-reschedule-pipelined [disabled] -fselective-scheduling [disabled] -fselective-scheduling2 [disabled] -fshort-double -fshort-enums -fshort-wchar -fsignaling-nans [disabled] -fsigned-zeros [enabled] -fsingle-precision-constant [disabled] -fsplit-ivs-in-unroller [enabled] -fsplit-wide-types [enabled] -fstrict-aliasing [enabled] -fstrict-enum-precision [enabled] -fthread-jumps [enabled] -fno-threadsafe-statics -ftoplevel-reorder [enabled] -ftrapping-math [enabled] -ftrapv [disabled] -ftree-builtin-call-dce [enabled] -ftree-ccp [enabled] -ftree-ch [enabled] -ftree-copy-prop [enabled] -ftree-copyrename [enabled] -ftree-cselim [enabled] -ftree-dce [enabled] -ftree-dominator-opts [enabled] -ftree-dse [enabled] -ftree-fre [enabled] -ftree-loop-distribution [disabled] -ftree-loop-im [enabled] -ftree-loop-ivcanon [enabled] -ftree-loop-linear [disabled] -ftree-loop-optimize [enabled] -ftree-lr-shrinking [enabled] -ftree-lrs [disabled] -ftree-pre [enabled] -ftree-reassoc [enabled] -ftree-scev-cprop [enabled] -ftree-sink [enabled] -ftree-sra [enabled] -ftree-switch-conversion [enabled] -ftree-ter [enabled] -ftree-vect-loop-version [enabled] -ftree-vectorize [enabled] -ftree-vrp [enabled] -funit-at-a-time [enabled] -funroll-all-loops [disabled] -funroll-loops [disabled] -funsafe-loop-optimizations [disabled] -funsafe-math-optimizations [disabled] -funswitch-loops [enabled] -funwind-tables [disabled] -fvar-tracking [enabled] -fvar-tracking-uninit [disabled] -fvariable-expansion-in-unroller [disabled] -fvect-cost-model [disabled] -fvpt [disabled] -fweb [enabled] -fwhole-program [disabled] -fwrapv [disabled]
沒有留言:
張貼留言