X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcommon.opt;h=e9a0695f20b59eef79ddcf0964c860e0dcac4d24;hb=73bb17ceddeaafacaf347e7570eb24dfaeed452c;hp=74b3255afc78eaa9dea770b0ca4e95d445e277c1;hpb=801c5610886591ce60ea92d2073a0f8cf2caea31;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/common.opt b/gcc/common.opt index 74b3255afc7..e9a0695f20b 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1,6 +1,6 @@ ; Options for the language- and target-independent parts of the compiler. -; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 +; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ; Free Software Foundation, Inc. ; ; This file is part of GCC. @@ -35,11 +35,11 @@ Common Report Joined Common Alias for --help=target -;; The following three entries are to work around the gcc driver +;; The following four entries are to work around the gcc driver ;; program's insatiable desire to turn options starting with a ;; double dash (--) into options starting with a dash f (-f). fhelp -Common +Common Var(help_flag) fhelp= Common Joined @@ -47,6 +47,9 @@ Common Joined ftarget-help Common +fversion +Common + -param Common Separate --param = Set parameter to value. See below for a complete list of parameters @@ -59,15 +62,15 @@ Common Joined Separate UInteger -G Put global and static data smaller than bytes into a special section (on some targets) O -Common JoinedOrMissing +Common JoinedOrMissing Optimization -O Set optimization level to Os -Common +Common Optimization Optimize for space rather than speed W -Common RejectNegative +Common RejectNegative Var(extra_warnings) Warning This switch is deprecated; use -Wextra instead Waggregate-return @@ -86,6 +89,10 @@ Wcast-align Common Var(warn_cast_align) Warning Warn about pointer casts which increase alignment +Wcpp +Common Var(warn_cpp) Init(1) Warning +Warn when a #warning directive is encountered + Wdeprecated-declarations Common Var(warn_deprecated_decl) Init(1) Warning Warn about uses of __attribute__((deprecated)) declarations @@ -103,7 +110,7 @@ Common Joined Treat specified warning as error Wextra -Common Warning +Common Var(extra_warnings) Warning Print extra (possibly unwanted) warnings Wfatal-errors @@ -112,30 +119,19 @@ Exit on the first error occurred Wframe-larger-than= Common RejectNegative Joined UInteger --Wframe-larger-than=@var{len} Warn whenever a function's stack frame requires -more than @var{len} bytes. The computation done to determine -the stack frame size is approximate and not conservative. -The actual requirements may be somewhat greater than @var{len} -even if you do not get a warning. In addition, any space allocated -via @code{alloca}, variable-length arrays, or related constructs -is not included by the compiler when determining -whether or not to issue a warning. +-Wframe-larger-than= Warn if a function's stack frame requires more than bytes Winline Common Var(warn_inline) Warning Warn when an inlined function cannot be inlined Wlarger-than- -Common RejectNegative Joined UInteger Warning +Common RejectNegative Joined UInteger Warning Undocumented Wlarger-than= Common RejectNegative Joined UInteger Warning -Wlarger-than= Warn if an object is larger than bytes -Wlogical-op -Common Warning Var(warn_logical_op) -Warn when a logical operator is suspicously always evaluating to true or false - Wunsafe-loop-optimizations Common Var(warn_unsafe_loop_optimizations) Warning Warn if the loop cannot be optimized due to nontrivial assumptions. @@ -144,6 +140,10 @@ Wmissing-noreturn Common Var(warn_missing_noreturn) Warning Warn about functions which might be candidates for __attribute__((noreturn)) +Wmudflap +Common Var(warn_mudflap) Init(1) Warning +Warn about constructs not instrumented by -fmudflap + Woverflow Common Var(warn_overflow) Init(1) Warning Warn about overflow in arithmetic expressions @@ -180,6 +180,14 @@ Wstrict-overflow= Common Joined UInteger Var(warn_strict_overflow) Init(-1) Warning Warn about optimizations that assume that signed overflow is undefined +Wsuggest-attribute=const +Common Var(warn_suggest_attribute_const) Warning +Warn about functions which might be candidates for __attribute__((const)) + +Wsuggest-attribute=pure +Common Var(warn_suggest_attribute_pure) Warning +Warn about functions which might be candidates for __attribute__((pure)) + Wswitch Common Var(warn_switch) Warning Warn about enumerated switches, with no default, missing a case @@ -201,40 +209,48 @@ Common Var(warn_type_limits) Init(-1) Warning Warn if a comparison is always true or always false due to the limited range of the data type Wuninitialized -Common Var(warn_uninitialized) Warning +Common Var(warn_uninitialized) Init(-1) Warning Warn about uninitialized automatic variables Wunreachable-code -Common Var(warn_notreached) Warning -Warn about code that will never be executed +Common +Does nothing. Preserved for backward compatibility. Wunused -Common Warning +Common Var(warn_unused) Init(0) Warning Enable all -Wunused- warnings +Wunused-but-set-parameter +Common Var(warn_unused_but_set_parameter) Init(-1) Warning +Warn when a function parameter is only set, otherwise unused + +Wunused-but-set-variable +Common Var(warn_unused_but_set_variable) Init(-1) Warning +Warn when a variable is only set, otherwise unused + Wunused-function -Common Var(warn_unused_function) Warning +Common Var(warn_unused_function) Init(-1) Warning Warn when a function is unused Wunused-label -Common Var(warn_unused_label) Warning +Common Var(warn_unused_label) Init(-1) Warning Warn when a label is unused Wunused-parameter -Common Var(warn_unused_parameter) Warning +Common Var(warn_unused_parameter) Init(-1) Warning Warn when a function parameter is unused Wunused-value -Common Var(warn_unused_value) Warning +Common Var(warn_unused_value) Init(-1) Warning Warn when an expression value is unused Wunused-variable -Common Var(warn_unused_variable) Warning +Common Var(warn_unused_variable) Init(-1) Warning Warn when a variable is unused Wcoverage-mismatch -Common RejectNegative Var(warn_coverage_mismatch) Warning -Warn instead of error in case profiles in -fprofile-use do not match +Common Var(warn_coverage_mismatch) Init(1) Warning +Warn in case profiles in -fprofile-use do not match aux-info Common Separate @@ -257,6 +273,10 @@ dumpbase Common Separate -dumpbase Set the file basename to be used for dumps +dumpdir +Common Separate +-dumpdir Set the directory name to be used for dumps + ; The version of the C++ ABI in use. The following values are allowed: ; ; 0: The version of the ABI believed most conformant with the C++ ABI @@ -266,7 +286,13 @@ Common Separate ; ; 1: The version of the ABI first used in G++ 3.2. ; -; 2: The version of the ABI first used in G++ 3.4. +; 2: The version of the ABI first used in G++ 3.4 (and current default). +; +; 3: The version of the ABI that fixes the missing underscore +; in template non-type arguments of pointer type. +; +; 4: The version of the ABI that introduces unambiguous mangling of +; vector types. ; ; Additional positive integers will be assigned as new versions of ; the ABI become the default version of the ABI. @@ -274,56 +300,48 @@ fabi-version= Common Joined UInteger Var(flag_abi_version) Init(2) falign-functions -Common Report Var(align_functions,0) +Common Report Var(align_functions,0) Optimization UInteger Align the start of functions falign-functions= Common RejectNegative Joined UInteger falign-jumps -Common Report Var(align_jumps,0) Optimization +Common Report Var(align_jumps,0) Optimization UInteger Align labels which are only reached by jumping falign-jumps= Common RejectNegative Joined UInteger falign-labels -Common Report Var(align_labels,0) Optimization +Common Report Var(align_labels,0) Optimization UInteger Align all labels falign-labels= Common RejectNegative Joined UInteger falign-loops -Common Report Var(align_loops) Optimization +Common Report Var(align_loops) Optimization UInteger Align the start of loops falign-loops= Common RejectNegative Joined UInteger -; This flag is only tested if alias checking is enabled. -; 0 if pointer arguments may alias each other. True in C. -; 1 if pointer arguments may not alias each other but may alias -; global variables. -; 2 if pointer arguments may not alias each other and may not -; alias global variables. -; 3 if pointer arguments may not alias anything. True in Fortran. -; Set by the front end. fargument-alias -Common Report Var(flag_argument_noalias,0) Optimization -Specify that arguments may alias each other and globals +Common +Does nothing. Preserved for backward compatibility. fargument-noalias -Common Report Var(flag_argument_noalias,1) VarExists Optimization -Assume arguments may alias globals but not each other +Common +Does nothing. Preserved for backward compatibility. fargument-noalias-global -Common Report Var(flag_argument_noalias,2) VarExists Optimization -Assume arguments alias neither each other nor globals +Common +Does nothing. Preserved for backward compatibility. fargument-noalias-anything -Common Report Var(flag_argument_noalias,3) VarExists Optimization -Assume arguments alias no other storage +Common +Does nothing. Preserved for backward compatibility. fasynchronous-unwind-tables Common Report Var(flag_asynchronous_unwind_tables) Optimization @@ -384,6 +402,18 @@ fcommon Common Report Var(flag_no_common,0) Optimization Do not put uninitialized globals in the common section +fcompare-debug= +Common JoinedOrMissing RejectNegative Var(flag_compare_debug_opt) +-fcompare-debug[=] Compile with and without e.g. -gtoggle, and compare the final-insns dump + +fcompare-debug-second +Common RejectNegative Var(flag_compare_debug) +Run only the second compilation of -fcompare-debug + +fconserve-stack +Common Var(flag_conserve_stack) Optimization +Do not perform optimizations increasing noticeably stack usage + fcprop-registers Common Report Var(flag_cprop_registers) Optimization Perform a register copy-propagation optimization pass @@ -397,8 +427,8 @@ Common Report Var(flag_cse_follow_jumps) Optimization When running CSE, follow jumps to their targets fcse-skip-blocks -Common Report Var(flag_cse_skip_blocks) Optimization -When running CSE, follow conditional jumps +Common +Does nothing. Preserved for backward compatibility. fcx-limited-range Common Report Var(flag_cx_limited_range) Optimization @@ -418,7 +448,7 @@ List all available debugging counters with their limits and counts. fdbg-cnt= Common RejectNegative Joined --fdbg-cnt=:[,:,...] Set the debug counter limit. +-fdbg-cnt=:[,:,...] Set the debug counter limit. fdebug-prefix-map= Common Joined RejectNegative @@ -435,7 +465,7 @@ Common Report Var(flag_delayed_branch) Optimization Attempt to fill delay slots of branch instructions fdelete-null-pointer-checks -Common Report Var(flag_delete_null_pointer_checks) Optimization +Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization Delete useless null pointer checks fdiagnostics-show-location= @@ -443,13 +473,17 @@ Common Joined RejectNegative -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics fdiagnostics-show-option -Common +Common Var(flag_diagnostics_show_option) Init(1) Amend appropriate diagnostic messages with the command line option that controls them fdump- Common Joined RejectNegative -fdump- Dump various compiler internals to a file +fdump-final-insns= +Common RejectNegative Joined Var(flag_dump_final_insns) +-fdump-final-insns=filename Dump to filename the insns at the end of translation + fdump-noaddr Common Report Var(flag_dump_noaddr) Suppress output of addresses in debugging dumps @@ -458,6 +492,14 @@ fdump-unnumbered Common Report Var(flag_dump_unnumbered) VarExists Suppress output of instruction numbers, line number notes and addresses in debugging dumps +fdump-unnumbered-links +Common Report Var(flag_dump_unnumbered_links) VarExists +Suppress output of previous and next insn numbers in debugging dumps + +fdwarf2-cfi-asm +Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE) +Enable CFI tables via GAS assembler directives. + fearly-inlining Common Report Var(flag_early_inlining) Init(1) Optimization Perform early inlining @@ -466,6 +508,10 @@ feliminate-dwarf2-dups Common Report Var(flag_eliminate_dwarf2_dups) Perform DWARF2 duplicate elimination +fipa-sra +Common Report Var(flag_ipa_sra) Init(0) Optimization +Perform interprocedural reduction of aggregates + feliminate-unused-debug-symbols Common Report Var(flag_debug_only_used_symbols) Perform unused type elimination in debug info @@ -478,6 +524,10 @@ femit-class-debug-always Common Report Var(flag_emit_class_debug_always) Init(0) Do not suppress C++ class debug information. +fenable-icf-debug +Common Report Var(flag_enable_icf_debug) +Generate debug information to support Identical Code Folding (ICF) + fexceptions Common Report Var(flag_exceptions) Optimization Enable exception handling @@ -486,6 +536,10 @@ fexpensive-optimizations Common Report Var(flag_expensive_optimizations) Optimization Perform a number of minor, expensive optimizations +fexcess-precision= +Common Joined RejectNegative +-fexcess-precision=[fast|standard] Specify handling of excess floating-point precision + ffast-math Common @@ -542,6 +596,31 @@ Common Report Var(flag_gcse_after_reload) Optimization Perform global common subexpression elimination after register allocation has finished +; This option is not documented yet as its semantics will change. +fgraphite +Common Report Var(flag_graphite) +Enable in and out of Graphite representation + +fgraphite-identity +Common Report Var(flag_graphite_identity) Optimization +Enable Graphite Identity transformation + +floop-parallelize-all +Common Report Var(flag_loop_parallelize_all) Optimization +Mark all loops as parallel + +floop-strip-mine +Common Report Var(flag_loop_strip_mine) Optimization +Enable Loop Strip Mining transformation + +floop-interchange +Common Report Var(flag_loop_interchange) Optimization +Enable Loop Interchange transformation + +floop-block +Common Report Var(flag_loop_block) Optimization +Enable Loop Blocking transformation + fguess-branch-probability Common Report Var(flag_guess_branch_prob) Optimization Enable guessing of branch probabilities @@ -570,13 +649,17 @@ finhibit-size-directive Common Report Var(flag_inhibit_size_directive) Do not generate .size directives +findirect-inlining +Common Report Var(flag_indirect_inlining) +Perform indirect inlining + ; Nonzero means that functions declared `inline' will be treated ; as `static'. Prevents generation of zillions of copies of unused ; static inline functions; instead, `inlines' are written out ; only when actually used. Used in conjunction with -g. Also ; does the right thing with #pragma interface. finline -Common Report Var(flag_no_inline,0) Init(2) +Common Report Var(flag_no_inline,0) Init(0) Pay attention to the \"inline\" keyword finline-small-functions @@ -614,14 +697,22 @@ fipa-cp Common Report Var(flag_ipa_cp) Optimization Perform Interprocedural constant propagation -fipa-pure-const -Common Report Var(flag_ipa_pure_const) Init(0) Optimization -Discover pure and const functions +fipa-cp-clone +Common Report Var(flag_ipa_cp_clone) Optimization +Perform cloning to make Interprocedural constant propagation stronger + +fipa-profile +Common Report Var(flag_ipa_profile) Init(0) Optimization +Perform interprocedural profile propagation fipa-pta Common Report Var(flag_ipa_pta) Init(0) Optimization Perform interprocedural points-to analysis +fipa-pure-const +Common Report Var(flag_ipa_pure_const) Init(0) Optimization +Discover pure and const functions + fipa-reference Common Report Var(flag_ipa_reference) Init(0) Optimization Discover readonly and non addressable static variables @@ -640,6 +731,35 @@ Common Report Var(flag_ipa_struct_reorg) Perform structure layout optimizations based on profiling information. +fira-algorithm= +Common Joined RejectNegative +-fira-algorithm=[CB|priority] Set the used IRA algorithm + +fira-region= +Common Joined RejectNegative +-fira-region=[one|all|mixed] Set regions for IRA + +fira-coalesce +Common Report Var(flag_ira_coalesce) Init(0) +Do optimistic coalescing. + +fira-loop-pressure +Common Report Var(flag_ira_loop_pressure) +Use IRA based register pressure calculation +in RTL loop optimizations. + +fira-share-save-slots +Common Report Var(flag_ira_share_save_slots) Init(1) +Share slots for saving different hard registers. + +fira-share-spill-slots +Common Report Var(flag_ira_share_spill_slots) Init(1) +Share stack slots for spilled pseudo-registers. + +fira-verbose= +Common RejectNegative Joined UInteger +-fira-verbose= Control IRA's level of diagnostic messages. + fivopts Common Report Var(flag_ivopts) Init(1) Optimization Optimize induction variables on trees @@ -664,8 +784,21 @@ floop-optimize Common Does nothing. Preserved for backward compatibility. +flto +Common Var(flag_lto) +Enable link-time optimization. + +; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h. +flto-compression-level= +Common Joined UInteger Var(flag_lto_compression_level) Init(-1) +-flto-compression-level= Use zlib compression level for IL + +flto-report +Common Report Var(flag_lto_report) Init(0) Optimization +Report various link-time optimization statistics + fmath-errno -Common Report Var(flag_errno_math) Init(1) +Common Report Var(flag_errno_math) Init(1) Optimization Set errno after built-in math functions fmem-report @@ -735,10 +868,6 @@ fomit-frame-pointer Common Report Var(flag_omit_frame_pointer) Optimization When possible do not generate stack frames -fopenmp-ssa -Common Report Var(flag_openmp_ssa) -Expand OpenMP operations on SSA form - foptimize-register-move Common Report Var(flag_regmove) Optimization Do the full register move optimization pass @@ -795,6 +924,14 @@ fpie Common Report Var(flag_pie,1) VarExists Generate position-independent code for executables if possible (small mode) +fplugin= +Common Joined RejectNegative +Specify a plugin to load + +fplugin-arg- +Common Joined RejectNegative +-fplugin-arg--[=] Specify argument = for plugin + fpredictive-commoning Common Report Var(flag_predictive_commoning) Optimization Run predictive commoning optimization. @@ -811,14 +948,31 @@ fprofile-arcs Common Report Var(profile_arc_flag) Insert arc-based program profiling code +fprofile-dir= +Common Joined RejectNegative +Set the top-level directory for storing the profile data. +The default is 'pwd'. + +fprofile-correction +Common Report Var(flag_profile_correction) +Enable correction of flow inconsistent profile data input + fprofile-generate Common Enable common options for generating profile info for profile feedback directed optimizations +fprofile-generate= +Common Joined RejectNegative +Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir= + fprofile-use -Common +Common Var(flag_profile_use) Enable common options for performing profile feedback directed optimizations +fprofile-use= +Common Joined RejectNegative +Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir= + fprofile-values Common Report Var(flag_profile_values) Insert code to profile values of expressions @@ -880,6 +1034,10 @@ fsched-interblock Common Report Var(flag_schedule_interblock) Init(1) Optimization Enable scheduling across basic blocks +fsched-pressure +Common Report Var(flag_sched_pressure) Init(0) Optimization +Enable register pressure sensitive insn scheduling + fsched-spec Common Report Var(flag_schedule_speculative) Init(1) Optimization Allow speculative motion of non-loads @@ -901,8 +1059,8 @@ Common Report Var(flag_sched2_use_superblocks) Optimization If scheduling post reload, do superblock scheduling fsched2-use-traces -Common Report Var(flag_sched2_use_traces) Optimization -If scheduling post reload, do trace scheduling +Common +Does nothing. Preserved for backward compatibility. fschedule-insns Common Report Var(flag_schedule_insns) Optimization @@ -912,10 +1070,33 @@ fschedule-insns2 Common Report Var(flag_schedule_insns_after_reload) Optimization Reschedule instructions after register allocation +; This flag should be on when a target implements non-trivial +; scheduling hooks, maybe saving some information for its own sake. +; On IA64, for example, this is used for correct bundling. +fselective-scheduling +Common Report Var(flag_selective_scheduling) Optimization +Schedule instructions using selective scheduling algorithm + +fselective-scheduling2 +Common Report Var(flag_selective_scheduling2) Optimization +Run selective scheduling after reload + +fsel-sched-pipelining +Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization +Perform software pipelining of inner loops during selective scheduling + +fsel-sched-pipelining-outer-loops +Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization +Perform software pipelining of outer loops during selective scheduling + +fsel-sched-reschedule-pipelined +Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization +Reschedule pipelined regions without pipelining + ; sched_stalled_insns means that insns can be moved prematurely from the queue ; of stalled insns into the ready list. fsched-stalled-insns -Common Report Var(flag_sched_stalled_insns) Optimization +Common Report Var(flag_sched_stalled_insns) Optimization UInteger Allow premature scheduling of queued insns fsched-stalled-insns= @@ -927,28 +1108,52 @@ Common RejectNegative Joined UInteger ; premature removal from the queue of stalled insns into the ready list (has ; an effect only if the flag 'sched_stalled_insns' is set). fsched-stalled-insns-dep -Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization +Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger Set dependence distance checking in premature scheduling of queued insns fsched-stalled-insns-dep= Common RejectNegative Joined UInteger -fsched-stalled-insns-dep= Set dependence distance checking in premature scheduling of queued insns +fsched-group-heuristic +Common Report Var(flag_sched_group_heuristic) Init(1) Optimization +Enable the group heuristic in the scheduler + +fsched-critical-path-heuristic +Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization +Enable the critical path heuristic in the scheduler + +fsched-spec-insn-heuristic +Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization +Enable the speculative instruction heuristic in the scheduler + +fsched-rank-heuristic +Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization +Enable the rank heuristic in the scheduler + +fsched-last-insn-heuristic +Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization +Enable the last instruction heuristic in the scheduler + +fsched-dep-count-heuristic +Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization +Enable the dependent count heuristic in the scheduler + fsection-anchors Common Report Var(flag_section_anchors) Optimization Access data in the same section from shared anchor points -frtl-abstract-sequences -Common Report Var(flag_rtl_seqabstr) Optimization -Perform sequence abstraction optimization on RTL - fsee -Common Report Var(flag_see) Init(0) -Eliminate redundant sign extensions using LCM. +Common +Does nothing. Preserved for backward compatibility. + +fzee +Common Report Var(flag_zee) Init(0) +Eliminate redundant zero extensions on targets that support implicit extensions. fshow-column -Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(0) -Show column numbers in diagnostics, when available. Default off +Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1) +Show column numbers in diagnostics, when available. Default on fsignaling-nans Common Report Var(flag_signaling_nans) Optimization @@ -974,11 +1179,13 @@ fvariable-expansion-in-unroller Common Report Var(flag_variable_expansion_in_unroller) Optimization Apply variable expansion when loops are unrolled -; Emit code to probe the stack, to help detect stack overflow; also -; may cause large objects to be allocated dynamically. +fstack-check= +Common Report RejectNegative Joined +-fstack-check=[no|generic|specific] Insert stack checking code into the program + fstack-check -Common Report Var(flag_stack_check) -Insert stack checking code into the program +Common Report +Insert stack checking code into the program. Same as -fstack-check=specific fstack-limit Common @@ -1036,7 +1243,7 @@ Common Joined RejectNegative -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model ftoplevel-reorder -Common Report Var(flag_toplevel_reorder) Init(1) Optimization +Common Report Var(flag_toplevel_reorder) Init(2) Optimization Reorder top level functions, variables, and asms ftracer @@ -1059,8 +1266,8 @@ Common Report Var(flag_tree_ccp) Optimization Enable SSA-CCP optimization on trees ftree-store-ccp -Common Report Var(flag_tree_store_ccp) Optimization -Enable SSA-CCP optimization for stores and loads +Common +Does nothing. Preserved for backward compatibility. ftree-ch Common Report Var(flag_tree_ch) Optimization @@ -1082,6 +1289,10 @@ ftree-cselim Common Report Var(flag_tree_cselim) Init(2) Optimization Transform condition stores into unconditional ones +ftree-switch-conversion +Common Report Var(flag_tree_switch_conversion) Optimization +Perform conversions of switch initializations. + ftree-dce Common Report Var(flag_tree_dce) Optimization Enable SSA dead code elimination optimization on trees @@ -1094,12 +1305,16 @@ ftree-dse Common Report Var(flag_tree_dse) Optimization Enable dead store elimination +ftree-forwprop +Common Report Var(flag_tree_forwprop) Init(1) Optimization +Enable forward propagation on trees + ftree-fre Common Report Var(flag_tree_fre) Optimization Enable Full Redundancy Elimination (FRE) on trees ftree-loop-distribution -Common Report Var(flag_tree_loop_distribution) +Common Report Var(flag_tree_loop_distribution) Optimization Enable loop distribution on trees ftree-loop-im @@ -1122,17 +1337,25 @@ ftree-parallelize-loops= Common Report Joined UInteger Var(flag_tree_parallelize_loops) Init(1) Enable automatic parallelization of loops +ftree-phiprop +Common Report Var(flag_tree_phiprop) Init(1) Optimization +Enable hoisting loads from conditional pointers. + ftree-pre Common Report Var(flag_tree_pre) Optimization Enable SSA-PRE optimization on trees +ftree-pta +Common Report Var(flag_tree_pta) Init(1) Optimization +Perform function-local points-to analysis on trees. + ftree-reassoc Common Report Var(flag_tree_reassoc) Init(1) Optimization Enable reassociation on tree level ftree-salias -Common Report Var(flag_tree_salias) Optimization -Perform structural alias analysis +Common +Does nothing. Preserved for backward compatibility. ftree-sink Common Report Var(flag_tree_sink) Optimization @@ -1143,7 +1366,7 @@ Common Report Var(flag_tree_sra) Optimization Perform scalar replacement of aggregates ftree-ter -Common Report Var(flag_tree_ter) Optimization +Common Report Var(flag_tree_ter) Init(1) Optimization Replace temporary expressions in the SSA->normal pass ftree-lrs @@ -1155,7 +1378,7 @@ Common Report Var(flag_tree_vrp) Init(0) Optimization Perform Value Range Propagation on trees funit-at-a-time -Common Report Var(flag_unit_at_a_time) Optimization +Common Report Var(flag_unit_at_a_time) Init(1) Optimization Compile whole compilation unit at a time funroll-loops @@ -1198,10 +1421,21 @@ funwind-tables Common Report Var(flag_unwind_tables) Optimization Just generate unwind tables for exception handling +fuse-linker-plugin +Common Undocumented + fvar-tracking Common Report Var(flag_var_tracking) VarExists Optimization Perform variable tracking +fvar-tracking-assignments +Common Report Var(flag_var_tracking_assignments) VarExists Optimization +Perform variable tracking by annotating assignments + +fvar-tracking-assignments-toggle +Common Report Var(flag_var_tracking_assignments_toggle) VarExists Optimization +Toggle -fvar-tracking-assignments + fvar-tracking-uninit Common Report Var(flag_var_tracking_uninit) Optimization Perform variable tracking and also tag variables that are uninitialized @@ -1210,6 +1444,10 @@ ftree-vectorize Common Report Var(flag_tree_vectorize) Optimization Enable loop vectorization on trees +ftree-slp-vectorize +Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization +Enable basic block vectorization (SLP) on trees + fvect-cost-model Common Report Var(flag_vect_cost_model) Optimization Enable use of cost model in vectorization @@ -1249,6 +1487,14 @@ fweb Common Report Var(flag_web) Init(2) Optimization Construct webs and split unrelated uses of single variable +fwhopr +Common Var(flag_whopr) +Enable partitioned link-time optimization. + +ftree-builtin-call-dce +Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization +Enable conditional dead code elimination for builtin calls + fwhole-program Common Report Var(flag_whole_program) Init(0) Optimization Perform whole program optimizations @@ -1266,12 +1512,12 @@ Common JoinedOrMissing Generate debug information in default format gcoff -Common JoinedOrMissing Negative(gdwarf-2) +Common JoinedOrMissing Negative(gdwarf-) Generate debug information in COFF format -gdwarf-2 -Common JoinedOrMissing Negative(gstabs) -Generate debug information in DWARF v2 format +gdwarf- +Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs) +Generate debug information in DWARF v2 (or later) format ggdb Common JoinedOrMissing @@ -1285,6 +1531,18 @@ gstabs+ Common JoinedOrMissing Negative(gvms) Generate debug information in extended STABS format +gno-strict-dwarf +Common RejectNegative Var(dwarf_strict,0) Init(-1) +Emit DWARF additions beyond selected version + +gstrict-dwarf +Common Report RejectNegative Var(dwarf_strict,1) VarExists +Don't emit DWARF additions beyond selected version + +gtoggle +Common Report Var(flag_gtoggle) +Toggle debug information generation + gvms Common JoinedOrMissing Negative(gxcoff) Generate debug information in VMS format @@ -1297,6 +1555,10 @@ gxcoff+ Common JoinedOrMissing Negative(gcoff) Generate debug information in extended XCOFF format +iplugindir= +Common Joined Var(plugindir_string) Init(0) +-iplugindir= Set to be the default plugin directory + o Common Joined Separate -o Place output into