; Please try to keep this file in ASCII collating order.
+Variable
+int target_flags
+
+Variable
+int optimize
+
+Variable
+int optimize_size
+
+; 0 means straightforward implementation of complex divide acceptable.
+; 1 means wide ranges of inputs must work for complex divide.
+; 2 means C99-like requirements for complex multiply and divide.
+Variable
+int flag_complex_method = 1
+
+; Nonzero if subexpressions must be evaluated from left-to-right.
+Variable
+int flag_evaluation_order = 0
+
+; Set the default region and algorithm for the integrated register
+; allocator.
+
+Variable
+enum ira_algorithm flag_ira_algorithm = IRA_ALGORITHM_CB
+
+Variable
+enum ira_region flag_ira_region = IRA_REGION_MIXED
+
+; Language specific warning pass for unused results.
+Variable
+bool flag_warn_unused_result = false
+
+Variable
+int *param_values
+
+; Floating-point contraction mode, fast by default.
+Variable
+enum fp_contract_mode flag_fp_contract_mode = FP_CONTRACT_FAST
+
###
Driver
+-assemble
+Driver Alias(S)
+
+-compile
+Driver Alias(c)
+
+-coverage
+Driver Alias(coverage)
+
+-debug
+Common Alias(g)
+
+-dump
+Common Separate Alias(d)
+
+-dump=
+Common Joined Alias(d)
+
+-dumpbase
+Common Separate Alias(dumpbase)
+
+-dumpdir
+Common Separate Alias(dumpdir)
+
+-entry
+Driver Separate Alias(e)
+
+-entry=
+Driver Joined Alias(e)
+
+-extra-warnings
+Common Warning Alias(Wextra)
+
+-for-assembler
+Driver Separate Alias(Xassembler)
+
+-for-assembler=
+Driver JoinedOrMissing Alias(Xassembler)
+
+-for-linker
+Driver Separate Alias(Xlinker)
+
+-for-linker=
+Driver JoinedOrMissing Alias(Xlinker)
+
+-force-link
+Driver Separate Alias(u)
+
+-force-link=
+Driver Joined Alias(u)
+
-help
-Common Driver
+Common Driver Var(help_flag)
Display this information
-help=
Common Driver Report Joined
--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
+-language
+Driver Separate Alias(x)
+
+-language=
+Driver Joined Alias(x)
+
+-library-directory
+Driver Separate Alias(L)
+
+-library-directory=
+Driver Joined Alias(L)
+
+-no-canonical-prefixes
+Driver Alias(no-canonical-prefixes)
+
+-no-standard-libraries
+Driver Alias(nostdlib)
+
+-no-warnings
+Common Alias(w)
+
+-optimize
+Common Alias(O)
+
+-output
+Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
+
+-output=
+Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
+
+-pass-exit-codes
+Driver Alias(pass-exit-codes)
+
+-pedantic
+Common Alias(pedantic)
+
+-pedantic-errors
+Common Alias(pedantic-errors)
+
+-pie
+Common Alias(pie)
+
+-pipe
+Driver Alias(pipe)
+
+-prefix
+Driver Separate Alias(B)
+
+-prefix=
+Driver JoinedOrMissing Alias(B)
+
+-preprocess
+Driver Alias(E)
+
+-print-file-name
+Driver Separate Alias(print-file-name=)
+
+-print-file-name=
+Driver JoinedOrMissing Alias(print-file-name=)
+
+-print-libgcc-file-name
+Driver Alias(print-libgcc-file-name)
+
+-print-multi-directory
+Driver Alias(print-multi-directory)
+
+-print-multi-lib
+Driver Alias(print-multi-lib)
+
+-print-multi-os-directory
+Driver Alias(print-multi-os-directory)
+
+-print-prog-name
+Driver Separate Alias(print-prog-name=)
+
+-print-prog-name=
+Driver JoinedOrMissing Alias(print-prog-name=)
+
+-print-search-dirs
+Driver Alias(print-search-dirs)
+
+-print-sysroot
+Driver Alias(print-sysroot)
+
+-print-sysroot-headers-suffix
+Driver Alias(print-sysroot-headers-suffix)
+
+-profile
+Common Alias(p)
+
+-save-temps
+Driver Alias(save-temps)
+
+-shared
+Common Alias(shared)
+
+-specs
+Driver Separate Alias(specs=)
+
+-specs=
+Driver Joined Alias(specs=)
+
+-static
+Driver Alias(static)
+
+-symbolic
+Driver Alias(symbolic)
+
-target-help
Common Driver
Alias for --help=target
-;; 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).
+-time
+Driver Alias(time)
+
+-verbose
+Driver Alias(v)
+
+;; The driver used to convert options such as --help into forms such
+;; as -fhelp; the following four entries are for compatibility with
+;; any direct uses of those (undocumented) -f forms
fhelp
-Common Driver Var(help_flag)
+Common Driver Alias(-help)
fhelp=
-Common Driver Joined
+Common Driver Joined Alias(-help=)
ftarget-help
-Common Driver
+Common Driver Alias(-target-help)
fversion
-Common Driver
+Common Driver Alias(-version)
-param
Common Separate
--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
+-param=
+Common Joined Alias(-param)
+
+-sysroot
+Driver Separate Alias(-sysroot=)
+
-sysroot=
Driver JoinedOrMissing
Common Optimization
Optimize for speed disregarding exact standards compliance
+R
+Driver Joined Separate
+
S
Driver
+T
+Driver Joined Separate
+
+Tbss
+Driver Separate
+
+Tdata
+Driver Separate
+
+Ttext
+Driver Separate
+
W
-Common RejectNegative Var(extra_warnings) Warning
+Common RejectNegative Warning Alias(Wextra)
This switch is deprecated; use -Wextra instead
Wa,
Warn when an inlined function cannot be inlined
Wlarger-than-
-Common RejectNegative Joined UInteger Warning Undocumented
+Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
Wlarger-than=
Common RejectNegative Joined UInteger Warning
Warn about uninitialized automatic variables
Wunreachable-code
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
Wunused
-aux-info <file> Emit declaration information into <file>
aux-info=
-Common Joined
+Common Joined Alias(aux-info)
auxbase
Common Separate RejectDriver
auxbase-strip
Common Separate RejectDriver
-combine
-Driver Var(combine_flag)
+coverage
+Driver
c
Driver
dumpversion
Driver
+e
+Driver Joined Separate
+
; 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
Common RejectNegative Joined UInteger
falign-loops
-Common Report Var(align_loops) Optimization UInteger
+Common Report Var(align_loops,0) Optimization UInteger
Align the start of loops
falign-loops=
Common RejectNegative Joined UInteger
fargument-alias
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fargument-noalias
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fargument-noalias-global
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fargument-noalias-anything
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fasynchronous-unwind-tables
Common Report Var(flag_check_data_deps)
Compare the results of several data dependence analyzers.
+fcombine-stack-adjustments
+Common Report Var(flag_combine_stack_adjustments) Optimization
+Looks for opportunities to reduce stack adjustments and stack references.
+
fcommon
Common Report Var(flag_no_common,0) Optimization
Do not put uninitialized globals in the common section
-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
fcompare-debug-second
-Common Driver RejectNegative Var(flag_compare_debug)
+Common Driver RejectNegative
Run only the second compilation of -fcompare-debug
fconserve-stack
When running CSE, follow jumps to their targets
fcse-skip-blocks
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fcx-limited-range
Common Joined RejectNegative
-fdump-<type> Dump various compiler internals to a file
+fdump-final-insns
+Driver RejectNegative
+
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
Suppress output of addresses in debugging dumps
fdump-unnumbered
-Common Report Var(flag_dump_unnumbered) VarExists
+Common Report Var(flag_dump_unnumbered)
Suppress output of instruction numbers, line number notes and addresses in debugging dumps
fdump-unnumbered-links
-Common Report Var(flag_dump_unnumbered_links) VarExists
+Common Report Var(flag_dump_unnumbered_links)
Suppress output of previous and next insn numbers in debugging dumps
fdwarf2-cfi-asm
Don't allocate floats and doubles in extended-precision registers
fforce-addr
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fforward-propagate
Common Report Var(flag_forward_propagate) Optimization
Perform a forward propagation pass on RTL
+ffp-contract=
+Common Joined RejectNegative
+-ffp-contract=[off|on|fast] Perform floating-point expression contraction.
+
; 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.
Common Report Var(flag_loop_block) Optimization
Enable Loop Blocking transformation
+floop-flatten
+Common Report Var(flag_loop_flatten) Optimization
+Enable Loop Flattening transformation
+
fstrict-volatile-bitfields
Common Report Var(flag_strict_volatile_bitfields) Init(-1)
Force bitfield accesses to match their type width
Integrate functions called once into their callers
finline-limit-
-Common RejectNegative Joined UInteger
+Common RejectNegative Joined Alias(finline-limit=)
finline-limit=
Common RejectNegative Joined UInteger
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
Give external symbols a leading underscore
floop-optimize
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
flto
Common Var(flag_lto)
Enable link-time optimization.
+flto-partition=1to1
+Common Var(flag_lto_partition_1to1)
+Partition functions and vars at linktime based on object files they originate from
+
+flto-partition=balanced
+Common Var(flag_lto_partition_balanced)
+Partition functions and vars at linktime into approximately same sized buckets
+
; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
flto-compression-level=
Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
Attempt to merge identical constants and constant variables
fmerge-constants
-Common Report Var(flag_merge_constants,1) VarExists Optimization
+Common Report Var(flag_merge_constants,1) Optimization
Attempt to merge identical constants across compilation units
fmerge-debug-strings
Add mudflap bounds-checking instrumentation for single-threaded program
fmudflapth
-Common RejectNegative Report VarExists Var(flag_mudflap,2)
+Common RejectNegative Report Var(flag_mudflap,2)
Add mudflap bounds-checking instrumentation for multi-threaded program
fmudflapir
Generate position-independent code for executables if possible (large mode)
fpic
-Common Report Var(flag_pic,1) VarExists
+Common Report Var(flag_pic,1)
Generate position-independent code if possible (small mode)
fpie
-Common Report Var(flag_pie,1) VarExists
+Common Report Var(flag_pie,1)
Generate position-independent code for executables if possible (small mode)
fplugin=
Record gcc command line switches in the object file.
freg-struct-return
-Common Report Var(flag_pcc_struct_return,0) VarExists Optimization
+Common Report Var(flag_pcc_struct_return,0) Optimization
Return small aggregates in registers
fregmove
Reorder functions to improve code placement
frerun-cse-after-loop
-Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
+Common Report Var(flag_rerun_cse_after_loop) Optimization
Add a common subexpression elimination pass after loop optimizations
frerun-loop-opt
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
frounding-math
If scheduling post reload, do superblock scheduling
fsched2-use-traces
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fschedule-insns
Access data in the same section from shared anchor points
fsee
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
fzee
Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
Split lifetimes of induction variables when loops are unrolled
+fsplit-stack
+Common Report Var(flag_split_stack) Init(-1)
+Generate discontiguous stack frames
+
fsplit-wide-types
Common Report Var(flag_split_wide_types) Optimization
Split wide types into independent registers
-fstack-check=[no|generic|specific] Insert stack checking code into the program
fstack-check
-Common Report
+Common Alias(fstack-check=, specific, no)
Insert stack checking code into the program. Same as -fstack-check=specific
fstack-limit
Use propolice as a stack protection method
fstack-protector-all
-Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
+Common Report RejectNegative Var(flag_stack_protect, 2)
Use a stack protection method for every function
fstack-usage
Output stack usage information on a per-function basis
fstrength-reduce
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
; Nonzero if we should do (language-dependent) alias analysis.
Enable SSA-BIT-CCP optimization on trees
ftree-store-ccp
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
ftree-ch
Enable copy propagation on trees
ftree-store-copy-prop
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
ftree-cselim
Enable reassociation on tree level
ftree-salias
-Common
+Common Ignore
Does nothing. Preserved for backward compatibility.
ftree-sink
Perform scalar replacement of aggregates
ftree-ter
-Common Report Var(flag_tree_ter) Init(1) Optimization
+Common Report Var(flag_tree_ter) Optimization
Replace temporary expressions in the SSA->normal pass
ftree-lrs
fuse-linker-plugin
Common Undocumented
+; Positive if we should track variables, negative if we should run
+; the var-tracking pass only to discard debug annotations, zero if
+; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
+; will be set according to optimize, debug_info_level and debug_hooks
+; in process_options ().
fvar-tracking
-Common Report Var(flag_var_tracking) VarExists Optimization
+Common Report Var(flag_var_tracking) Init(2) Optimization
Perform variable tracking
+; Positive if we should track variables at assignments, negative if
+; we should run the var-tracking pass only to discard debug
+; annotations. When flag_var_tracking_assignments ==
+; AUTODETECT_VALUE it will be set according to flag_var_tracking.
fvar-tracking-assignments
-Common Report Var(flag_var_tracking_assignments) VarExists Optimization
+Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
Perform variable tracking by annotating assignments
+; Nonzero if we should toggle flag_var_tracking_assignments after
+; processing options and computing its default. */
fvar-tracking-assignments-toggle
-Common Report Var(flag_var_tracking_assignments_toggle) VarExists Optimization
+Common Report Var(flag_var_tracking_assignments_toggle) Optimization
Toggle -fvar-tracking-assignments
fvar-tracking-uninit
Emit DWARF additions beyond selected version
gstrict-dwarf
-Common Report RejectNegative Var(dwarf_strict,1) VarExists
+Common Report RejectNegative Var(dwarf_strict,1)
Don't emit DWARF additions beyond selected version
gtoggle
Common JoinedOrMissing Negative(gcoff)
Generate debug information in extended XCOFF format
+h
+Driver Joined Separate
+
iplugindir=
Common Joined Var(plugindir_string) Init(0)
-iplugindir=<dir> Set <dir> to be the default plugin directory
time=
Driver JoinedOrMissing
+u
+Driver Joined Separate
+
+undef
+Driver
+; C option, but driver must not handle as "-u ndef".
+
v
Driver
Driver
specs
-Driver Separate
+Driver Separate Alias(specs=)
specs=
Driver Joined
static-libstdc++
Driver
+symbolic
+Driver
+
pie
Common RejectNegative Negative(shared)
Create a position independent executable
+z
+Driver Joined Separate
+
; This comment is to ensure we retain the blank line above.