X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcommon.opt;h=2d8a1979bb38be92cea668125822196f220fadc7;hb=c6a0599243068b33768268296b067d0fce5feec9;hp=c7e689942349f80a2030d42be16253133503ff30;hpb=f2d0e9f1eb045177c4ea903d9cda1c0cd5db64fe;p=pf3gnuchains%2Fgcc-fork.git
diff --git a/gcc/common.opt b/gcc/common.opt
index c7e68994234..2d8a1979bb3 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1,23 +1,22 @@
; Options for the language- and target-independent parts of the compiler.
-; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+; Copyright (C) 2003, 2004, 2005, 2006, 2007 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 2, or (at your option) any later
+; 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 COPYING. If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
+; along with GCC; see the file COPYING3. If not see
+; .
; See the GCC internals manual for a description of this file's format.
@@ -27,12 +26,29 @@
Common
Display this information
--param
-Common Separate
---param = Set parameter to value. See below for a complete list of parameters
+-help=
+Common Report Joined
+--help= Display descriptions of a specific class of options. 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 = Set parameter to value. See below for a complete list of parameters
-version
Common
@@ -54,27 +70,27 @@ Common RejectNegative
This switch is deprecated; use -Wextra instead
Waggregate-return
-Common Var(warn_aggregate_return)
+Common Var(warn_aggregate_return) Warning
Warn about returning structures, unions or arrays
-Walways-true
-Common Var(warn_always_true)
-Warn about comparisons that always evaluate to true
+Warray-bounds
+Common Var(warn_array_bounds) Warning
+Warn if an array is accessed out of bounds
Wattributes
-Common Var(warn_attributes) Init(1)
+Common Var(warn_attributes) Init(1) Warning
Warn about inappropriate attribute usage
Wcast-align
-Common Var(warn_cast_align)
+Common Var(warn_cast_align) Warning
Warn about pointer casts which increase alignment
Wdeprecated-declarations
-Common Var(warn_deprecated_decl) Init(1)
+Common Var(warn_deprecated_decl) Init(1) Warning
Warn about uses of __attribute__((deprecated)) declarations
Wdisabled-optimization
-Common Var(warn_disabled_optimization)
+Common Var(warn_disabled_optimization) Warning
Warn when an optimization pass is disabled
Werror
@@ -86,7 +102,7 @@ Common Joined
Treat specified warning as error
Wextra
-Common
+Common Warning
Print extra (possibly unwanted) warnings
Wfatal-errors
@@ -94,101 +110,117 @@ Common Var(flag_fatal_errors)
Exit on the first error occurred
Winline
-Common Var(warn_inline)
+Common Var(warn_inline) Warning
Warn when an inlined function cannot be inlined
Wlarger-than-
-Common RejectNegative Joined UInteger
+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)
+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)
+Common Var(warn_missing_noreturn) Warning
Warn about functions which might be candidates for __attribute__((noreturn))
+Woverflow
+Common Var(warn_overflow) Init(1) Warning
+Warn about overflow in arithmetic expressions
+
Wpacked
-Common Var(warn_packed)
+Common Var(warn_packed) Warning
Warn when the packed attribute has no effect on struct layout
Wpadded
-Common Var(warn_padded)
+Common Var(warn_padded) Warning
Warn when padding is required to align structure members
Wshadow
-Common Var(warn_shadow)
+Common Var(warn_shadow) Warning
Warn when one local variable shadows another
Wstack-protector
-Common Var(warn_stack_protect)
+Common Var(warn_stack_protect) Warning
Warn when not issuing stack smashing protection for some reason
Wstrict-aliasing
-Common
+Common Warning
Warn about code which might break strict aliasing rules
Wstrict-aliasing=
-Common Joined UInteger
+Common Joined UInteger Warning
Warn about code which might break strict aliasing rules
-Wstring-literal-comparison
-Common Var(warn_string_literal_comparison)
-Warn about comparisons to constant string literals
+Wstrict-overflow
+Common Warning
+Warn about optimizations that assume that signed overflow is undefined
+
+Wstrict-overflow=
+Common Joined UInteger Warning
+Warn about optimizations that assume that signed overflow is undefined
Wswitch
-Common Var(warn_switch)
+Common Var(warn_switch) Warning
Warn about enumerated switches, with no default, missing a case
Wswitch-default
-Common Var(warn_switch_default)
+Common Var(warn_switch_default) Warning
Warn about enumerated switches missing a \"default:\" statement
Wswitch-enum
-Common Var(warn_switch_enum)
+Common Var(warn_switch_enum) Warning
Warn about all enumerated switches missing a specific case
Wsystem-headers
-Common Var(warn_system_headers)
+Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers
Wuninitialized
-Common Var(warn_uninitialized)
+Common Var(warn_uninitialized) Warning
Warn about uninitialized automatic variables
Wunreachable-code
-Common Var(warn_notreached)
+Common Var(warn_notreached) Warning
Warn about code that will never be executed
Wunused
-Common
+Common Warning
Enable all -Wunused- warnings
Wunused-function
-Common Var(warn_unused_function)
+Common Var(warn_unused_function) Warning
Warn when a function is unused
Wunused-label
-Common Var(warn_unused_label)
+Common Var(warn_unused_label) Warning
Warn when a label is unused
Wunused-parameter
-Common Var(warn_unused_parameter)
+Common Var(warn_unused_parameter) Warning
Warn when a function parameter is unused
Wunused-value
-Common Var(warn_unused_value)
+Common Var(warn_unused_value) Warning
Warn when an expression value is unused
Wunused-variable
-Common Var(warn_unused_variable)
+Common Var(warn_unused_variable) Warning
Warn when a variable is unused
Wvolatile-register-var
-Common Var(warn_register_var)
+Common Var(warn_register_var) Warning
Warn when a register variable is declared volatile
+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 Emit declaration information into
@@ -232,21 +264,21 @@ falign-functions=
Common RejectNegative Joined UInteger
falign-jumps
-Common Report Var(align_jumps,0)
+Common Report Var(align_jumps,0) Optimization
Align labels which are only reached by jumping
falign-jumps=
Common RejectNegative Joined UInteger
falign-labels
-Common Report Var(align_labels,0)
+Common Report Var(align_labels,0) Optimization
Align all labels
falign-labels=
Common RejectNegative Joined UInteger
falign-loops
-Common Report Var(align_loops)
+Common Report Var(align_loops) Optimization
Align the start of loops
falign-loops=
@@ -257,23 +289,33 @@ Common RejectNegative Joined UInteger
; 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. True in Fortran.
+; 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)
+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
+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
+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)
+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.
@@ -283,23 +325,23 @@ 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)
+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)
+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)
+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)
+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)
+Common Report Var(flag_btr_bb_exclusive) Optimization
Restrict target load migration not to re-use registers in any basic block
fcall-saved-
@@ -314,49 +356,61 @@ Common Joined RejectNegative
; 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)
+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)
+Common Report Var(flag_no_common,0) Optimization
Do not put uninitialized globals in the common section
fcprop-registers
-Common Report Var(flag_cprop_registers)
+Common Report Var(flag_cprop_registers) Optimization
Perform a register copy-propagation optimization pass
fcrossjumping
-Common Report Var(flag_crossjumping)
+Common Report Var(flag_crossjumping) Optimization
Perform cross-jumping optimization
fcse-follow-jumps
-Common Report Var(flag_cse_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)
+Common Report Var(flag_cse_skip_blocks) Optimization
When running CSE, follow conditional jumps
fcx-limited-range
-Common Report Var(flag_cx_limited_range)
+Common Report Var(flag_cx_limited_range) Optimization
Omit range reduction step when performing complex division
fdata-sections
-Common Report Var(flag_data_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=:[,:,...] Set the debug counter limit.
+
; 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)
+Common Report Var(flag_defer_pop) Optimization
Defer popping functions args from stack until later
fdelayed-branch
-Common Report Var(flag_delayed_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)
+Common Report Var(flag_delete_null_pointer_checks) Optimization
Delete useless null pointer checks
fdiagnostics-show-location=
@@ -371,12 +425,16 @@ fdump-
Common Joined RejectNegative
-fdump- 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 and line number notes in debugging dumps
+Suppress output of instruction numbers, line number notes and addresses in debugging dumps
fearly-inlining
-Common Report Var(flag_early_inlining) Init(1)
+Common Report Var(flag_early_inlining) Init(1) Optimization
Perform early inlining
feliminate-dwarf2-dups
@@ -391,19 +449,23 @@ 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(1)
+Do not suppress C++ class debug information.
+
fexceptions
-Common Report Var(flag_exceptions)
+Common Report Var(flag_exceptions) Optimization
Enable exception handling
fexpensive-optimizations
-Common Report Var(flag_expensive_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)
+Common Report Var(flag_finite_math_only) Optimization
Assume no NaNs or infinities are generated
ffixed-
@@ -411,20 +473,18 @@ Common Joined RejectNegative
-ffixed- Mark as being unavailable to the compiler
ffloat-store
-Common Report Var(flag_float_store)
+Common Report Var(flag_float_store) Optimization
Don't allocate floats and doubles in extended-precision registers
; Nonzero for -fforce-addr: load memory address into a register before
; reference to memory. This makes better cse but slower compilation.
fforce-addr
-Common Report Var(flag_force_addr)
+Common Report Var(flag_force_addr) Optimization
Copy memory address constants into registers before use
-; Nonzero for -fforce-mem: load memory value into a register
-; before arithmetic on it. This makes better cse but slower compilation.
-fforce-mem
-Common Report Var(flag_force_mem)
-Copy memory operands into registers before use
+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
@@ -438,29 +498,29 @@ Common Report Var(flag_function_sections)
Place each function into its own section
fgcse
-Common Report Var(flag_gcse)
+Common Report Var(flag_gcse) Optimization
Perform global common subexpression elimination
fgcse-lm
-Common Report Var(flag_gcse_lm) Init(1)
+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)
+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)
+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)
+Common Report Var(flag_gcse_after_reload) Optimization
Perform global common subexpression elimination after register allocation
has finished
fguess-branch-probability
-Common Report Var(flag_guess_branch_prob)
+Common Report Var(flag_guess_branch_prob) Optimization
Enable guessing of branch probabilities
; Nonzero means ignore `#ident' directives. 0 means handle them.
@@ -472,11 +532,11 @@ Common Report Var(flag_no_ident,0)
Process #ident directives
fif-conversion
-Common Report Var(flag_if_conversion)
+Common Report Var(flag_if_conversion) Optimization
Perform conversion of conditional jumps to branchless equivalents
fif-conversion2
-Common Report Var(flag_if_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.
@@ -497,11 +557,11 @@ Common Report Var(flag_no_inline,0) Init(2)
Pay attention to the \"inline\" keyword
finline-functions
-Common Report Var(flag_inline_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)
+Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
Integrate functions called once into their callers
finline-limit-
@@ -516,27 +576,36 @@ Common Report Var(flag_instrument_function_entry_exit)
Instrument function entry and exit with profiling calls
fipa-cp
-Common Report Var(flag_ipa_cp)
+Common Report Var(flag_ipa_cp) Optimization
Perform Interprocedural constant propagation
fipa-pure-const
-Common Report Var(flag_ipa_pure_const) Init(0)
+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)
+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)
+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.
+
fivopts
-Common Report Var(flag_ivopts) Init(1)
+Common Report Var(flag_ivopts) Init(1) Optimization
Optimize induction variables on trees
fjump-tables
-Common Var(flag_jump_tables) Init(1)
+Common Var(flag_jump_tables) Init(1) Optimization
Use jump tables for sufficiently large switch statements
fkeep-inline-functions
@@ -552,8 +621,8 @@ Common Report Var(flag_leading_underscore) Init(-1)
Give external symbols a leading underscore
floop-optimize
-Common Report Var(flag_loop_optimize)
-Perform loop optimizations
+Common
+Does nothing. Preserved for backward compatibility.
fmath-errno
Common Report Var(flag_errno_math) Init(1)
@@ -567,11 +636,11 @@ Report on permanent memory allocation
; string constants and constants from constant pool, if 2 also constant
; variables.
fmerge-all-constants
-Common Report Var(flag_merge_constants,2) Init(1)
+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
+Common Report Var(flag_merge_constants,1) VarExists Optimization
Attempt to merge identical constants across compilation units
fmessage-length=
@@ -579,11 +648,11 @@ Common RejectNegative Joined UInteger
-fmessage-length= Limit diagnostics to characters per line. 0 suppresses line-wrapping
fmodulo-sched
-Common Report Var(flag_modulo_sched)
+Common Report Var(flag_modulo_sched) Optimization
Perform SMS based modulo scheduling before the first scheduling pass
fmove-loop-invariants
-Common Report Var(flag_move_loop_invariants) Init(1)
+Common Report Var(flag_move_loop_invariants) Init(1) Optimization
Move loop invariant computations out of loops
fmudflap
@@ -591,39 +660,55 @@ Common RejectNegative Report Var(flag_mudflap)
Add mudflap bounds-checking instrumentation for single-threaded program
fmudflapth
-Common RejectNegative Report Var(flag_mudflap_threads)
+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)
+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)
+Common Report Var(flag_non_call_exceptions) Optimization
Support synchronous non-call exceptions
fomit-frame-pointer
-Common Report Var(flag_omit_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)
+Common Report Var(flag_regmove) Optimization
Do the full register move optimization pass
foptimize-sibling-calls
-Common Report Var(flag_optimize_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)
+Common Report Var(flag_pack_struct) Optimization
Pack structure members together without holes
fpack-struct=
-Common RejectNegative Joined UInteger
+Common RejectNegative Joined UInteger Optimization
-fpack-struct= Set initial maximum structure member alignment
fpcc-struct-return
@@ -631,15 +716,15 @@ Common Report Var(flag_pcc_struct_return,1) VarExists
Return small aggregates in memory, not registers
fpeel-loops
-Common Report Var(flag_peel_loops)
+Common Report Var(flag_peel_loops) Optimization
Perform loop peeling
fpeephole
-Common Report Var(flag_no_peephole,0)
+Common Report Var(flag_no_peephole,0) Optimization
Enable machine specific peephole optimizations
fpeephole2
-Common Report Var(flag_peephole2)
+Common Report Var(flag_peephole2) Optimization
Enable an RTL peephole pass before sched2
fPIC
@@ -658,12 +743,12 @@ fpie
Common Report Var(flag_pie,1) VarExists
Generate position-independent code for executables if possible (small mode)
-fprefetch-loop-arrays
-Common Report Var(flag_prefetch_loop_arrays,1)
-Generate prefetch instructions, if available, for arrays in loops
+fpredictive-commoning
+Common Report Var(flag_predictive_commoning) Optimization
+Run predictive commoning optimization.
-fprefetch-loop-arrays-rtl
-Common Report Var(flag_prefetch_loop_arrays,2)
+fprefetch-loop-arrays
+Common Report Var(flag_prefetch_loop_arrays) Optimization
Generate prefetch instructions, if available, for arrays in loops
fprofile
@@ -693,56 +778,66 @@ frandom-seed=
Common Joined RejectNegative
-frandom-seed= Make compile reproducible using
+; 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
+Common Report Var(flag_pcc_struct_return,0) VarExists Optimization
Return small aggregates in registers
fregmove
-Common Report Var(flag_regmove)
+Common Report Var(flag_regmove) Optimization
Enables a register move optimization
frename-registers
-Common Report Var(flag_rename_registers) Init(2)
+Common Report Var(flag_rename_registers) Init(2) Optimization
Perform a register renaming optimization pass
freorder-blocks
-Common Report Var(flag_reorder_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)
+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)
+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)
+Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
Add a common subexpression elimination pass after loop optimizations
frerun-loop-opt
-Common Report Var(flag_rerun_loop_opt)
-Run the loop optimizer twice
+Common
+Does nothing. Preserved for backward compatibility.
frounding-math
-Common Report Var(flag_rounding_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)
+Common Report Var(flag_schedule_interblock) Init(1) Optimization
Enable scheduling across basic blocks
fsched-spec
-Common Report Var(flag_schedule_speculative) Init(1)
+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)
+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)
+Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
Allow speculative motion of more loads
fsched-verbose=
@@ -750,29 +845,29 @@ Common RejectNegative Joined
-fsched-verbose= Set the verbosity level of the scheduler
fsched2-use-superblocks
-Common Report Var(flag_sched2_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)
+Common Report Var(flag_sched2_use_traces) Optimization
If scheduling post reload, do trace scheduling
fschedule-insns
-Common Report Var(flag_schedule_insns)
+Common Report Var(flag_schedule_insns) Optimization
Reschedule instructions before register allocation
fschedule-insns2
-Common Report Var(flag_schedule_insns_after_reload)
+Common Report Var(flag_schedule_insns_after_reload) Optimization
Reschedule instructions after register allocation
; 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)
+Common Report Var(flag_sched_stalled_insns) Optimization
Allow premature scheduling of queued insns
fsched-stalled-insns=
-Common RejectNegative Joined UInteger
+Common RejectNegative Joined UInteger
-fsched-stalled-insns= Set number of queued insns that can be prematurely scheduled
; sched_stalled_insns_dep controls how many recently scheduled cycles will
@@ -780,7 +875,7 @@ 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)
+Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization
Set dependence distance checking in premature scheduling of queued insns
fsched-stalled-insns-dep=
@@ -788,35 +883,43 @@ Common RejectNegative Joined UInteger
-fsched-stalled-insns-dep= Set dependence distance checking in premature scheduling of queued insns
fsection-anchors
-Common Report Var(flag_section_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)
+Common Report Var(flag_rtl_seqabstr) Optimization
Perform sequence abstraction optimization on RTL
-fshared-data
-Common Report Var(flag_shared_data)
-Mark data as shared rather than private
+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(1)
Show column numbers in diagnostics, when available. Default on
fsignaling-nans
-Common Report Var(flag_signaling_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)
+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)
+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)
+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
@@ -845,17 +948,21 @@ Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
Use a stack protection method for every function
fstrength-reduce
-Common Report Var(flag_strength_reduce)
-Perform strength reduction optimizations
+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)
+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
@@ -865,7 +972,7 @@ Common Report Var(flag_test_coverage)
Create data files needed by \"gcov\"
fthread-jumps
-Common Report Var(flag_thread_jumps)
+Common Report Var(flag_thread_jumps) Optimization
Perform jump threading optimizations
ftime-report
@@ -877,7 +984,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)
+Common Report Var(flag_toplevel_reorder) Init(1) Optimization
Reorder top level functions, variables, and asms
ftracer
@@ -888,118 +995,118 @@ Perform superblock formation via tail duplication
; (user-visible) trap. This is the case, for example, in nonstop
; IEEE 754 arithmetic.
ftrapping-math
-Common Report Var(flag_trapping_math) Init(1)
+Common Report Var(flag_trapping_math) Init(1) Optimization
Assume floating-point operations can trap
ftrapv
-Common Report Var(flag_trapv)
+Common Report Var(flag_trapv) Optimization
Trap for signed overflow in addition, subtraction and multiplication
ftree-ccp
-Common Report Var(flag_tree_ccp)
+Common Report Var(flag_tree_ccp) Optimization
Enable SSA-CCP optimization on trees
ftree-store-ccp
-Common Report Var(flag_tree_store_ccp)
+Common Report Var(flag_tree_store_ccp) Optimization
Enable SSA-CCP optimization for stores and loads
ftree-ch
-Common Report Var(flag_tree_ch)
+Common Report Var(flag_tree_ch) Optimization
Enable loop header copying on trees
-ftree-combine-temps
-Common Report Var(flag_tree_combine_temps)
-Coalesce memory temporaries in the SSA->normal pass
-
ftree-copyrename
-Common Report Var(flag_tree_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)
+Common Report Var(flag_tree_copy_prop) Optimization
Enable copy propagation on trees
ftree-store-copy-prop
-Common Report Var(flag_tree_store_copy_prop)
+Common Report Var(flag_tree_store_copy_prop) Optimization
Enable copy propagation for stores and loads
ftree-dce
-Common Report Var(flag_tree_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)
+Common Report Var(flag_tree_dom) Optimization
Enable dominator optimizations
ftree-dse
-Common Report Var(flag_tree_dse)
+Common Report Var(flag_tree_dse) Optimization
Enable dead store elimination
ftree-fre
-Common Report Var(flag_tree_fre)
+Common Report Var(flag_tree_fre) Optimization
Enable Full Redundancy Elimination (FRE) on trees
ftree-loop-im
-Common Report Var(flag_tree_loop_im) Init(1)
+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)
+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)
+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)
+Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
Enable loop optimizations on tree level
ftree-pre
-Common Report Var(flag_tree_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 Report Var(flag_tree_salias)
+Common Report Var(flag_tree_salias) Optimization
Perform structural alias analysis
ftree-sink
-Common Report Var(flag_tree_sink)
+Common Report Var(flag_tree_sink) Optimization
Enable SSA code sinking on trees
ftree-sra
-Common Report Var(flag_tree_sra)
+Common Report Var(flag_tree_sra) Optimization
Perform scalar replacement of aggregates
ftree-ter
-Common Report Var(flag_tree_ter)
+Common Report Var(flag_tree_ter) Optimization
Replace temporary expressions in the SSA->normal pass
ftree-lrs
-Common Report Var(flag_tree_live_range_split)
+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)
+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)
+Common Report Var(flag_unit_at_a_time) Optimization
Compile whole compilation unit at a time
funroll-loops
-Common Report Var(flag_unroll_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)
+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)
+Common Report Var(flag_unsafe_loop_optimizations) Optimization
Allow loop optimizations to assume that the loops behave in normal way
; Nonzero means that unsafe floating-point math optimizations are allowed
@@ -1007,33 +1114,45 @@ Allow loop optimizations to assume that the loops behave in normal way
; 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)
+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)
+Common Report Var(flag_unswitch_loops) Optimization
Perform loop unswitching
funwind-tables
-Common Report Var(flag_unwind_tables)
+Common Report Var(flag_unwind_tables) Optimization
Just generate unwind tables for exception handling
fvar-tracking
-Common Report Var(flag_var_tracking) VarExists
+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)
+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)
+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= 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
@@ -1050,19 +1169,19 @@ Common Joined RejectNegative
fvpt
-Common Report Var(flag_value_profile_transformations)
+Common Report Var(flag_value_profile_transformations) Optimization
Use expression value profiles in optimizations
fweb
-Common Report Var(flag_web) Init(2)
+Common Report Var(flag_web) Init(2) Optimization
Construct webs and split unrelated uses of single variable
fwhole-program
-Common Report Var(flag_whole_program) Init(0)
+Common Report Var(flag_whole_program) Init(0) Optimization
Perform whole program optimizations
fwrapv
-Common Report Var(flag_wrapv)
+Common Report Var(flag_wrapv) Optimization
Assume signed arithmetic overflow wraps around
fzero-initialized-in-bss
@@ -1074,11 +1193,11 @@ Common JoinedOrMissing
Generate debug information in default format
gcoff
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gdwarf-2)
Generate debug information in COFF format
gdwarf-2
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gstabs)
Generate debug information in DWARF v2 format
ggdb
@@ -1086,23 +1205,23 @@ Common JoinedOrMissing
Generate debug information in default extended format
gstabs
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gstabs+)
Generate debug information in STABS format
gstabs+
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gvms)
Generate debug information in extended STABS format
gvms
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gxcoff)
Generate debug information in VMS format
gxcoff
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gxcoff+)
Generate debug information in XCOFF format
gxcoff+
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gcoff)
Generate debug information in extended XCOFF format
o