| ; Options for the language- and target-independent parts of the compiler. |
| |
| ; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
| ; Free Software Foundation, Inc. |
| ; |
| ; This file is part of GCC. |
| ; |
| ; GCC is free software; you can redistribute it and/or modify it under |
| ; the terms of the GNU General Public License as published by the Free |
| ; Software Foundation; either version 3, or (at your option) any later |
| ; version. |
| ; |
| ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
| ; WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| ; for more details. |
| ; |
| ; You should have received a copy of the GNU General Public License |
| ; along with GCC; see the file COPYING3. If not see |
| ; <http://www.gnu.org/licenses/>. |
| |
| ; See the GCC internals manual (options.texi) for a description of this file's format. |
| |
| ; Please try to keep this file in ASCII collating order. |
| |
| -help |
| Common |
| Display this information |
| |
| -help= |
| Common Report Joined |
| --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params |
| |
| -target-help |
| Common |
| Alias for --help=target |
| |
| ;; The following three 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 |
| |
| fhelp= |
| Common Joined |
| |
| ftarget-help |
| Common |
| |
| -param |
| Common Separate |
| --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters |
| |
| -version |
| Common |
| |
| G |
| Common Joined Separate UInteger |
| -G<number> Put global and static data smaller than <number> bytes into a special section (on some targets) |
| |
| O |
| Common JoinedOrMissing Optimization |
| -O<number> Set optimization level to <number> |
| |
| Os |
| Common Optimization |
| Optimize for space rather than speed |
| |
| W |
| Common RejectNegative |
| This switch is deprecated; use -Wextra instead |
| |
| Waggregate-return |
| Common Var(warn_aggregate_return) Warning |
| Warn about returning structures, unions or arrays |
| |
| Warray-bounds |
| Common Var(warn_array_bounds) Warning |
| Warn if an array is accessed out of bounds |
| |
| Wattributes |
| Common Var(warn_attributes) Init(1) Warning |
| Warn about inappropriate attribute usage |
| |
| Wcast-align |
| Common Var(warn_cast_align) Warning |
| Warn about pointer casts which increase alignment |
| |
| Wdeprecated-declarations |
| Common Var(warn_deprecated_decl) Init(1) Warning |
| Warn about uses of __attribute__((deprecated)) declarations |
| |
| Wdisabled-optimization |
| Common Var(warn_disabled_optimization) Warning |
| Warn when an optimization pass is disabled |
| |
| Werror |
| Common Var(warnings_are_errors) |
| Treat all warnings as errors |
| |
| Werror= |
| Common Joined |
| Treat specified warning as error |
| |
| Wextra |
| Common Warning |
| Print extra (possibly unwanted) warnings |
| |
| Wfatal-errors |
| Common Var(flag_fatal_errors) |
| Exit on the first error occurred |
| |
| Wframe-larger-than= |
| Common RejectNegative Joined UInteger |
| -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes |
| |
| Winline |
| Common Var(warn_inline) Warning |
| Warn when an inlined function cannot be inlined |
| |
| Wlarger-than- |
| Common RejectNegative Joined UInteger Warning |
| |
| Wlarger-than= |
| Common RejectNegative Joined UInteger Warning |
| -Wlarger-than=<number> Warn if an object is larger than <number> 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. |
| |
| 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 |
| |
| Wpacked |
| Common Var(warn_packed) Warning |
| Warn when the packed attribute has no effect on struct layout |
| |
| Wpadded |
| Common Var(warn_padded) Warning |
| Warn when padding is required to align structure members |
| |
| Wshadow |
| Common Var(warn_shadow) Warning |
| Warn when one local variable shadows another |
| |
| Wstack-protector |
| Common Var(warn_stack_protect) Warning |
| Warn when not issuing stack smashing protection for some reason |
| |
| Wstrict-aliasing |
| Common Warning |
| Warn about code which might break strict aliasing rules |
| |
| Wstrict-aliasing= |
| Common Joined UInteger Var(warn_strict_aliasing) Init(-1) Warning |
| Warn about code which might break strict aliasing rules |
| |
| Wstrict-overflow |
| Common Warning |
| Warn about optimizations that assume that signed overflow is undefined |
| |
| Wstrict-overflow= |
| Common Joined UInteger Var(warn_strict_overflow) Init(-1) Warning |
| Warn about optimizations that assume that signed overflow is undefined |
| |
| Wswitch |
| Common Var(warn_switch) Warning |
| Warn about enumerated switches, with no default, missing a case |
| |
| Wswitch-default |
| Common Var(warn_switch_default) Warning |
| Warn about enumerated switches missing a \"default:\" statement |
| |
| Wswitch-enum |
| Common Var(warn_switch_enum) Warning |
| Warn about all enumerated switches missing a specific case |
| |
| Wsystem-headers |
| Common Var(warn_system_headers) Warning |
| Do not suppress warnings from system headers |
| |
| Wtype-limits |
| 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 |
| Warn about uninitialized automatic variables |
| |
| Wunreachable-code |
| Common Var(warn_notreached) Warning |
| Warn about code that will never be executed |
| |
| Wunused |
| Common Var(warn_unused) Init(0) Warning |
| Enable all -Wunused- warnings |
| |
| Wunused-function |
| Common Var(warn_unused_function) Init(-1) Warning |
| Warn when a function is unused |
| |
| Wunused-label |
| Common Var(warn_unused_label) Init(-1) Warning |
| Warn when a label is unused |
| |
| Wunused-parameter |
| Common Var(warn_unused_parameter) Init(-1) Warning |
| Warn when a function parameter is unused |
| |
| Wunused-value |
| Common Var(warn_unused_value) Init(-1) Warning |
| Warn when an expression value is unused |
| |
| Wunused-variable |
| 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 |
| |
| aux-info |
| Common Separate |
| -aux-info <file> Emit declaration information into <file> |
| |
| aux-info= |
| Common Joined |
| |
| auxbase |
| Common Separate |
| |
| auxbase-strip |
| Common Separate |
| |
| d |
| Common Joined |
| -d<letters> Enable dumps from specific passes of the compiler |
| |
| dumpbase |
| Common Separate |
| -dumpbase <file> Set the file basename 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 |
| ; specification. This ABI may change as bugs are discovered and fixed. |
| ; Therefore, 0 will not necessarily indicate the same ABI in different |
| ; versions of G++. |
| ; |
| ; 1: The version of the ABI first used in G++ 3.2. |
| ; |
| ; 2: The version of the ABI first used in G++ 3.4. |
| ; |
| ; Additional positive integers will be assigned as new versions of |
| ; the ABI become the default version of the ABI. |
| fabi-version= |
| Common Joined UInteger Var(flag_abi_version) Init(2) |
| |
| falign-functions |
| 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 UInteger |
| Align labels which are only reached by jumping |
| |
| falign-jumps= |
| Common RejectNegative Joined UInteger |
| |
| falign-labels |
| 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 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 |
| |
| fargument-noalias |
| Common Report Var(flag_argument_noalias,1) VarExists Optimization |
| Assume arguments may alias globals but not each other |
| |
| fargument-noalias-global |
| Common Report Var(flag_argument_noalias,2) VarExists Optimization |
| Assume arguments alias neither each other nor globals |
| |
| fargument-noalias-anything |
| Common Report Var(flag_argument_noalias,3) VarExists Optimization |
| Assume arguments alias no other storage |
| |
| fasynchronous-unwind-tables |
| Common Report Var(flag_asynchronous_unwind_tables) Optimization |
| Generate unwind tables that are exact at each instruction boundary |
| |
| fauto-inc-dec |
| Common Report Var(flag_auto_inc_dec) Init(1) |
| Generate auto-inc/dec instructions |
| |
| ; -fcheck-bounds causes gcc to generate array bounds checks. |
| ; For C, C++ and ObjC: defaults off. |
| ; For Java: defaults to on. |
| ; For Fortran: defaults to off. |
| fbounds-check |
| Common Report Var(flag_bounds_check) |
| Generate code to check bounds before indexing arrays |
| |
| fbranch-count-reg |
| Common Report Var(flag_branch_on_count_reg) Init(1) Optimization |
| Replace add, compare, branch with branch on count register |
| |
| fbranch-probabilities |
| Common Report Var(flag_branch_probabilities) Optimization |
| Use profiling information for branch probabilities |
| |
| fbranch-target-load-optimize |
| Common Report Var(flag_branch_target_load_optimize) Optimization |
| Perform branch target load optimization before prologue / epilogue threading |
| |
| fbranch-target-load-optimize2 |
| Common Report Var(flag_branch_target_load_optimize2) Optimization |
| Perform branch target load optimization after prologue / epilogue threading |
| |
| fbtr-bb-exclusive |
| Common Report Var(flag_btr_bb_exclusive) Optimization |
| Restrict target load migration not to re-use registers in any basic block |
| |
| fcall-saved- |
| Common Joined RejectNegative |
| -fcall-saved-<register> Mark <register> as being preserved across functions |
| |
| fcall-used- |
| Common Joined RejectNegative |
| -fcall-used-<register> Mark <register> as being corrupted by function calls |
| |
| ; Nonzero for -fcaller-saves: allocate values in regs that need to |
| ; be saved across function calls, if that produces overall better code. |
| ; Optional now, so people can test it. |
| fcaller-saves |
| Common Report Var(flag_caller_saves) Optimization |
| Save registers around function calls |
| |
| fcheck-data-deps |
| Common Report Var(flag_check_data_deps) |
| Compare the results of several data dependence analyzers. |
| |
| fcommon |
| Common Report Var(flag_no_common,0) Optimization |
| Do not put uninitialized globals in the common section |
| |
| 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 |
| |
| fcrossjumping |
| Common Report Var(flag_crossjumping) Optimization |
| Perform cross-jumping optimization |
| |
| fcse-follow-jumps |
| 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 |
| |
| fcx-limited-range |
| Common Report Var(flag_cx_limited_range) Optimization |
| Omit range reduction step when performing complex division |
| |
| fcx-fortran-rules |
| Common Report Var(flag_cx_fortran_rules) Optimization |
| Complex multiplication and division follow Fortran rules |
| |
| fdata-sections |
| Common Report Var(flag_data_sections) Optimization |
| Place data items into their own section |
| |
| fdbg-cnt-list |
| Common Report |
| List all available debugging counters with their limits and counts. |
| |
| fdbg-cnt= |
| Common RejectNegative Joined |
| -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. |
| |
| fdebug-prefix-map= |
| Common Joined RejectNegative |
| Map one directory name to another in debug information |
| |
| ; Nonzero for -fdefer-pop: don't pop args after each function call |
| ; instead save them up to pop many calls' args with one insns. |
| fdefer-pop |
| Common Report Var(flag_defer_pop) Optimization |
| Defer popping functions args from stack until later |
| |
| fdelayed-branch |
| 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 |
| Delete useless null pointer checks |
| |
| fdiagnostics-show-location= |
| 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 |
| Amend appropriate diagnostic messages with the command line option that controls them |
| |
| fdump- |
| Common Joined RejectNegative |
| -fdump-<type> Dump various compiler internals to a file |
| |
| fdump-noaddr |
| Common Report Var(flag_dump_noaddr) |
| Suppress output of addresses in debugging dumps |
| |
| fdump-unnumbered |
| Common Report Var(flag_dump_unnumbered) VarExists |
| Suppress output of instruction numbers, line number notes and addresses 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 |
| |
| feliminate-dwarf2-dups |
| Common Report Var(flag_eliminate_dwarf2_dups) |
| Perform DWARF2 duplicate elimination |
| |
| feliminate-unused-debug-symbols |
| Common Report Var(flag_debug_only_used_symbols) |
| Perform unused type elimination in debug info |
| |
| feliminate-unused-debug-types |
| Common Report Var(flag_eliminate_unused_debug_types) Init(1) |
| Perform unused type elimination in debug info |
| |
| femit-class-debug-always |
| Common Report Var(flag_emit_class_debug_always) Init(0) |
| Do not suppress C++ class debug information. |
| |
| fexceptions |
| Common Report Var(flag_exceptions) Optimization |
| Enable exception handling |
| |
| fexpensive-optimizations |
| Common Report Var(flag_expensive_optimizations) Optimization |
| Perform a number of minor, expensive optimizations |
| |
| ffast-math |
| Common |
| |
| ffinite-math-only |
| Common Report Var(flag_finite_math_only) Optimization |
| Assume no NaNs or infinities are generated |
| |
| ffixed- |
| Common Joined RejectNegative |
| -ffixed-<register> Mark <register> as being unavailable to the compiler |
| |
| ffloat-store |
| Common Report Var(flag_float_store) Optimization |
| Don't allocate floats and doubles in extended-precision registers |
| |
| fforce-addr |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| fforward-propagate |
| Common Report Var(flag_forward_propagate) Optimization |
| Perform a forward propagation pass on RTL |
| |
| ; Nonzero means don't put addresses of constant functions in registers. |
| ; Used for compiling the Unix kernel, where strange substitutions are |
| ; done on the assembly output. |
| ffunction-cse |
| Common Report Var(flag_no_function_cse,0) |
| Allow function addresses to be held in registers |
| |
| ffunction-sections |
| Common Report Var(flag_function_sections) |
| Place each function into its own section |
| |
| fgcse |
| Common Report Var(flag_gcse) Optimization |
| Perform global common subexpression elimination |
| |
| fgcse-lm |
| Common Report Var(flag_gcse_lm) Init(1) Optimization |
| Perform enhanced load motion during global common subexpression elimination |
| |
| fgcse-sm |
| Common Report Var(flag_gcse_sm) Init(0) Optimization |
| Perform store motion after global common subexpression elimination |
| |
| fgcse-las |
| Common Report Var(flag_gcse_las) Init(0) Optimization |
| Perform redundant load after store elimination in global common subexpression |
| elimination |
| |
| fgcse-after-reload |
| 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 |
| |
| 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 |
| |
| ; This option is not documented as it does not perform any useful optimization. |
| fgraphite-identity |
| Common Report Var(flag_graphite_identity) Optimization |
| Enable Graphite Identity transformation |
| |
| fguess-branch-probability |
| Common Report Var(flag_guess_branch_prob) Optimization |
| Enable guessing of branch probabilities |
| |
| ; Nonzero means ignore `#ident' directives. 0 means handle them. |
| ; Generate position-independent code for executables if possible |
| ; On SVR4 targets, it also controls whether or not to emit a |
| ; string identifying the compiler. |
| fident |
| Common Report Var(flag_no_ident,0) |
| Process #ident directives |
| |
| fif-conversion |
| Common Report Var(flag_if_conversion) Optimization |
| Perform conversion of conditional jumps to branchless equivalents |
| |
| fif-conversion2 |
| Common Report Var(flag_if_conversion2) Optimization |
| Perform conversion of conditional jumps to conditional execution |
| |
| ; -finhibit-size-directive inhibits output of .size for ELF. |
| ; This is used only for compiling crtstuff.c, |
| ; and it may be extended to other effects |
| ; needed for crtstuff.c on other systems. |
| 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(0) |
| Pay attention to the \"inline\" keyword |
| |
| finline-small-functions |
| Common Report Var(flag_inline_small_functions) Optimization |
| Integrate simple functions into their callers when code size is known to not growth |
| |
| finline-functions |
| Common Report Var(flag_inline_functions) Optimization |
| Integrate simple functions into their callers |
| |
| finline-functions-called-once |
| Common Report Var(flag_inline_functions_called_once) Init(1) Optimization |
| Integrate functions called once into their callers |
| |
| finline-limit- |
| Common RejectNegative Joined UInteger |
| |
| finline-limit= |
| Common RejectNegative Joined UInteger |
| -finline-limit=<number> Limit the size of inlined functions to <number> |
| |
| finstrument-functions |
| Common Report Var(flag_instrument_function_entry_exit) |
| Instrument function entry and exit with profiling calls |
| |
| finstrument-functions-exclude-function-list= |
| Common RejectNegative Joined |
| -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions |
| |
| finstrument-functions-exclude-file-list= |
| Common RejectNegative Joined |
| -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files |
| |
| fipa-cp |
| Common Report Var(flag_ipa_cp) Optimization |
| Perform Interprocedural constant propagation |
| |
| fipa-cp-clone |
| Common Report Var(flag_ipa_cp_clone) Optimization |
| Perform cloning to make Interprocedural constant propagation stronger |
| |
| fipa-pure-const |
| Common Report Var(flag_ipa_pure_const) Init(0) Optimization |
| Discover pure and const functions |
| |
| fipa-pta |
| Common Report Var(flag_ipa_pta) Init(0) Optimization |
| Perform interprocedural points-to analysis |
| |
| fipa-reference |
| Common Report Var(flag_ipa_reference) Init(0) Optimization |
| Discover readonly and non addressable static variables |
| |
| fipa-type-escape |
| Common Report Var(flag_ipa_type_escape) Init(0) Optimization |
| Type based escape and alias analysis |
| |
| fipa-matrix-reorg |
| Common Report Var(flag_ipa_matrix_reorg) Optimization |
| Perform matrix layout flattening and transposing based |
| on profiling information. |
| |
| fipa-struct-reorg |
| 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-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=<number> Control IRA's level of diagnostic messages. |
| |
| fivopts |
| Common Report Var(flag_ivopts) Init(1) Optimization |
| Optimize induction variables on trees |
| |
| fjump-tables |
| Common Var(flag_jump_tables) Init(1) Optimization |
| Use jump tables for sufficiently large switch statements |
| |
| fkeep-inline-functions |
| Common Report Var(flag_keep_inline_functions) |
| Generate code for functions even if they are fully inlined |
| |
| fkeep-static-consts |
| Common Report Var(flag_keep_static_consts) Init(1) |
| Emit static const variables even if they are not used |
| |
| fleading-underscore |
| Common Report Var(flag_leading_underscore) Init(-1) |
| Give external symbols a leading underscore |
| |
| floop-optimize |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| fmath-errno |
| Common Report Var(flag_errno_math) Init(1) Optimization |
| Set errno after built-in math functions |
| |
| fmem-report |
| Common Report Var(mem_report) |
| Report on permanent memory allocation |
| |
| ; This will attempt to merge constant section constants, if 1 only |
| ; string constants and constants from constant pool, if 2 also constant |
| ; variables. |
| fmerge-all-constants |
| Common Report Var(flag_merge_constants,2) Init(1) Optimization |
| Attempt to merge identical constants and constant variables |
| |
| fmerge-constants |
| Common Report Var(flag_merge_constants,1) VarExists Optimization |
| Attempt to merge identical constants across compilation units |
| |
| fmerge-debug-strings |
| Common Report Var(flag_merge_debug_strings) Init(1) |
| Attempt to merge identical debug strings across compilation units |
| |
| fmessage-length= |
| Common RejectNegative Joined UInteger |
| -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping |
| |
| fmodulo-sched |
| Common Report Var(flag_modulo_sched) Optimization |
| Perform SMS based modulo scheduling before the first scheduling pass |
| |
| fmodulo-sched-allow-regmoves |
| Common Report Var(flag_modulo_sched_allow_regmoves) |
| Perform SMS based modulo scheduling with register moves allowed |
| |
| fmove-loop-invariants |
| Common Report Var(flag_move_loop_invariants) Init(1) Optimization |
| Move loop invariant computations out of loops |
| |
| fmudflap |
| Common RejectNegative Report Var(flag_mudflap) |
| Add mudflap bounds-checking instrumentation for single-threaded program |
| |
| fmudflapth |
| Common RejectNegative Report VarExists Var(flag_mudflap,2) |
| Add mudflap bounds-checking instrumentation for multi-threaded program |
| |
| fmudflapir |
| Common RejectNegative Report Var(flag_mudflap_ignore_reads) |
| Ignore read operations when inserting mudflap instrumentation |
| |
| fdce |
| Common Var(flag_dce) Init(1) Optimization |
| Use the RTL dead code elimination pass |
| |
| fdse |
| Common Var(flag_dse) Init(1) Optimization |
| Use the RTL dead store elimination pass |
| |
| freschedule-modulo-scheduled-loops |
| Common Report Var(flag_resched_modulo_sched) Optimization |
| Enable/Disable the traditional scheduling in loops that already passed modulo scheduling |
| |
| fnon-call-exceptions |
| Common Report Var(flag_non_call_exceptions) Optimization |
| Support synchronous non-call exceptions |
| |
| fomit-frame-pointer |
| Common Report Var(flag_omit_frame_pointer) Optimization |
| When possible do not generate stack frames |
| |
| foptimize-register-move |
| Common Report Var(flag_regmove) Optimization |
| Do the full register move optimization pass |
| |
| foptimize-sibling-calls |
| Common Report Var(flag_optimize_sibling_calls) Optimization |
| Optimize sibling and tail recursive calls |
| |
| fpre-ipa-mem-report |
| Common Report Var(pre_ipa_mem_report) |
| Report on memory allocation before interprocedural optimization |
| |
| fpost-ipa-mem-report |
| Common Report Var(post_ipa_mem_report) |
| Report on memory allocation before interprocedural optimization |
| |
| fpack-struct |
| Common Report Var(flag_pack_struct) Optimization |
| Pack structure members together without holes |
| |
| fpack-struct= |
| Common RejectNegative Joined UInteger Optimization |
| -fpack-struct=<number> Set initial maximum structure member alignment |
| |
| fpcc-struct-return |
| Common Report Var(flag_pcc_struct_return,1) VarExists |
| Return small aggregates in memory, not registers |
| |
| fpeel-loops |
| Common Report Var(flag_peel_loops) Optimization |
| Perform loop peeling |
| |
| fpeephole |
| Common Report Var(flag_no_peephole,0) Optimization |
| Enable machine specific peephole optimizations |
| |
| fpeephole2 |
| Common Report Var(flag_peephole2) Optimization |
| Enable an RTL peephole pass before sched2 |
| |
| fPIC |
| Common Report Var(flag_pic,2) |
| Generate position-independent code if possible (large mode) |
| |
| fPIE |
| Common Report Var(flag_pie,2) |
| Generate position-independent code for executables if possible (large mode) |
| |
| fpic |
| Common Report Var(flag_pic,1) VarExists |
| Generate position-independent code if possible (small mode) |
| |
| fpie |
| Common Report Var(flag_pie,1) VarExists |
| Generate position-independent code for executables if possible (small mode) |
| |
| fpredictive-commoning |
| Common Report Var(flag_predictive_commoning) Optimization |
| Run predictive commoning optimization. |
| |
| fprefetch-loop-arrays |
| Common Report Var(flag_prefetch_loop_arrays) Optimization |
| Generate prefetch instructions, if available, for arrays in loops |
| |
| fprofile |
| Common Report Var(profile_flag) |
| Enable basic program profiling code |
| |
| 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 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 |
| |
| frandom-seed |
| Common |
| |
| frandom-seed= |
| Common Joined RejectNegative |
| -frandom-seed=<string> Make compile reproducible using <string> |
| |
| ; This switch causes the command line that was used to create an |
| ; object file to be recorded into the object file. The exact format |
| ; of this recording is target and binary file format dependent. |
| ; It is related to the -fverbose-asm switch, but that switch only |
| ; records information in the assembler output file as comments, so |
| ; they never reach the object file. |
| frecord-gcc-switches |
| Common Report Var(flag_record_gcc_switches) |
| Record gcc command line switches in the object file. |
| |
| freg-struct-return |
| Common Report Var(flag_pcc_struct_return,0) VarExists Optimization |
| Return small aggregates in registers |
| |
| fregmove |
| Common Report Var(flag_regmove) Optimization |
| Enables a register move optimization |
| |
| frename-registers |
| Common Report Var(flag_rename_registers) Init(2) Optimization |
| Perform a register renaming optimization pass |
| |
| freorder-blocks |
| Common Report Var(flag_reorder_blocks) Optimization |
| Reorder basic blocks to improve code placement |
| |
| freorder-blocks-and-partition |
| Common Report Var(flag_reorder_blocks_and_partition) Optimization |
| Reorder basic blocks and partition into hot and cold sections |
| |
| freorder-functions |
| Common Report Var(flag_reorder_functions) Optimization |
| Reorder functions to improve code placement |
| |
| frerun-cse-after-loop |
| Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization |
| Add a common subexpression elimination pass after loop optimizations |
| |
| frerun-loop-opt |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| frounding-math |
| Common Report Var(flag_rounding_math) Optimization |
| Disable optimizations that assume default FP rounding behavior |
| |
| fsched-interblock |
| Common Report Var(flag_schedule_interblock) Init(1) Optimization |
| Enable scheduling across basic blocks |
| |
| fsched-spec |
| Common Report Var(flag_schedule_speculative) Init(1) Optimization |
| Allow speculative motion of non-loads |
| |
| fsched-spec-load |
| Common Report Var(flag_schedule_speculative_load) Optimization |
| Allow speculative motion of some loads |
| |
| fsched-spec-load-dangerous |
| Common Report Var(flag_schedule_speculative_load_dangerous) Optimization |
| Allow speculative motion of more loads |
| |
| fsched-verbose= |
| Common RejectNegative Joined |
| -fsched-verbose=<number> Set the verbosity level of the scheduler |
| |
| fsched2-use-superblocks |
| 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 |
| |
| fschedule-insns |
| Common Report Var(flag_schedule_insns) Optimization |
| Reschedule instructions before register allocation |
| |
| 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 UInteger |
| Allow premature scheduling of queued insns |
| |
| fsched-stalled-insns= |
| Common RejectNegative Joined UInteger |
| -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled |
| |
| ; sched_stalled_insns_dep controls how many recently scheduled cycles will |
| ; be examined for a dependency on a stalled insn that is candidate for |
| ; 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 UInteger |
| Set dependence distance checking in premature scheduling of queued insns |
| |
| fsched-stalled-insns-dep= |
| Common RejectNegative Joined UInteger |
| -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns |
| |
| 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. |
| |
| fshow-column |
| Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(0) |
| Show column numbers in diagnostics, when available. Default off |
| |
| fsignaling-nans |
| Common Report Var(flag_signaling_nans) Optimization |
| Disable optimizations observable by IEEE signaling NaNs |
| |
| fsigned-zeros |
| Common Report Var(flag_signed_zeros) Init(1) Optimization |
| Disable floating point optimizations that ignore the IEEE signedness of zero |
| |
| fsingle-precision-constant |
| Common Report Var(flag_single_precision_constant) Optimization |
| Convert floating point constants to single precision constants |
| |
| fsplit-ivs-in-unroller |
| Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization |
| Split lifetimes of induction variables when loops are unrolled |
| |
| fsplit-wide-types |
| Common Report Var(flag_split_wide_types) Optimization |
| Split wide types into independent registers |
| |
| fvariable-expansion-in-unroller |
| Common Report Var(flag_variable_expansion_in_unroller) Optimization |
| Apply variable expansion when loops are unrolled |
| |
| fstack-check= |
| Common Report RejectNegative Joined |
| -fstack-check=[no|generic|specific] Insert stack checking code into the program |
| |
| fstack-check |
| Common Report |
| Insert stack checking code into the program. Same as -fstack-check=specific |
| |
| fstack-limit |
| Common |
| |
| fstack-limit-register= |
| Common RejectNegative Joined |
| -fstack-limit-register=<register> Trap if the stack goes past <register> |
| |
| fstack-limit-symbol= |
| Common RejectNegative Joined |
| -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name> |
| |
| fstack-protector |
| Common Report Var(flag_stack_protect, 1) |
| Use propolice as a stack protection method |
| |
| fstack-protector-all |
| Common Report RejectNegative Var(flag_stack_protect, 2) VarExists |
| Use a stack protection method for every function |
| |
| fstrength-reduce |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| ; Nonzero if we should do (language-dependent) alias analysis. |
| ; Typically, this analysis will assume that expressions of certain |
| ; types do not alias expressions of certain other types. Only used |
| ; if alias analysis (in general) is enabled. |
| fstrict-aliasing |
| Common Report Var(flag_strict_aliasing) Optimization |
| Assume strict aliasing rules apply |
| |
| fstrict-overflow |
| Common Report Var(flag_strict_overflow) |
| Treat signed overflow as undefined |
| |
| fsyntax-only |
| Common Report Var(flag_syntax_only) |
| Check for syntax errors, then stop |
| |
| ftest-coverage |
| Common Report Var(flag_test_coverage) |
| Create data files needed by \"gcov\" |
| |
| fthread-jumps |
| Common Report Var(flag_thread_jumps) Optimization |
| Perform jump threading optimizations |
| |
| ftime-report |
| Common Report Var(time_report) |
| Report the time taken by each compiler pass |
| |
| ftls-model= |
| 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(2) Optimization |
| Reorder top level functions, variables, and asms |
| |
| ftracer |
| Common Report Var(flag_tracer) |
| Perform superblock formation via tail duplication |
| |
| ; Zero means that floating-point math operations cannot generate a |
| ; (user-visible) trap. This is the case, for example, in nonstop |
| ; IEEE 754 arithmetic. |
| ftrapping-math |
| Common Report Var(flag_trapping_math) Init(1) Optimization |
| Assume floating-point operations can trap |
| |
| ftrapv |
| Common Report Var(flag_trapv) Optimization |
| Trap for signed overflow in addition, subtraction and multiplication |
| |
| ftree-ccp |
| Common Report Var(flag_tree_ccp) Optimization |
| Enable SSA-CCP optimization on trees |
| |
| ftree-store-ccp |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| ftree-ch |
| Common Report Var(flag_tree_ch) Optimization |
| Enable loop header copying on trees |
| |
| ftree-copyrename |
| Common Report Var(flag_tree_copyrename) Optimization |
| Replace SSA temporaries with better names in copies |
| |
| ftree-copy-prop |
| Common Report Var(flag_tree_copy_prop) Optimization |
| Enable copy propagation on trees |
| |
| ftree-store-copy-prop |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| 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 |
| |
| ftree-dominator-opts |
| Common Report Var(flag_tree_dom) Optimization |
| Enable dominator optimizations |
| |
| ftree-dse |
| Common Report Var(flag_tree_dse) Optimization |
| Enable dead store elimination |
| |
| 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) Optimization |
| Enable loop distribution on trees |
| |
| ftree-loop-im |
| Common Report Var(flag_tree_loop_im) Init(1) Optimization |
| Enable loop invariant motion on trees |
| |
| ftree-loop-linear |
| Common Report Var(flag_tree_loop_linear) Optimization |
| Enable linear loop transforms on trees |
| |
| ftree-loop-ivcanon |
| Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization |
| Create canonical induction variables in loops |
| |
| ftree-loop-optimize |
| Common Report Var(flag_tree_loop_optimize) Init(1) Optimization |
| Enable loop optimizations on tree level |
| |
| ftree-parallelize-loops= |
| Common Report Joined UInteger Var(flag_tree_parallelize_loops) Init(1) |
| Enable automatic parallelization of loops |
| |
| ftree-pre |
| Common Report Var(flag_tree_pre) Optimization |
| Enable SSA-PRE optimization on trees |
| |
| ftree-reassoc |
| Common Report Var(flag_tree_reassoc) Init(1) Optimization |
| Enable reassociation on tree level |
| |
| ftree-salias |
| Common |
| Does nothing. Preserved for backward compatibility. |
| |
| ftree-sink |
| Common Report Var(flag_tree_sink) Optimization |
| Enable SSA code sinking on trees |
| |
| ftree-sra |
| Common Report Var(flag_tree_sra) Optimization |
| Perform scalar replacement of aggregates |
| |
| ftree-ter |
| Common Report Var(flag_tree_ter) Init(1) Optimization |
| Replace temporary expressions in the SSA->normal pass |
| |
| ftree-lrs |
| Common Report Var(flag_tree_live_range_split) Optimization |
| Perform live range splitting during the SSA->normal pass |
| |
| ftree-vrp |
| 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) Init(1) Optimization |
| Compile whole compilation unit at a time |
| |
| funroll-loops |
| Common Report Var(flag_unroll_loops) Optimization |
| Perform loop unrolling when iteration count is known |
| |
| funroll-all-loops |
| Common Report Var(flag_unroll_all_loops) Optimization |
| Perform loop unrolling for all loops |
| |
| ; Nonzero means that loop optimizer may assume that the induction variables |
| ; that control loops do not overflow and that the loops with nontrivial |
| ; exit condition are not infinite |
| funsafe-loop-optimizations |
| Common Report Var(flag_unsafe_loop_optimizations) Optimization |
| Allow loop optimizations to assume that the loops behave in normal way |
| |
| fassociative-math |
| Common Report Var(flag_associative_math) |
| Allow optimization for floating-point arithmetic which may change the |
| result of the operation due to rounding. |
| |
| freciprocal-math |
| Common Report Var(flag_reciprocal_math) |
| Same as -fassociative-math for expressions which include division. |
| |
| ; Nonzero means that unsafe floating-point math optimizations are allowed |
| ; for the sake of speed. IEEE compliance is not guaranteed, and operations |
| ; are allowed to assume that their arguments and results are "normal" |
| ; (e.g., nonnegative for SQRT). |
| funsafe-math-optimizations |
| Common Report Var(flag_unsafe_math_optimizations) Optimization |
| Allow math optimizations that may violate IEEE or ISO standards |
| |
| funswitch-loops |
| Common Report Var(flag_unswitch_loops) Optimization |
| Perform loop unswitching |
| |
| funwind-tables |
| Common Report Var(flag_unwind_tables) Optimization |
| Just generate unwind tables for exception handling |
| |
| fvar-tracking |
| Common Report Var(flag_var_tracking) VarExists Optimization |
| Perform variable tracking |
| |
| fvar-tracking-uninit |
| Common Report Var(flag_var_tracking_uninit) Optimization |
| Perform variable tracking and also tag variables that are uninitialized |
| |
| ftree-vectorize |
| Common Report Var(flag_tree_vectorize) Optimization |
| Enable loop vectorization on trees |
| |
| fvect-cost-model |
| Common Report Var(flag_vect_cost_model) Optimization |
| Enable use of cost model in vectorization |
| |
| ftree-vect-loop-version |
| Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization |
| Enable loop versioning when doing loop vectorization on trees |
| |
| ftree-vectorizer-verbose= |
| Common RejectNegative Joined |
| -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer |
| |
| ftree-scev-cprop |
| Common Report Var(flag_tree_scev_cprop) Init(1) Optimization |
| Enable copy propagation of scalar-evolution information. |
| |
| ; -fverbose-asm causes extra commentary information to be produced in |
| ; the generated assembly code (to make it more readable). This option |
| ; is generally only of use to those who actually need to read the |
| ; generated assembly code (perhaps while debugging the compiler itself). |
| ; -fno-verbose-asm, the default, causes the extra information |
| ; to not be added and is useful when comparing two assembler files. |
| fverbose-asm |
| Common Report Var(flag_verbose_asm) |
| Add extra commentary to assembler output |
| |
| fvisibility= |
| Common Joined RejectNegative |
| -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility |
| |
| |
| fvpt |
| Common Report Var(flag_value_profile_transformations) Optimization |
| Use expression value profiles in optimizations |
| |
| fweb |
| Common Report Var(flag_web) Init(2) Optimization |
| Construct webs and split unrelated uses of single variable |
| |
| 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 |
| |
| fwrapv |
| Common Report Var(flag_wrapv) Optimization |
| Assume signed arithmetic overflow wraps around |
| |
| fzero-initialized-in-bss |
| Common Report Var(flag_zero_initialized_in_bss) Init(1) |
| Put zero initialized data in the bss section |
| |
| g |
| Common JoinedOrMissing |
| Generate debug information in default format |
| |
| gcoff |
| Common JoinedOrMissing Negative(gdwarf-2) |
| Generate debug information in COFF format |
| |
| gdwarf-2 |
| Common JoinedOrMissing Negative(gstabs) |
| Generate debug information in DWARF v2 format |
| |
| ggdb |
| Common JoinedOrMissing |
| Generate debug information in default extended format |
| |
| gstabs |
| Common JoinedOrMissing Negative(gstabs+) |
| Generate debug information in STABS format |
| |
| gstabs+ |
| Common JoinedOrMissing Negative(gvms) |
| Generate debug information in extended STABS format |
| |
| gvms |
| Common JoinedOrMissing Negative(gxcoff) |
| Generate debug information in VMS format |
| |
| gxcoff |
| Common JoinedOrMissing Negative(gxcoff+) |
| Generate debug information in XCOFF format |
| |
| gxcoff+ |
| Common JoinedOrMissing Negative(gcoff) |
| Generate debug information in extended XCOFF format |
| |
| o |
| Common Joined Separate |
| -o <file> Place output into <file> |
| |
| p |
| Common Var(profile_flag) |
| Enable function profiling |
| |
| pedantic |
| Common Var(pedantic) |
| Issue warnings needed for strict compliance to the standard |
| |
| pedantic-errors |
| Common |
| Like -pedantic but issue them as errors |
| |
| quiet |
| Common Var(quiet_flag) |
| Do not display functions compiled or elapsed time |
| |
| version |
| Common Var(version_flag) |
| Display the compiler's version |
| |
| w |
| Common Var(inhibit_warnings) |
| Suppress warnings |
| |
| shared |
| Common RejectNegative Negative(pie) |
| Create a shared library |
| |
| pie |
| Common RejectNegative Negative(shared) |
| Create a position independent executable |
| |
| ; This comment is to ensure we retain the blank line above. |