xref: /dflybsd-src/contrib/gcc-4.7/gcc/common.opt (revision 81fc95a5293ee307c688a350a3feb4734aaddbb4)
1e4b17023SJohn Marino; Options for the language- and target-independent parts of the compiler.
2e4b17023SJohn Marino
3e4b17023SJohn Marino; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4e4b17023SJohn Marino; Free Software Foundation, Inc.
5e4b17023SJohn Marino;
6e4b17023SJohn Marino; This file is part of GCC.
7e4b17023SJohn Marino;
8e4b17023SJohn Marino; GCC is free software; you can redistribute it and/or modify it under
9e4b17023SJohn Marino; the terms of the GNU General Public License as published by the Free
10e4b17023SJohn Marino; Software Foundation; either version 3, or (at your option) any later
11e4b17023SJohn Marino; version.
12e4b17023SJohn Marino;
13e4b17023SJohn Marino; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14e4b17023SJohn Marino; WARRANTY; without even the implied warranty of MERCHANTABILITY or
15e4b17023SJohn Marino; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16e4b17023SJohn Marino; for more details.
17e4b17023SJohn Marino;
18e4b17023SJohn Marino; You should have received a copy of the GNU General Public License
19e4b17023SJohn Marino; along with GCC; see the file COPYING3.  If not see
20e4b17023SJohn Marino; <http://www.gnu.org/licenses/>.
21e4b17023SJohn Marino
22e4b17023SJohn Marino; See the GCC internals manual (options.texi) for a description of this file's format.
23e4b17023SJohn Marino
24e4b17023SJohn Marino; Please try to keep this file in ASCII collating order.
25e4b17023SJohn Marino
26e4b17023SJohn MarinoVariable
27e4b17023SJohn Marinoint target_flags
28e4b17023SJohn Marino
29e4b17023SJohn MarinoVariable
30e4b17023SJohn Marinoint optimize
31e4b17023SJohn Marino
32e4b17023SJohn MarinoVariable
33e4b17023SJohn Marinoint optimize_size
34e4b17023SJohn Marino
35e4b17023SJohn Marino; Not used directly to control optimizations, only to save -Ofast
36e4b17023SJohn Marino; setting for "optimize" attributes.
37e4b17023SJohn MarinoVariable
38e4b17023SJohn Marinoint optimize_fast
39e4b17023SJohn Marino
40e4b17023SJohn Marino; True if this is the lto front end.  This is used to disable gimple
41e4b17023SJohn Marino; generation and lowering passes that are normally run on the output
42e4b17023SJohn Marino; of a front end.  These passes must be bypassed for lto since they
43e4b17023SJohn Marino; have already been done before the gimple was written.
44e4b17023SJohn MarinoVariable
45e4b17023SJohn Marinobool in_lto_p = false
46e4b17023SJohn Marino
47e4b17023SJohn Marino; 0 means straightforward implementation of complex divide acceptable.
48e4b17023SJohn Marino; 1 means wide ranges of inputs must work for complex divide.
49e4b17023SJohn Marino; 2 means C99-like requirements for complex multiply and divide.
50e4b17023SJohn MarinoVariable
51e4b17023SJohn Marinoint flag_complex_method = 1
52e4b17023SJohn Marino
53e4b17023SJohn Marino; Nonzero if subexpressions must be evaluated from left-to-right.
54e4b17023SJohn MarinoVariable
55e4b17023SJohn Marinoint flag_evaluation_order = 0
56e4b17023SJohn Marino
57e4b17023SJohn Marino; Language specific warning pass for unused results.
58e4b17023SJohn MarinoVariable
59e4b17023SJohn Marinobool flag_warn_unused_result = false
60e4b17023SJohn Marino
61e4b17023SJohn MarinoVariable
62e4b17023SJohn Marinoint *param_values
63e4b17023SJohn Marino
64e4b17023SJohn Marino; Nonzero if we should write GIMPLE bytecode for link-time optimization.
65e4b17023SJohn MarinoVariable
66e4b17023SJohn Marinoint flag_generate_lto
67e4b17023SJohn Marino
68e4b17023SJohn Marino; True to warn about any objects definitions whose size is larger
69e4b17023SJohn Marino; than N bytes.  Also want about function definitions whose returned
70e4b17023SJohn Marino; values are larger than N bytes, where N is 'larger_than_size'.
71e4b17023SJohn MarinoVariable
72e4b17023SJohn Marinobool warn_larger_than
73e4b17023SJohn Marino
74e4b17023SJohn MarinoVariable
75e4b17023SJohn MarinoHOST_WIDE_INT larger_than_size
76e4b17023SJohn Marino
77e4b17023SJohn Marino; True to warn about any function whose frame size is larger
78e4b17023SJohn Marino; than N bytes.
79e4b17023SJohn MarinoVariable
80e4b17023SJohn Marinobool warn_frame_larger_than
81e4b17023SJohn Marino
82e4b17023SJohn MarinoVariable
83e4b17023SJohn MarinoHOST_WIDE_INT frame_larger_than_size
84e4b17023SJohn Marino
85e4b17023SJohn Marino; Nonzero means we should be saving declaration info into a .X file.
86e4b17023SJohn MarinoVariable
87e4b17023SJohn Marinoint flag_gen_aux_info = 0
88e4b17023SJohn Marino
89e4b17023SJohn Marino; Nonzero if we are compiling code for a shared library, zero for
90e4b17023SJohn Marino; executable.
91e4b17023SJohn MarinoVariable
92e4b17023SJohn Marinoint flag_shlib
93e4b17023SJohn Marino
94e4b17023SJohn Marino; These two are really VEC(char_p,heap) *.
95e4b17023SJohn Marino
96e4b17023SJohn MarinoVariable
97e4b17023SJohn Marinovoid *flag_instrument_functions_exclude_functions
98e4b17023SJohn Marino
99e4b17023SJohn MarinoVariable
100e4b17023SJohn Marinovoid *flag_instrument_functions_exclude_files
101e4b17023SJohn Marino
102e4b17023SJohn Marino; Generic structs (e.g. templates not explicitly specialized)
103e4b17023SJohn Marino; may not have a compilation unit associated with them, and so
104e4b17023SJohn Marino; may need to be treated differently from ordinary structs.
105e4b17023SJohn Marino;
106e4b17023SJohn Marino; Structs only handled by reference (indirectly), will also usually
107e4b17023SJohn Marino; not need as much debugging information.
108e4b17023SJohn Marino
109e4b17023SJohn MarinoVariable
110e4b17023SJohn Marinoenum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
111e4b17023SJohn Marino
112e4b17023SJohn MarinoVariable
113e4b17023SJohn Marinoenum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
114e4b17023SJohn Marino
115e4b17023SJohn Marino; True if we should exit after parsing options.
116e4b17023SJohn MarinoVariable
117e4b17023SJohn Marinobool exit_after_options
118e4b17023SJohn Marino
119e4b17023SJohn Marino; Type(s) of debugging information we are producing (if any).  See
120e4b17023SJohn Marino; flag-types.h for the definitions of the different possible types of
121e4b17023SJohn Marino; debugging information.
122e4b17023SJohn MarinoVariable
123e4b17023SJohn Marinoenum debug_info_type write_symbols = NO_DEBUG
124e4b17023SJohn Marino
125e4b17023SJohn Marino; Level of debugging information we are producing.  See flag-types.h
126e4b17023SJohn Marino; for the definitions of the different possible levels.
127e4b17023SJohn MarinoVariable
128e4b17023SJohn Marinoenum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
129e4b17023SJohn Marino
130e4b17023SJohn Marino; Nonzero means use GNU-only extensions in the generated symbolic
131e4b17023SJohn Marino; debugging information.  Currently, this only has an effect when
132e4b17023SJohn Marino; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.
133e4b17023SJohn MarinoVariable
134e4b17023SJohn Marinobool use_gnu_debug_info_extensions
135e4b17023SJohn Marino
136e4b17023SJohn Marino; Original value of maximum field alignment in bytes, specified via
137e4b17023SJohn Marino; -fpack-struct=<value>.
138e4b17023SJohn MarinoVariable
139e4b17023SJohn Marinounsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
140e4b17023SJohn Marino
141e4b17023SJohn MarinoVariable
142e4b17023SJohn Marinoenum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL
143e4b17023SJohn Marino
144e4b17023SJohn Marino; Type of stack check.
145e4b17023SJohn MarinoVariable
146e4b17023SJohn Marinoenum stack_check_type flag_stack_check = NO_STACK_CHECK
147e4b17023SJohn Marino
148e4b17023SJohn Marino; True if stack usage information needs to be computed.
149e4b17023SJohn MarinoVariable
150e4b17023SJohn Marinobool flag_stack_usage_info = false
151e4b17023SJohn Marino
152e4b17023SJohn Marino; -dA causes debug commentary information to be produced in
153e4b17023SJohn Marino; the generated assembly code (to make it more readable).  This option
154e4b17023SJohn Marino; is generally only of use to those who actually need to read the
155e4b17023SJohn Marino; generated assembly code (perhaps while debugging the compiler itself).
156e4b17023SJohn Marino; Currently, this switch is only used by dwarf2out.c; however, it is intended
157e4b17023SJohn Marino; to be a catchall for printing debug information in the assembler file.
158e4b17023SJohn MarinoVariable
159e4b17023SJohn Marinoint flag_debug_asm
160e4b17023SJohn Marino
161e4b17023SJohn Marino; -dP causes the rtl to be emitted as a comment in assembly.
162e4b17023SJohn MarinoVariable
163e4b17023SJohn Marinoint flag_dump_rtl_in_asm
164e4b17023SJohn Marino
165e4b17023SJohn Marino; Whether -da was passed (used only in handle_common_deferred_options).
166e4b17023SJohn MarinoVariable
167e4b17023SJohn Marinobool flag_dump_all_passed
168e4b17023SJohn Marino
169e4b17023SJohn Marino; Other flags saying which kinds of debugging dump have been requested.
170e4b17023SJohn Marino
171e4b17023SJohn MarinoVariable
172e4b17023SJohn Marinoint rtl_dump_and_exit
173e4b17023SJohn Marino
174e4b17023SJohn MarinoVariable
175e4b17023SJohn Marinoint flag_print_asm_name
176e4b17023SJohn Marino
177e4b17023SJohn MarinoVariable
178e4b17023SJohn Marinoenum graph_dump_types graph_dump_format = no_graph
179e4b17023SJohn Marino
180e4b17023SJohn Marino; Name of top-level original source file (what was input to cpp).
181e4b17023SJohn Marino; This comes from the #-command at the beginning of the actual input.
182e4b17023SJohn Marino; If there isn't any there, then this is the cc1 input file name.
183e4b17023SJohn MarinoVariable
184e4b17023SJohn Marinoconst char *main_input_filename
185e4b17023SJohn Marino
186e4b17023SJohn Marino; Pointer to base name in main_input_filename, with directories and a
187e4b17023SJohn Marino; single final extension removed, and the length of this base
188e4b17023SJohn Marino; name.
189e4b17023SJohn Marino
190e4b17023SJohn MarinoVariable
191e4b17023SJohn Marinoconst char *main_input_basename
192e4b17023SJohn Marino
193e4b17023SJohn MarinoVariable
194e4b17023SJohn Marinoint main_input_baselength
195e4b17023SJohn Marino
196e4b17023SJohn Marino; Which options have been printed by --help.
197e4b17023SJohn MarinoVariable
198e4b17023SJohn Marinochar *help_printed
199e4b17023SJohn Marino
200e4b17023SJohn Marino; Which enums have been printed by --help.  0 = not printed, no
201e4b17023SJohn Marino; relevant options seen, 1 = relevant option seen, not yet printed, 2
202e4b17023SJohn Marino; = printed.
203e4b17023SJohn MarinoVariable
204e4b17023SJohn Marinochar *help_enum_printed
205e4b17023SJohn Marino
206e4b17023SJohn Marino; The number of columns for --help output.
207e4b17023SJohn MarinoVariable
208e4b17023SJohn Marinounsigned int help_columns
209e4b17023SJohn Marino
210e4b17023SJohn Marino; Whether this options structure has been through finish_options
211e4b17023SJohn MarinoVariable
212e4b17023SJohn Marinobool flag_opts_finished
213e4b17023SJohn Marino
214e4b17023SJohn Marino###
215e4b17023SJohn MarinoDriver
216e4b17023SJohn Marino
217e4b17023SJohn Marino-assemble
218e4b17023SJohn MarinoDriver Alias(S)
219e4b17023SJohn Marino
220e4b17023SJohn Marino-compile
221e4b17023SJohn MarinoDriver Alias(c)
222e4b17023SJohn Marino
223e4b17023SJohn Marino-coverage
224e4b17023SJohn MarinoDriver Alias(coverage)
225e4b17023SJohn Marino
226e4b17023SJohn Marino-debug
227e4b17023SJohn MarinoCommon Alias(g)
228e4b17023SJohn Marino
229e4b17023SJohn Marino-dump
230e4b17023SJohn MarinoCommon Separate Alias(d)
231e4b17023SJohn Marino
232e4b17023SJohn Marino-dump=
233e4b17023SJohn MarinoCommon Joined Alias(d)
234e4b17023SJohn Marino
235e4b17023SJohn Marino-dumpbase
236e4b17023SJohn MarinoCommon Separate Alias(dumpbase)
237e4b17023SJohn Marino
238e4b17023SJohn Marino-dumpdir
239e4b17023SJohn MarinoCommon Separate Alias(dumpdir)
240e4b17023SJohn Marino
241e4b17023SJohn Marino-entry
242e4b17023SJohn MarinoDriver Separate Alias(e)
243e4b17023SJohn Marino
244e4b17023SJohn Marino-entry=
245e4b17023SJohn MarinoDriver Joined Alias(e)
246e4b17023SJohn Marino
247e4b17023SJohn Marino-extra-warnings
248e4b17023SJohn MarinoCommon Warning Alias(Wextra)
249e4b17023SJohn Marino
250e4b17023SJohn Marino-for-assembler
251e4b17023SJohn MarinoDriver Separate Alias(Xassembler)
252e4b17023SJohn Marino
253e4b17023SJohn Marino-for-assembler=
254e4b17023SJohn MarinoDriver JoinedOrMissing Alias(Xassembler)
255e4b17023SJohn Marino
256e4b17023SJohn Marino-for-linker
257e4b17023SJohn MarinoDriver Separate Alias(Xlinker)
258e4b17023SJohn Marino
259e4b17023SJohn Marino-for-linker=
260e4b17023SJohn MarinoDriver JoinedOrMissing Alias(Xlinker)
261e4b17023SJohn Marino
262e4b17023SJohn Marino-force-link
263e4b17023SJohn MarinoDriver Separate Alias(u)
264e4b17023SJohn Marino
265e4b17023SJohn Marino-force-link=
266e4b17023SJohn MarinoDriver Joined Alias(u)
267e4b17023SJohn Marino
268e4b17023SJohn Marino-help
269e4b17023SJohn MarinoCommon Driver Var(help_flag)
270e4b17023SJohn MarinoDisplay this information
271e4b17023SJohn Marino
272e4b17023SJohn Marino-help=
273e4b17023SJohn MarinoCommon Driver Report Joined
274e4b17023SJohn Marino--help=<class>	Display descriptions of a specific class of options.  <class> is one or more of optimizers, target, warnings, undocumented, params
275e4b17023SJohn Marino
276e4b17023SJohn Marino-language
277e4b17023SJohn MarinoDriver Separate Alias(x)
278e4b17023SJohn Marino
279e4b17023SJohn Marino-language=
280e4b17023SJohn MarinoDriver Joined Alias(x)
281e4b17023SJohn Marino
282e4b17023SJohn Marino-library-directory
283e4b17023SJohn MarinoDriver Separate Alias(L)
284e4b17023SJohn Marino
285e4b17023SJohn Marino-library-directory=
286e4b17023SJohn MarinoDriver Joined Alias(L)
287e4b17023SJohn Marino
288e4b17023SJohn Marino-no-canonical-prefixes
289e4b17023SJohn MarinoDriver Alias(no-canonical-prefixes)
290e4b17023SJohn Marino
291e4b17023SJohn Marino-no-standard-libraries
292e4b17023SJohn MarinoDriver Alias(nostdlib)
293e4b17023SJohn Marino
294e4b17023SJohn Marino-no-warnings
295e4b17023SJohn MarinoCommon Alias(w)
296e4b17023SJohn Marino
297e4b17023SJohn Marino-optimize
298e4b17023SJohn MarinoCommon Alias(O)
299e4b17023SJohn Marino
300e4b17023SJohn Marino-output
301e4b17023SJohn MarinoCommon Driver Separate Alias(o) MissingArgError(missing filename after %qs)
302e4b17023SJohn Marino
303e4b17023SJohn Marino-output=
304e4b17023SJohn MarinoCommon Driver Joined Alias(o) MissingArgError(missing filename after %qs)
305e4b17023SJohn Marino
306e4b17023SJohn Marino-pass-exit-codes
307e4b17023SJohn MarinoDriver Alias(pass-exit-codes)
308e4b17023SJohn Marino
309e4b17023SJohn Marino-pedantic
310e4b17023SJohn MarinoCommon Alias(pedantic)
311e4b17023SJohn Marino
312e4b17023SJohn Marino-pedantic-errors
313e4b17023SJohn MarinoCommon Alias(pedantic-errors)
314e4b17023SJohn Marino
315e4b17023SJohn Marino-pie
316e4b17023SJohn MarinoDriver Alias(pie)
317e4b17023SJohn Marino
318e4b17023SJohn Marino-pipe
319e4b17023SJohn MarinoDriver Alias(pipe)
320e4b17023SJohn Marino
321e4b17023SJohn Marino-prefix
322e4b17023SJohn MarinoDriver Separate Alias(B)
323e4b17023SJohn Marino
324e4b17023SJohn Marino-prefix=
325e4b17023SJohn MarinoDriver JoinedOrMissing Alias(B)
326e4b17023SJohn Marino
327e4b17023SJohn Marino-preprocess
328e4b17023SJohn MarinoDriver Alias(E)
329e4b17023SJohn Marino
330e4b17023SJohn Marino-print-file-name
331e4b17023SJohn MarinoDriver Separate Alias(print-file-name=)
332e4b17023SJohn Marino
333e4b17023SJohn Marino-print-file-name=
334e4b17023SJohn MarinoDriver JoinedOrMissing Alias(print-file-name=)
335e4b17023SJohn Marino
336e4b17023SJohn Marino-print-libgcc-file-name
337e4b17023SJohn MarinoDriver Alias(print-libgcc-file-name)
338e4b17023SJohn Marino
339e4b17023SJohn Marino-print-multi-directory
340e4b17023SJohn MarinoDriver Alias(print-multi-directory)
341e4b17023SJohn Marino
342e4b17023SJohn Marino-print-multi-lib
343e4b17023SJohn MarinoDriver Alias(print-multi-lib)
344e4b17023SJohn Marino
345e4b17023SJohn Marino-print-multi-os-directory
346e4b17023SJohn MarinoDriver Alias(print-multi-os-directory)
347e4b17023SJohn Marino
348*5ce9237cSJohn Marino-print-multiarch
349*5ce9237cSJohn MarinoDriver Alias(print-multiarch)
350*5ce9237cSJohn Marino
351e4b17023SJohn Marino-print-prog-name
352e4b17023SJohn MarinoDriver Separate Alias(print-prog-name=)
353e4b17023SJohn Marino
354e4b17023SJohn Marino-print-prog-name=
355e4b17023SJohn MarinoDriver JoinedOrMissing Alias(print-prog-name=)
356e4b17023SJohn Marino
357e4b17023SJohn Marino-print-search-dirs
358e4b17023SJohn MarinoDriver Alias(print-search-dirs)
359e4b17023SJohn Marino
360e4b17023SJohn Marino-print-sysroot
361e4b17023SJohn MarinoDriver Alias(print-sysroot)
362e4b17023SJohn Marino
363e4b17023SJohn Marino-print-sysroot-headers-suffix
364e4b17023SJohn MarinoDriver Alias(print-sysroot-headers-suffix)
365e4b17023SJohn Marino
366e4b17023SJohn Marino-profile
367e4b17023SJohn MarinoCommon Alias(p)
368e4b17023SJohn Marino
369e4b17023SJohn Marino-save-temps
370e4b17023SJohn MarinoDriver Alias(save-temps)
371e4b17023SJohn Marino
372e4b17023SJohn Marino-shared
373e4b17023SJohn MarinoDriver Alias(shared)
374e4b17023SJohn Marino
375e4b17023SJohn Marino-specs
376e4b17023SJohn MarinoDriver Separate Alias(specs=)
377e4b17023SJohn Marino
378e4b17023SJohn Marino-specs=
379e4b17023SJohn MarinoDriver Joined Alias(specs=)
380e4b17023SJohn Marino
381e4b17023SJohn Marino-static
382e4b17023SJohn MarinoDriver Alias(static)
383e4b17023SJohn Marino
384e4b17023SJohn Marino-symbolic
385e4b17023SJohn MarinoDriver Alias(symbolic)
386e4b17023SJohn Marino
387e4b17023SJohn Marino-target-help
388e4b17023SJohn MarinoCommon Driver
389e4b17023SJohn MarinoAlias for --help=target
390e4b17023SJohn Marino
391e4b17023SJohn Marino-time
392e4b17023SJohn MarinoDriver Alias(time)
393e4b17023SJohn Marino
394e4b17023SJohn Marino-verbose
395e4b17023SJohn MarinoDriver Alias(v)
396e4b17023SJohn Marino
397e4b17023SJohn Marino;; The driver used to convert options such as --help into forms such
398e4b17023SJohn Marino;; as -fhelp; the following four entries are for compatibility with
399e4b17023SJohn Marino;; any direct uses of those (undocumented) -f forms
400e4b17023SJohn Marinofhelp
401e4b17023SJohn MarinoCommon Driver Alias(-help)
402e4b17023SJohn Marino
403e4b17023SJohn Marinofhelp=
404e4b17023SJohn MarinoCommon Driver Joined Alias(-help=)
405e4b17023SJohn Marino
406e4b17023SJohn Marinoftarget-help
407e4b17023SJohn MarinoCommon Driver Alias(-target-help)
408e4b17023SJohn Marino
409e4b17023SJohn Marinofversion
410e4b17023SJohn MarinoCommon Driver Alias(-version)
411e4b17023SJohn Marino
412e4b17023SJohn Marino-param
413e4b17023SJohn MarinoCommon Separate
414e4b17023SJohn Marino--param <param>=<value>	Set parameter <param> to value.  See below for a complete list of parameters
415e4b17023SJohn Marino
416e4b17023SJohn Marino-param=
417e4b17023SJohn MarinoCommon Joined Alias(-param)
418e4b17023SJohn Marino
419e4b17023SJohn Marino-sysroot
420e4b17023SJohn MarinoDriver Separate Alias(-sysroot=)
421e4b17023SJohn Marino
422e4b17023SJohn Marino-sysroot=
423e4b17023SJohn MarinoDriver JoinedOrMissing
424e4b17023SJohn Marino
425e4b17023SJohn Marino-version
426e4b17023SJohn MarinoCommon Driver
427e4b17023SJohn Marino
428e4b17023SJohn MarinoB
429e4b17023SJohn MarinoDriver Joined Separate
430e4b17023SJohn Marino
431e4b17023SJohn MarinoE
432e4b17023SJohn MarinoDriver
433e4b17023SJohn Marino
434e4b17023SJohn MarinoL
435e4b17023SJohn MarinoDriver Joined Separate
436e4b17023SJohn Marino
437e4b17023SJohn MarinoN
438e4b17023SJohn MarinoDriver
439e4b17023SJohn Marino
440e4b17023SJohn MarinoO
441e4b17023SJohn MarinoCommon JoinedOrMissing Optimization
442e4b17023SJohn Marino-O<number>	Set optimization level to <number>
443e4b17023SJohn Marino
444e4b17023SJohn MarinoOs
445e4b17023SJohn MarinoCommon Optimization
446e4b17023SJohn MarinoOptimize for space rather than speed
447e4b17023SJohn Marino
448e4b17023SJohn MarinoOfast
449e4b17023SJohn MarinoCommon Optimization
450e4b17023SJohn MarinoOptimize for speed disregarding exact standards compliance
451e4b17023SJohn Marino
452e4b17023SJohn MarinoQ
453e4b17023SJohn MarinoDriver
454e4b17023SJohn Marino
455e4b17023SJohn MarinoQn
456e4b17023SJohn MarinoDriver Negative(Qy)
457e4b17023SJohn Marino
458e4b17023SJohn MarinoQy
459e4b17023SJohn MarinoDriver Negative(Qn)
460e4b17023SJohn Marino
461e4b17023SJohn MarinoR
462e4b17023SJohn MarinoDriver Joined Separate
463e4b17023SJohn Marino
464e4b17023SJohn MarinoS
465e4b17023SJohn MarinoDriver
466e4b17023SJohn Marino
467e4b17023SJohn MarinoT
468e4b17023SJohn MarinoDriver Joined Separate
469e4b17023SJohn Marino
470e4b17023SJohn MarinoTbss
471e4b17023SJohn MarinoDriver Separate
472e4b17023SJohn Marino
473e4b17023SJohn MarinoTbss=
474e4b17023SJohn MarinoDriver Joined
475e4b17023SJohn Marino
476e4b17023SJohn MarinoTdata
477e4b17023SJohn MarinoDriver Separate
478e4b17023SJohn Marino
479e4b17023SJohn MarinoTdata=
480e4b17023SJohn MarinoDriver Joined
481e4b17023SJohn Marino
482e4b17023SJohn MarinoTtext
483e4b17023SJohn MarinoDriver Separate
484e4b17023SJohn Marino
485e4b17023SJohn MarinoTtext=
486e4b17023SJohn MarinoDriver Joined
487e4b17023SJohn Marino
488e4b17023SJohn MarinoW
489e4b17023SJohn MarinoCommon RejectNegative Warning Alias(Wextra)
490e4b17023SJohn MarinoThis switch is deprecated; use -Wextra instead
491e4b17023SJohn Marino
492e4b17023SJohn MarinoWa,
493e4b17023SJohn MarinoDriver JoinedOrMissing
494e4b17023SJohn Marino
495e4b17023SJohn MarinoWl,
496e4b17023SJohn MarinoDriver JoinedOrMissing
497e4b17023SJohn Marino
498e4b17023SJohn MarinoWp,
499e4b17023SJohn MarinoDriver JoinedOrMissing
500e4b17023SJohn Marino
501e4b17023SJohn MarinoWaggregate-return
502e4b17023SJohn MarinoCommon Var(warn_aggregate_return) Warning
503e4b17023SJohn MarinoWarn about returning structures, unions or arrays
504e4b17023SJohn Marino
505e4b17023SJohn MarinoWarray-bounds
506e4b17023SJohn MarinoCommon Var(warn_array_bounds) Warning
507e4b17023SJohn MarinoWarn if an array is accessed out of bounds
508e4b17023SJohn Marino
509e4b17023SJohn MarinoWattributes
510e4b17023SJohn MarinoCommon Var(warn_attributes) Init(1) Warning
511e4b17023SJohn MarinoWarn about inappropriate attribute usage
512e4b17023SJohn Marino
513e4b17023SJohn MarinoWcast-align
514e4b17023SJohn MarinoCommon Var(warn_cast_align) Warning
515e4b17023SJohn MarinoWarn about pointer casts which increase alignment
516e4b17023SJohn Marino
517e4b17023SJohn MarinoWcpp
518e4b17023SJohn MarinoCommon Var(warn_cpp) Init(1) Warning
519e4b17023SJohn MarinoWarn when a #warning directive is encountered
520e4b17023SJohn Marino
521e4b17023SJohn MarinoWdeprecated-declarations
522e4b17023SJohn MarinoCommon Var(warn_deprecated_decl) Init(1) Warning
523e4b17023SJohn MarinoWarn about uses of __attribute__((deprecated)) declarations
524e4b17023SJohn Marino
525e4b17023SJohn MarinoWdisabled-optimization
526e4b17023SJohn MarinoCommon Var(warn_disabled_optimization) Warning
527e4b17023SJohn MarinoWarn when an optimization pass is disabled
528e4b17023SJohn Marino
529e4b17023SJohn MarinoWerror
530e4b17023SJohn MarinoCommon Var(warnings_are_errors)
531e4b17023SJohn MarinoTreat all warnings as errors
532e4b17023SJohn Marino
533e4b17023SJohn MarinoWerror=
534e4b17023SJohn MarinoCommon Joined
535e4b17023SJohn MarinoTreat specified warning as error
536e4b17023SJohn Marino
537e4b17023SJohn MarinoWextra
538e4b17023SJohn MarinoCommon Var(extra_warnings) Warning
539e4b17023SJohn MarinoPrint extra (possibly unwanted) warnings
540e4b17023SJohn Marino
541e4b17023SJohn MarinoWfatal-errors
542e4b17023SJohn MarinoCommon Var(flag_fatal_errors)
543e4b17023SJohn MarinoExit on the first error occurred
544e4b17023SJohn Marino
545e4b17023SJohn MarinoWframe-larger-than=
546e4b17023SJohn MarinoCommon RejectNegative Joined UInteger
547e4b17023SJohn Marino-Wframe-larger-than=<number>	Warn if a function's stack frame requires more than <number> bytes
548e4b17023SJohn Marino
549e4b17023SJohn MarinoWfree-nonheap-object
550e4b17023SJohn MarinoCommon Var(warn_free_nonheap_object) Init(1) Warning
551e4b17023SJohn MarinoWarn when attempting to free a non-heap object
552e4b17023SJohn Marino
553e4b17023SJohn MarinoWinline
554e4b17023SJohn MarinoCommon Var(warn_inline) Warning
555e4b17023SJohn MarinoWarn when an inlined function cannot be inlined
556e4b17023SJohn Marino
557e4b17023SJohn MarinoWinvalid-memory-model
558e4b17023SJohn MarinoCommon Var(warn_invalid_memory_model) Init(1) Warning
559e4b17023SJohn MarinoWarn when an atomic memory model parameter is known to be outside the valid range.
560e4b17023SJohn Marino
561e4b17023SJohn MarinoWlarger-than-
562e4b17023SJohn MarinoCommon RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
563e4b17023SJohn Marino
564e4b17023SJohn MarinoWlarger-than=
565e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Warning
566e4b17023SJohn Marino-Wlarger-than=<number>	Warn if an object is larger than <number> bytes
567e4b17023SJohn Marino
568e4b17023SJohn MarinoWunsafe-loop-optimizations
569e4b17023SJohn MarinoCommon Var(warn_unsafe_loop_optimizations) Warning
570e4b17023SJohn MarinoWarn if the loop cannot be optimized due to nontrivial assumptions.
571e4b17023SJohn Marino
572e4b17023SJohn MarinoWmissing-noreturn
573e4b17023SJohn MarinoCommon Var(warn_missing_noreturn) Warning
574e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((noreturn))
575e4b17023SJohn Marino
576e4b17023SJohn MarinoWoverflow
577e4b17023SJohn MarinoCommon Var(warn_overflow) Init(1) Warning
578e4b17023SJohn MarinoWarn about overflow in arithmetic expressions
579e4b17023SJohn Marino
580e4b17023SJohn MarinoWpacked
581e4b17023SJohn MarinoCommon Var(warn_packed) Warning
582e4b17023SJohn MarinoWarn when the packed attribute has no effect on struct layout
583e4b17023SJohn Marino
584e4b17023SJohn MarinoWpadded
585e4b17023SJohn MarinoCommon Var(warn_padded) Warning
586e4b17023SJohn MarinoWarn when padding is required to align structure members
587e4b17023SJohn Marino
588e4b17023SJohn MarinoWshadow
589e4b17023SJohn MarinoCommon Var(warn_shadow) Warning
590e4b17023SJohn MarinoWarn when one local variable shadows another
591e4b17023SJohn Marino
592e4b17023SJohn MarinoWstack-protector
593e4b17023SJohn MarinoCommon Var(warn_stack_protect) Warning
594e4b17023SJohn MarinoWarn when not issuing stack smashing protection for some reason
595e4b17023SJohn Marino
596e4b17023SJohn MarinoWstack-usage=
597e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning
598e4b17023SJohn MarinoWarn if stack usage might be larger than specified amount
599e4b17023SJohn Marino
600e4b17023SJohn MarinoWstrict-aliasing
601e4b17023SJohn MarinoCommon Warning
602e4b17023SJohn MarinoWarn about code which might break strict aliasing rules
603e4b17023SJohn Marino
604e4b17023SJohn MarinoWstrict-aliasing=
605e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
606e4b17023SJohn MarinoWarn about code which might break strict aliasing rules
607e4b17023SJohn Marino
608e4b17023SJohn MarinoWstrict-overflow
609e4b17023SJohn MarinoCommon Warning
610e4b17023SJohn MarinoWarn about optimizations that assume that signed overflow is undefined
611e4b17023SJohn Marino
612e4b17023SJohn MarinoWstrict-overflow=
613e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
614e4b17023SJohn MarinoWarn about optimizations that assume that signed overflow is undefined
615e4b17023SJohn Marino
616e4b17023SJohn MarinoWsuggest-attribute=const
617e4b17023SJohn MarinoCommon Var(warn_suggest_attribute_const) Warning
618e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((const))
619e4b17023SJohn Marino
620e4b17023SJohn MarinoWsuggest-attribute=pure
621e4b17023SJohn MarinoCommon Var(warn_suggest_attribute_pure) Warning
622e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((pure))
623e4b17023SJohn Marino
624e4b17023SJohn MarinoWsuggest-attribute=noreturn
625e4b17023SJohn MarinoCommon Var(warn_suggest_attribute_noreturn) Warning
626e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((noreturn))
627e4b17023SJohn Marino
628e4b17023SJohn MarinoWswitch
629e4b17023SJohn MarinoCommon Var(warn_switch) Warning
630e4b17023SJohn MarinoWarn about enumerated switches, with no default, missing a case
631e4b17023SJohn Marino
632e4b17023SJohn MarinoWswitch-default
633e4b17023SJohn MarinoCommon Var(warn_switch_default) Warning
634e4b17023SJohn MarinoWarn about enumerated switches missing a \"default:\" statement
635e4b17023SJohn Marino
636e4b17023SJohn MarinoWswitch-enum
637e4b17023SJohn MarinoCommon Var(warn_switch_enum) Warning
638e4b17023SJohn MarinoWarn about all enumerated switches missing a specific case
639e4b17023SJohn Marino
640e4b17023SJohn MarinoWsystem-headers
641e4b17023SJohn MarinoCommon Var(warn_system_headers) Warning
642e4b17023SJohn MarinoDo not suppress warnings from system headers
643e4b17023SJohn Marino
644e4b17023SJohn MarinoWtrampolines
645e4b17023SJohn MarinoCommon Var(warn_trampolines) Warning
646e4b17023SJohn MarinoWarn whenever a trampoline is generated
647e4b17023SJohn Marino
648e4b17023SJohn MarinoWtype-limits
649e4b17023SJohn MarinoCommon Var(warn_type_limits) Init(-1) Warning
650e4b17023SJohn MarinoWarn if a comparison is always true or always false due to the limited range of the data type
651e4b17023SJohn Marino
652e4b17023SJohn MarinoWuninitialized
653e4b17023SJohn MarinoCommon Var(warn_uninitialized) Init(-1) Warning
654e4b17023SJohn MarinoWarn about uninitialized automatic variables
655e4b17023SJohn Marino
656e4b17023SJohn MarinoWmaybe-uninitialized
657e4b17023SJohn MarinoCommon Var(warn_maybe_uninitialized) Warning
658e4b17023SJohn MarinoWarn about maybe uninitialized automatic variables
659e4b17023SJohn Marino
660e4b17023SJohn MarinoWunreachable-code
661e4b17023SJohn MarinoCommon Ignore
662e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility.
663e4b17023SJohn Marino
664e4b17023SJohn MarinoWunused
665e4b17023SJohn MarinoCommon Var(warn_unused) Init(0) Warning
666e4b17023SJohn MarinoEnable all -Wunused- warnings
667e4b17023SJohn Marino
668e4b17023SJohn MarinoWunused-but-set-parameter
669e4b17023SJohn MarinoCommon Var(warn_unused_but_set_parameter) Init(-1) Warning
670e4b17023SJohn MarinoWarn when a function parameter is only set, otherwise unused
671e4b17023SJohn Marino
672e4b17023SJohn MarinoWunused-but-set-variable
673e4b17023SJohn MarinoCommon Var(warn_unused_but_set_variable) Init(-1) Warning
674e4b17023SJohn MarinoWarn when a variable is only set, otherwise unused
675e4b17023SJohn Marino
676e4b17023SJohn MarinoWunused-function
677e4b17023SJohn MarinoCommon Var(warn_unused_function) Init(-1) Warning
678e4b17023SJohn MarinoWarn when a function is unused
679e4b17023SJohn Marino
680e4b17023SJohn MarinoWunused-label
681e4b17023SJohn MarinoCommon Var(warn_unused_label) Init(-1) Warning
682e4b17023SJohn MarinoWarn when a label is unused
683e4b17023SJohn Marino
684e4b17023SJohn MarinoWunused-parameter
685e4b17023SJohn MarinoCommon Var(warn_unused_parameter) Init(-1) Warning
686e4b17023SJohn MarinoWarn when a function parameter is unused
687e4b17023SJohn Marino
688e4b17023SJohn MarinoWunused-value
689e4b17023SJohn MarinoCommon Var(warn_unused_value) Init(-1) Warning
690e4b17023SJohn MarinoWarn when an expression value is unused
691e4b17023SJohn Marino
692e4b17023SJohn MarinoWunused-variable
693e4b17023SJohn MarinoCommon Var(warn_unused_variable) Init(-1) Warning
694e4b17023SJohn MarinoWarn when a variable is unused
695e4b17023SJohn Marino
696e4b17023SJohn MarinoWcoverage-mismatch
697e4b17023SJohn MarinoCommon Var(warn_coverage_mismatch) Init(1) Warning
698e4b17023SJohn MarinoWarn in case profiles in -fprofile-use do not match
699e4b17023SJohn Marino
700e4b17023SJohn MarinoWvector-operation-performance
701e4b17023SJohn MarinoCommon Var(warn_vector_operation_performance) Warning
702e4b17023SJohn MarinoWarn when a vector operation is compiled outside the SIMD
703e4b17023SJohn Marino
704e4b17023SJohn MarinoXassembler
705e4b17023SJohn MarinoDriver Separate
706e4b17023SJohn Marino
707e4b17023SJohn MarinoXlinker
708e4b17023SJohn MarinoDriver Separate
709e4b17023SJohn Marino
710e4b17023SJohn MarinoXpreprocessor
711e4b17023SJohn MarinoDriver Separate
712e4b17023SJohn Marino
713e4b17023SJohn MarinoZ
714e4b17023SJohn MarinoDriver
715e4b17023SJohn Marino
716e4b17023SJohn Marinoaux-info
717e4b17023SJohn MarinoCommon Separate Var(aux_info_file_name)
718e4b17023SJohn Marino-aux-info <file>	Emit declaration information into <file>
719e4b17023SJohn Marino
720e4b17023SJohn Marinoaux-info=
721e4b17023SJohn MarinoCommon Joined Alias(aux-info)
722e4b17023SJohn Marino
723e4b17023SJohn Marinoauxbase
724e4b17023SJohn MarinoCommon Separate RejectDriver Var(aux_base_name)
725e4b17023SJohn Marino
726e4b17023SJohn Marinoauxbase-strip
727e4b17023SJohn MarinoCommon Separate RejectDriver
728e4b17023SJohn Marino
729e4b17023SJohn Marinocoverage
730e4b17023SJohn MarinoDriver
731e4b17023SJohn Marino
732e4b17023SJohn Marinoc
733e4b17023SJohn MarinoDriver
734e4b17023SJohn Marino
735e4b17023SJohn Marinod
736e4b17023SJohn MarinoCommon Joined
737e4b17023SJohn Marino-d<letters>	Enable dumps from specific passes of the compiler
738e4b17023SJohn Marino
739e4b17023SJohn Marinodumpbase
740e4b17023SJohn MarinoCommon Separate Var(dump_base_name)
741e4b17023SJohn Marino-dumpbase <file>	Set the file basename to be used for dumps
742e4b17023SJohn Marino
743e4b17023SJohn Marinodumpdir
744e4b17023SJohn MarinoCommon Separate Var(dump_dir_name)
745e4b17023SJohn Marino-dumpdir <dir>	Set the directory name to be used for dumps
746e4b17023SJohn Marino
747e4b17023SJohn Marinodumpmachine
748e4b17023SJohn MarinoDriver
749e4b17023SJohn Marino
750e4b17023SJohn Marinodumpspecs
751e4b17023SJohn MarinoDriver
752e4b17023SJohn Marino
753e4b17023SJohn Marinodumpversion
754e4b17023SJohn MarinoDriver
755e4b17023SJohn Marino
756e4b17023SJohn Marinoe
757e4b17023SJohn MarinoDriver Joined Separate
758e4b17023SJohn Marino
759e4b17023SJohn Marino; This option has historically been passed down to the linker by an
760e4b17023SJohn Marino; accident of a %{e*} spec, so ensure it continues to be passed down
761e4b17023SJohn Marino; as a single option.  The supported option for this purpose is
762e4b17023SJohn Marino; -rdynamic.  See PR 47390.
763e4b17023SJohn Marinoexport-dynamic
764e4b17023SJohn MarinoDriver Undocumented
765e4b17023SJohn Marino
766e4b17023SJohn Marino; The version of the C++ ABI in use.  The following values are allowed:
767e4b17023SJohn Marino;
768e4b17023SJohn Marino; 0: The version of the ABI believed most conformant with the C++ ABI
769e4b17023SJohn Marino;    specification.  This ABI may change as bugs are discovered and fixed.
770e4b17023SJohn Marino;    Therefore, 0 will not necessarily indicate the same ABI in different
771e4b17023SJohn Marino;    versions of G++.
772e4b17023SJohn Marino;
773e4b17023SJohn Marino; 1: The version of the ABI first used in G++ 3.2.
774e4b17023SJohn Marino;
775e4b17023SJohn Marino; 2: The version of the ABI first used in G++ 3.4 (and current default).
776e4b17023SJohn Marino;
777e4b17023SJohn Marino; 3: The version of the ABI that fixes the missing underscore
778e4b17023SJohn Marino;    in template non-type arguments of pointer type.
779e4b17023SJohn Marino;
780e4b17023SJohn Marino; 4: The version of the ABI that introduces unambiguous mangling of
781e4b17023SJohn Marino;    vector types.  First selectable in G++ 4.5.
782e4b17023SJohn Marino;
783e4b17023SJohn Marino; 5: The version of the ABI that ignores attribute const/noreturn
784e4b17023SJohn Marino;    in function pointer mangling, and corrects mangling of decltype and
785e4b17023SJohn Marino;    function parameters used in other parameters and the return type.
786e4b17023SJohn Marino;    First selectable in G++ 4.6.
787e4b17023SJohn Marino;
788e4b17023SJohn Marino; 6: The version of the ABI that doesn't promote scoped enums to int and
789e4b17023SJohn Marino;    changes the mangling of template argument packs, const/static_cast,
790e4b17023SJohn Marino;    prefix ++ and --, and a class scope function used as a template
791e4b17023SJohn Marino;    argument.
792e4b17023SJohn Marino;    First selectable in G++ 4.7.
793e4b17023SJohn Marino;
794e4b17023SJohn Marino; Additional positive integers will be assigned as new versions of
795e4b17023SJohn Marino; the ABI become the default version of the ABI.
796e4b17023SJohn Marinofabi-version=
797e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
798e4b17023SJohn Marino
799e4b17023SJohn Marinofalign-functions
800e4b17023SJohn MarinoCommon Report Var(align_functions,0) Optimization UInteger
801e4b17023SJohn MarinoAlign the start of functions
802e4b17023SJohn Marino
803e4b17023SJohn Marinofalign-functions=
804e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_functions)
805e4b17023SJohn Marino
806e4b17023SJohn Marinofalign-jumps
807e4b17023SJohn MarinoCommon Report Var(align_jumps,0) Optimization UInteger
808e4b17023SJohn MarinoAlign labels which are only reached by jumping
809e4b17023SJohn Marino
810e4b17023SJohn Marinofalign-jumps=
811e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_jumps)
812e4b17023SJohn Marino
813e4b17023SJohn Marinofalign-labels
814e4b17023SJohn MarinoCommon Report Var(align_labels,0) Optimization UInteger
815e4b17023SJohn MarinoAlign all labels
816e4b17023SJohn Marino
817e4b17023SJohn Marinofalign-labels=
818e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_labels)
819e4b17023SJohn Marino
820e4b17023SJohn Marinofalign-loops
821e4b17023SJohn MarinoCommon Report Var(align_loops,0) Optimization UInteger
822e4b17023SJohn MarinoAlign the start of loops
823e4b17023SJohn Marino
824e4b17023SJohn Marinofalign-loops=
825e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_loops)
826e4b17023SJohn Marino
827e4b17023SJohn Marinofargument-alias
828e4b17023SJohn MarinoCommon Ignore
829e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility.
830e4b17023SJohn Marino
831e4b17023SJohn Marinofargument-noalias
832e4b17023SJohn MarinoCommon Ignore
833e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility.
834e4b17023SJohn Marino
835e4b17023SJohn Marinofargument-noalias-global
836e4b17023SJohn MarinoCommon Ignore
837e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility.
838e4b17023SJohn Marino
839e4b17023SJohn Marinofargument-noalias-anything
840e4b17023SJohn MarinoCommon Ignore
841e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility.
842e4b17023SJohn Marino
843e4b17023SJohn Marinofasynchronous-unwind-tables
844e4b17023SJohn MarinoCommon Report Var(flag_asynchronous_unwind_tables) Optimization
845e4b17023SJohn MarinoGenerate unwind tables that are exact at each instruction boundary
846e4b17023SJohn Marino
847e4b17023SJohn Marinofauto-inc-dec
848e4b17023SJohn MarinoCommon Report Var(flag_auto_inc_dec) Init(1)
849e4b17023SJohn MarinoGenerate auto-inc/dec instructions
850e4b17023SJohn Marino
851e4b17023SJohn Marino; -fcheck-bounds causes gcc to generate array bounds checks.
852e4b17023SJohn Marino; For C, C++ and ObjC: defaults off.
853e4b17023SJohn Marino; For Java: defaults to on.
854e4b17023SJohn Marino; For Fortran: defaults to off.
855e4b17023SJohn Marinofbounds-check
856e4b17023SJohn MarinoCommon Report Var(flag_bounds_check)
857e4b17023SJohn MarinoGenerate code to check bounds before indexing arrays
858e4b17023SJohn Marino
859e4b17023SJohn Marinofbranch-count-reg
860e4b17023SJohn MarinoCommon Report Var(flag_branch_on_count_reg) Init(1) Optimization
861e4b17023SJohn MarinoReplace add, compare, branch with branch on count register
862e4b17023SJohn Marino
863e4b17023SJohn Marinofbranch-probabilities
864e4b17023SJohn MarinoCommon Report Var(flag_branch_probabilities) Optimization
865e4b17023SJohn MarinoUse profiling information for branch probabilities
866e4b17023SJohn Marino
867e4b17023SJohn Marinofbranch-target-load-optimize
868e4b17023SJohn MarinoCommon Report Var(flag_branch_target_load_optimize) Optimization
869e4b17023SJohn MarinoPerform branch target load optimization before prologue / epilogue threading
870e4b17023SJohn Marino
871e4b17023SJohn Marinofbranch-target-load-optimize2
872e4b17023SJohn MarinoCommon Report Var(flag_branch_target_load_optimize2) Optimization
873e4b17023SJohn MarinoPerform branch target load optimization after prologue / epilogue threading
874e4b17023SJohn Marino
875e4b17023SJohn Marinofbtr-bb-exclusive
876e4b17023SJohn MarinoCommon Report Var(flag_btr_bb_exclusive) Optimization
877e4b17023SJohn MarinoRestrict target load migration not to re-use registers in any basic block
878e4b17023SJohn Marino
879e4b17023SJohn Marinofcall-saved-
880e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
881e4b17023SJohn Marino-fcall-saved-<register>	Mark <register> as being preserved across functions
882e4b17023SJohn Marino
883e4b17023SJohn Marinofcall-used-
884e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
885e4b17023SJohn Marino-fcall-used-<register>	Mark <register> as being corrupted by function calls
886e4b17023SJohn Marino
887e4b17023SJohn Marino; Nonzero for -fcaller-saves: allocate values in regs that need to
888e4b17023SJohn Marino; be saved across function calls, if that produces overall better code.
889e4b17023SJohn Marino; Optional now, so people can test it.
890e4b17023SJohn Marinofcaller-saves
891e4b17023SJohn MarinoCommon Report Var(flag_caller_saves) Optimization
892e4b17023SJohn MarinoSave registers around function calls
893e4b17023SJohn Marino
894e4b17023SJohn Marinofcheck-data-deps
895e4b17023SJohn MarinoCommon Report Var(flag_check_data_deps)
896e4b17023SJohn MarinoCompare the results of several data dependence analyzers.
897e4b17023SJohn Marino
898e4b17023SJohn Marinofcombine-stack-adjustments
899e4b17023SJohn MarinoCommon Report Var(flag_combine_stack_adjustments) Optimization
900e4b17023SJohn MarinoLooks for opportunities to reduce stack adjustments and stack references.
901e4b17023SJohn Marino
902e4b17023SJohn Marinofcommon
903e4b17023SJohn MarinoCommon Report Var(flag_no_common,0) Optimization
904e4b17023SJohn MarinoDo not put uninitialized globals in the common section
905e4b17023SJohn Marino
906e4b17023SJohn Marinofcompare-debug
907e4b17023SJohn MarinoDriver
908e4b17023SJohn Marino; Converted by the driver to -fcompare-debug= options.
909e4b17023SJohn Marino
910e4b17023SJohn Marinofcompare-debug=
911e4b17023SJohn MarinoCommon Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
912e4b17023SJohn Marino-fcompare-debug[=<opts>]	Compile with and without e.g. -gtoggle, and compare the final-insns dump
913e4b17023SJohn Marino
914e4b17023SJohn Marinofcompare-debug-second
915e4b17023SJohn MarinoCommon Driver RejectNegative Var(flag_compare_debug)
916e4b17023SJohn MarinoRun only the second compilation of -fcompare-debug
917e4b17023SJohn Marino
918e4b17023SJohn Marinofcompare-elim
919e4b17023SJohn MarinoCommon Report Var(flag_compare_elim_after_reload) Optimization
920e4b17023SJohn MarinoPerform comparison elimination after register allocation has finished
921e4b17023SJohn Marino
922e4b17023SJohn Marinofconserve-stack
923e4b17023SJohn MarinoCommon Var(flag_conserve_stack) Optimization
924e4b17023SJohn MarinoDo not perform optimizations increasing noticeably stack usage
925e4b17023SJohn Marino
926e4b17023SJohn Marinofcprop-registers
927e4b17023SJohn MarinoCommon Report Var(flag_cprop_registers) Optimization
928e4b17023SJohn MarinoPerform a register copy-propagation optimization pass
929e4b17023SJohn Marino
930e4b17023SJohn Marinofcrossjumping
931e4b17023SJohn MarinoCommon Report Var(flag_crossjumping) Optimization
932e4b17023SJohn MarinoPerform cross-jumping optimization
933e4b17023SJohn Marino
934e4b17023SJohn Marinofcse-follow-jumps
935e4b17023SJohn MarinoCommon Report Var(flag_cse_follow_jumps) Optimization
936e4b17023SJohn MarinoWhen running CSE, follow jumps to their targets
937e4b17023SJohn Marino
938e4b17023SJohn Marinofcse-skip-blocks
939e4b17023SJohn MarinoCommon Ignore
940e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
941e4b17023SJohn Marino
942e4b17023SJohn Marinofcx-limited-range
943e4b17023SJohn MarinoCommon Report Var(flag_cx_limited_range) Optimization SetByCombined
944e4b17023SJohn MarinoOmit range reduction step when performing complex division
945e4b17023SJohn Marino
946e4b17023SJohn Marinofcx-fortran-rules
947e4b17023SJohn MarinoCommon Report Var(flag_cx_fortran_rules) Optimization
948e4b17023SJohn MarinoComplex multiplication and division follow Fortran rules
949e4b17023SJohn Marino
950e4b17023SJohn Marinofdata-sections
951e4b17023SJohn MarinoCommon Report Var(flag_data_sections) Optimization
952e4b17023SJohn MarinoPlace data items into their own section
953e4b17023SJohn Marino
954e4b17023SJohn Marinofdbg-cnt-list
955e4b17023SJohn MarinoCommon Report Var(common_deferred_options) Defer
956e4b17023SJohn MarinoList all available debugging counters with their limits and counts.
957e4b17023SJohn Marino
958e4b17023SJohn Marinofdbg-cnt=
959e4b17023SJohn MarinoCommon RejectNegative Joined Var(common_deferred_options) Defer
960e4b17023SJohn Marino-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]	Set the debug counter limit.
961e4b17023SJohn Marino
962e4b17023SJohn Marinofdebug-prefix-map=
963e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
964e4b17023SJohn MarinoMap one directory name to another in debug information
965e4b17023SJohn Marino
966e4b17023SJohn Marinofdebug-types-section
967e4b17023SJohn MarinoCommon Report Var(flag_debug_types_section) Init(1)
968e4b17023SJohn MarinoOutput .debug_types section when using DWARF v4 debuginfo.
969e4b17023SJohn Marino
970e4b17023SJohn Marino; Nonzero for -fdefer-pop: don't pop args after each function call
971e4b17023SJohn Marino; instead save them up to pop many calls' args with one insns.
972e4b17023SJohn Marinofdefer-pop
973e4b17023SJohn MarinoCommon Report Var(flag_defer_pop) Optimization
974e4b17023SJohn MarinoDefer popping functions args from stack until later
975e4b17023SJohn Marino
976e4b17023SJohn Marinofdelayed-branch
977e4b17023SJohn MarinoCommon Report Var(flag_delayed_branch) Optimization
978e4b17023SJohn MarinoAttempt to fill delay slots of branch instructions
979e4b17023SJohn Marino
980e4b17023SJohn Marinofdelete-null-pointer-checks
981e4b17023SJohn MarinoCommon Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
982e4b17023SJohn MarinoDelete useless null pointer checks
983e4b17023SJohn Marino
984e4b17023SJohn Marinofdevirtualize
985e4b17023SJohn MarinoCommon Report Var(flag_devirtualize) Optimization
986e4b17023SJohn MarinoTry to convert virtual calls to direct ones.
987e4b17023SJohn Marino
988e4b17023SJohn Marinofdiagnostics-show-location=
989e4b17023SJohn MarinoCommon Joined RejectNegative Enum(diagnostic_prefixing_rule)
990e4b17023SJohn Marino-fdiagnostics-show-location=[once|every-line]	How often to emit source location at the beginning of line-wrapped diagnostics
991e4b17023SJohn Marino
992e4b17023SJohn Marino; Required for these enum values.
993e4b17023SJohn MarinoSourceInclude
994e4b17023SJohn Marinopretty-print.h
995e4b17023SJohn Marino
996e4b17023SJohn MarinoEnum
997e4b17023SJohn MarinoName(diagnostic_prefixing_rule) Type(int)
998e4b17023SJohn Marino
999e4b17023SJohn MarinoEnumValue
1000e4b17023SJohn MarinoEnum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
1001e4b17023SJohn Marino
1002e4b17023SJohn MarinoEnumValue
1003e4b17023SJohn MarinoEnum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
1004e4b17023SJohn Marino
1005e4b17023SJohn Marinofdiagnostics-show-option
1006e4b17023SJohn MarinoCommon Var(flag_diagnostics_show_option) Init(1)
1007e4b17023SJohn MarinoAmend appropriate diagnostic messages with the command line option that controls them
1008e4b17023SJohn Marino
1009e4b17023SJohn Marinofdisable-
1010e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1011e4b17023SJohn Marino-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass
1012e4b17023SJohn Marino
1013e4b17023SJohn Marinofenable-
1014e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1015e4b17023SJohn Marino-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass
1016e4b17023SJohn Marino
1017e4b17023SJohn Marinofdump-
1018e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1019e4b17023SJohn Marino-fdump-<type>	Dump various compiler internals to a file
1020e4b17023SJohn Marino
1021e4b17023SJohn Marinofdump-final-insns
1022e4b17023SJohn MarinoDriver RejectNegative
1023e4b17023SJohn Marino
1024e4b17023SJohn Marinofdump-final-insns=
1025e4b17023SJohn MarinoCommon RejectNegative Joined Var(flag_dump_final_insns)
1026e4b17023SJohn Marino-fdump-final-insns=filename	Dump to filename the insns at the end of translation
1027e4b17023SJohn Marino
1028e4b17023SJohn Marinofdump-go-spec=
1029e4b17023SJohn MarinoCommon RejectNegative Joined Var(flag_dump_go_spec)
1030e4b17023SJohn Marino-fdump-go-spec=filename	Write all declarations to file as Go code
1031e4b17023SJohn Marino
1032e4b17023SJohn Marinofdump-noaddr
1033e4b17023SJohn MarinoCommon Report Var(flag_dump_noaddr)
1034e4b17023SJohn MarinoSuppress output of addresses in debugging dumps
1035e4b17023SJohn Marino
1036e4b17023SJohn Marinofdump-passes
1037e4b17023SJohn MarinoCommon Var(flag_dump_passes) Init(0)
1038e4b17023SJohn MarinoDump optimization passes
1039e4b17023SJohn Marino
1040e4b17023SJohn Marinofdump-unnumbered
1041e4b17023SJohn MarinoCommon Report Var(flag_dump_unnumbered)
1042e4b17023SJohn MarinoSuppress output of instruction numbers, line number notes and addresses in debugging dumps
1043e4b17023SJohn Marino
1044e4b17023SJohn Marinofdump-unnumbered-links
1045e4b17023SJohn MarinoCommon Report Var(flag_dump_unnumbered_links)
1046e4b17023SJohn MarinoSuppress output of previous and next insn numbers in debugging dumps
1047e4b17023SJohn Marino
1048e4b17023SJohn Marinofdwarf2-cfi-asm
1049e4b17023SJohn MarinoCommon Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
1050e4b17023SJohn MarinoEnable CFI tables via GAS assembler directives.
1051e4b17023SJohn Marino
1052e4b17023SJohn Marinofearly-inlining
1053e4b17023SJohn MarinoCommon Report Var(flag_early_inlining) Init(1) Optimization
1054e4b17023SJohn MarinoPerform early inlining
1055e4b17023SJohn Marino
1056e4b17023SJohn Marinofeliminate-dwarf2-dups
1057e4b17023SJohn MarinoCommon Report Var(flag_eliminate_dwarf2_dups)
1058e4b17023SJohn MarinoPerform DWARF2 duplicate elimination
1059e4b17023SJohn Marino
1060e4b17023SJohn Marinofipa-sra
1061e4b17023SJohn MarinoCommon Report Var(flag_ipa_sra) Init(0) Optimization
1062e4b17023SJohn MarinoPerform interprocedural reduction of aggregates
1063e4b17023SJohn Marino
1064e4b17023SJohn Marinofeliminate-unused-debug-symbols
1065e4b17023SJohn MarinoCommon Report Var(flag_debug_only_used_symbols)
1066e4b17023SJohn MarinoPerform unused type elimination in debug info
1067e4b17023SJohn Marino
1068e4b17023SJohn Marinofeliminate-unused-debug-types
1069e4b17023SJohn MarinoCommon Report Var(flag_eliminate_unused_debug_types) Init(1)
1070e4b17023SJohn MarinoPerform unused type elimination in debug info
1071e4b17023SJohn Marino
1072e4b17023SJohn Marinofemit-class-debug-always
1073e4b17023SJohn MarinoCommon Report Var(flag_emit_class_debug_always) Init(0)
1074e4b17023SJohn MarinoDo not suppress C++ class debug information.
1075e4b17023SJohn Marino
1076e4b17023SJohn Marinofexceptions
1077e4b17023SJohn MarinoCommon Report Var(flag_exceptions) Optimization
1078e4b17023SJohn MarinoEnable exception handling
1079e4b17023SJohn Marino
1080e4b17023SJohn Marinofexpensive-optimizations
1081e4b17023SJohn MarinoCommon Report Var(flag_expensive_optimizations) Optimization
1082e4b17023SJohn MarinoPerform a number of minor, expensive optimizations
1083e4b17023SJohn Marino
1084e4b17023SJohn Marinofexcess-precision=
1085e4b17023SJohn MarinoCommon Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)
1086e4b17023SJohn Marino-fexcess-precision=[fast|standard]	Specify handling of excess floating-point precision
1087e4b17023SJohn Marino
1088e4b17023SJohn MarinoEnum
1089e4b17023SJohn MarinoName(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)
1090e4b17023SJohn Marino
1091e4b17023SJohn MarinoEnumValue
1092e4b17023SJohn MarinoEnum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)
1093e4b17023SJohn Marino
1094e4b17023SJohn MarinoEnumValue
1095e4b17023SJohn MarinoEnum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)
1096e4b17023SJohn Marino
1097e4b17023SJohn Marinoffast-math
1098e4b17023SJohn MarinoCommon
1099e4b17023SJohn Marino
1100e4b17023SJohn Marinoffat-lto-objects
1101e4b17023SJohn MarinoCommon Var(flag_fat_lto_objects) Init(1)
1102e4b17023SJohn MarinoOutput lto objects containing both the intermediate language and binary output.
1103e4b17023SJohn Marino
1104e4b17023SJohn Marinoffinite-math-only
1105e4b17023SJohn MarinoCommon Report Var(flag_finite_math_only) Optimization SetByCombined
1106e4b17023SJohn MarinoAssume no NaNs or infinities are generated
1107e4b17023SJohn Marino
1108e4b17023SJohn Marinoffixed-
1109e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1110e4b17023SJohn Marino-ffixed-<register>	Mark <register> as being unavailable to the compiler
1111e4b17023SJohn Marino
1112e4b17023SJohn Marinoffloat-store
1113e4b17023SJohn MarinoCommon Report Var(flag_float_store) Optimization
1114e4b17023SJohn MarinoDon't allocate floats and doubles in extended-precision registers
1115e4b17023SJohn Marino
1116e4b17023SJohn Marinofforce-addr
1117e4b17023SJohn MarinoCommon Ignore
1118e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1119e4b17023SJohn Marino
1120e4b17023SJohn Marinofforward-propagate
1121e4b17023SJohn MarinoCommon Report Var(flag_forward_propagate) Optimization
1122e4b17023SJohn MarinoPerform a forward propagation pass on RTL
1123e4b17023SJohn Marino
1124e4b17023SJohn Marinoffp-contract=
1125e4b17023SJohn MarinoCommon Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST)
1126e4b17023SJohn Marino-ffp-contract=[off|on|fast] Perform floating-point expression contraction.
1127e4b17023SJohn Marino
1128e4b17023SJohn MarinoEnum
1129e4b17023SJohn MarinoName(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)
1130e4b17023SJohn Marino
1131e4b17023SJohn MarinoEnumValue
1132e4b17023SJohn MarinoEnum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF)
1133e4b17023SJohn Marino
1134e4b17023SJohn Marino; Not implemented, fall back to conservative FP_CONTRACT_OFF.
1135e4b17023SJohn MarinoEnumValue
1136e4b17023SJohn MarinoEnum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)
1137e4b17023SJohn Marino
1138e4b17023SJohn MarinoEnumValue
1139e4b17023SJohn MarinoEnum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST)
1140e4b17023SJohn Marino
1141e4b17023SJohn Marino; Nonzero means don't put addresses of constant functions in registers.
1142e4b17023SJohn Marino; Used for compiling the Unix kernel, where strange substitutions are
1143e4b17023SJohn Marino; done on the assembly output.
1144e4b17023SJohn Marinoffunction-cse
1145e4b17023SJohn MarinoCommon Report Var(flag_no_function_cse,0)
1146e4b17023SJohn MarinoAllow function addresses to be held in registers
1147e4b17023SJohn Marino
1148e4b17023SJohn Marinoffunction-sections
1149e4b17023SJohn MarinoCommon Report Var(flag_function_sections)
1150e4b17023SJohn MarinoPlace each function into its own section
1151e4b17023SJohn Marino
1152e4b17023SJohn Marinofgcse
1153e4b17023SJohn MarinoCommon Report Var(flag_gcse) Optimization
1154e4b17023SJohn MarinoPerform global common subexpression elimination
1155e4b17023SJohn Marino
1156e4b17023SJohn Marinofgcse-lm
1157e4b17023SJohn MarinoCommon Report Var(flag_gcse_lm) Init(1) Optimization
1158e4b17023SJohn MarinoPerform enhanced load motion during global common subexpression elimination
1159e4b17023SJohn Marino
1160e4b17023SJohn Marinofgcse-sm
1161e4b17023SJohn MarinoCommon Report Var(flag_gcse_sm) Init(0) Optimization
1162e4b17023SJohn MarinoPerform store motion after global common subexpression elimination
1163e4b17023SJohn Marino
1164e4b17023SJohn Marinofgcse-las
1165e4b17023SJohn MarinoCommon Report Var(flag_gcse_las) Init(0) Optimization
1166e4b17023SJohn MarinoPerform redundant load after store elimination in global common subexpression
1167e4b17023SJohn Marinoelimination
1168e4b17023SJohn Marino
1169e4b17023SJohn Marinofgcse-after-reload
1170e4b17023SJohn MarinoCommon Report Var(flag_gcse_after_reload) Optimization
1171e4b17023SJohn MarinoPerform global common subexpression elimination after register allocation
1172e4b17023SJohn Marinohas finished
1173e4b17023SJohn Marino
1174e4b17023SJohn Marino; This option is not documented yet as its semantics will change.
1175e4b17023SJohn Marinofgraphite
1176e4b17023SJohn MarinoCommon Report Var(flag_graphite)
1177e4b17023SJohn MarinoEnable in and out of Graphite representation
1178e4b17023SJohn Marino
1179e4b17023SJohn Marinofgraphite-identity
1180e4b17023SJohn MarinoCommon Report Var(flag_graphite_identity) Optimization
1181e4b17023SJohn MarinoEnable Graphite Identity transformation
1182e4b17023SJohn Marino
1183e4b17023SJohn Marinofloop-parallelize-all
1184e4b17023SJohn MarinoCommon Report Var(flag_loop_parallelize_all) Optimization
1185e4b17023SJohn MarinoMark all loops as parallel
1186e4b17023SJohn Marino
1187e4b17023SJohn Marinofloop-strip-mine
1188e4b17023SJohn MarinoCommon Report Var(flag_loop_strip_mine) Optimization
1189e4b17023SJohn MarinoEnable Loop Strip Mining transformation
1190e4b17023SJohn Marino
1191e4b17023SJohn Marinofloop-interchange
1192e4b17023SJohn MarinoCommon Report Var(flag_loop_interchange) Optimization
1193e4b17023SJohn MarinoEnable Loop Interchange transformation
1194e4b17023SJohn Marino
1195e4b17023SJohn Marinofloop-block
1196e4b17023SJohn MarinoCommon Report Var(flag_loop_block) Optimization
1197e4b17023SJohn MarinoEnable Loop Blocking transformation
1198e4b17023SJohn Marino
1199e4b17023SJohn Marinofgnu-tm
1200e4b17023SJohn MarinoCommon Report Var(flag_tm)
1201e4b17023SJohn MarinoEnable support for GNU transactional memory
1202e4b17023SJohn Marino
1203e4b17023SJohn Marinofloop-flatten
1204e4b17023SJohn MarinoCommon Report Var(flag_loop_flatten) Optimization
1205e4b17023SJohn MarinoEnable Loop Flattening transformation
1206e4b17023SJohn Marino
1207e4b17023SJohn Marinofstrict-volatile-bitfields
1208e4b17023SJohn MarinoCommon Report Var(flag_strict_volatile_bitfields) Init(-1)
1209e4b17023SJohn MarinoForce bitfield accesses to match their type width
1210e4b17023SJohn Marino
1211e4b17023SJohn Marinofguess-branch-probability
1212e4b17023SJohn MarinoCommon Report Var(flag_guess_branch_prob) Optimization
1213e4b17023SJohn MarinoEnable guessing of branch probabilities
1214e4b17023SJohn Marino
1215e4b17023SJohn Marino; Nonzero means ignore `#ident' directives.  0 means handle them.
1216e4b17023SJohn Marino; Generate position-independent code for executables if possible
1217e4b17023SJohn Marino; On SVR4 targets, it also controls whether or not to emit a
1218e4b17023SJohn Marino; string identifying the compiler.
1219e4b17023SJohn Marinofident
1220e4b17023SJohn MarinoCommon Report Var(flag_no_ident,0)
1221e4b17023SJohn MarinoProcess #ident directives
1222e4b17023SJohn Marino
1223e4b17023SJohn Marinofif-conversion
1224e4b17023SJohn MarinoCommon Report Var(flag_if_conversion) Optimization
1225e4b17023SJohn MarinoPerform conversion of conditional jumps to branchless equivalents
1226e4b17023SJohn Marino
1227e4b17023SJohn Marinofif-conversion2
1228e4b17023SJohn MarinoCommon Report Var(flag_if_conversion2) Optimization
1229e4b17023SJohn MarinoPerform conversion of conditional jumps to conditional execution
1230e4b17023SJohn Marino
1231e4b17023SJohn Marinoftree-loop-if-convert
1232e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
1233e4b17023SJohn MarinoConvert conditional jumps in innermost loops to branchless equivalents
1234e4b17023SJohn Marino
1235e4b17023SJohn Marinoftree-loop-if-convert-stores
1236e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_if_convert_stores) Optimization
1237e4b17023SJohn MarinoAlso if-convert conditional jumps containing memory writes
1238e4b17023SJohn Marino
1239e4b17023SJohn Marino; -finhibit-size-directive inhibits output of .size for ELF.
1240e4b17023SJohn Marino; This is used only for compiling crtstuff.c,
1241e4b17023SJohn Marino; and it may be extended to other effects
1242e4b17023SJohn Marino; needed for crtstuff.c on other systems.
1243e4b17023SJohn Marinofinhibit-size-directive
1244e4b17023SJohn MarinoCommon Report Var(flag_inhibit_size_directive)
1245e4b17023SJohn MarinoDo not generate .size directives
1246e4b17023SJohn Marino
1247e4b17023SJohn Marinofindirect-inlining
1248e4b17023SJohn MarinoCommon Report Var(flag_indirect_inlining)
1249e4b17023SJohn MarinoPerform indirect inlining
1250e4b17023SJohn Marino
1251e4b17023SJohn Marino; General flag to enable inlining.  Specifying -fno-inline will disable
1252e4b17023SJohn Marino; all inlining apart from always-inline functions.
1253e4b17023SJohn Marinofinline
1254e4b17023SJohn MarinoCommon Report Var(flag_no_inline,0) Init(0)
1255e4b17023SJohn MarinoEnable inlining of function declared \"inline\", disabling disables all inlining
1256e4b17023SJohn Marino
1257e4b17023SJohn Marinofinline-small-functions
1258e4b17023SJohn MarinoCommon Report Var(flag_inline_small_functions) Optimization
1259e4b17023SJohn MarinoIntegrate functions into their callers when code size is known not to grow
1260e4b17023SJohn Marino
1261e4b17023SJohn Marinofinline-functions
1262e4b17023SJohn MarinoCommon Report Var(flag_inline_functions) Optimization
1263e4b17023SJohn MarinoIntegrate functions not declared \"inline\" into their callers when profitable
1264e4b17023SJohn Marino
1265e4b17023SJohn Marinofinline-functions-called-once
1266e4b17023SJohn MarinoCommon Report Var(flag_inline_functions_called_once) Optimization
1267e4b17023SJohn MarinoIntegrate functions only required by their single caller
1268e4b17023SJohn Marino
1269e4b17023SJohn Marinofinline-limit-
1270e4b17023SJohn MarinoCommon RejectNegative Joined Alias(finline-limit=)
1271e4b17023SJohn Marino
1272e4b17023SJohn Marinofinline-limit=
1273e4b17023SJohn MarinoCommon RejectNegative Joined UInteger
1274e4b17023SJohn Marino-finline-limit=<number>	Limit the size of inlined functions to <number>
1275e4b17023SJohn Marino
1276e4b17023SJohn Marinofinline-atomics
1277e4b17023SJohn MarinoCommon Report Var(flag_inline_atomics) Init(1) Optimization
1278e4b17023SJohn MarinoInline __atomic operations when a lock free instruction sequence is available.
1279e4b17023SJohn Marino
1280e4b17023SJohn Marinofinstrument-functions
1281e4b17023SJohn MarinoCommon Report Var(flag_instrument_function_entry_exit)
1282e4b17023SJohn MarinoInstrument function entry and exit with profiling calls
1283e4b17023SJohn Marino
1284e4b17023SJohn Marinofinstrument-functions-exclude-function-list=
1285e4b17023SJohn MarinoCommon RejectNegative Joined
1286e4b17023SJohn Marino-finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions
1287e4b17023SJohn Marino
1288e4b17023SJohn Marinofinstrument-functions-exclude-file-list=
1289e4b17023SJohn MarinoCommon RejectNegative Joined
1290e4b17023SJohn Marino-finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files
1291e4b17023SJohn Marino
1292e4b17023SJohn Marinofipa-cp
1293e4b17023SJohn MarinoCommon Report Var(flag_ipa_cp) Optimization
1294e4b17023SJohn MarinoPerform Interprocedural constant propagation
1295e4b17023SJohn Marino
1296e4b17023SJohn Marinofipa-cp-clone
1297e4b17023SJohn MarinoCommon Report Var(flag_ipa_cp_clone) Optimization
1298e4b17023SJohn MarinoPerform cloning to make Interprocedural constant propagation stronger
1299e4b17023SJohn Marino
1300e4b17023SJohn Marinofipa-profile
1301e4b17023SJohn MarinoCommon Report Var(flag_ipa_profile) Init(0) Optimization
1302e4b17023SJohn MarinoPerform interprocedural profile propagation
1303e4b17023SJohn Marino
1304e4b17023SJohn Marinofipa-pta
1305e4b17023SJohn MarinoCommon Report Var(flag_ipa_pta) Init(0) Optimization
1306e4b17023SJohn MarinoPerform interprocedural points-to analysis
1307e4b17023SJohn Marino
1308e4b17023SJohn Marinofipa-pure-const
1309e4b17023SJohn MarinoCommon Report Var(flag_ipa_pure_const) Init(0) Optimization
1310e4b17023SJohn MarinoDiscover pure and const functions
1311e4b17023SJohn Marino
1312e4b17023SJohn Marinofipa-reference
1313e4b17023SJohn MarinoCommon Report Var(flag_ipa_reference) Init(0) Optimization
1314e4b17023SJohn MarinoDiscover readonly and non addressable static variables
1315e4b17023SJohn Marino
1316e4b17023SJohn Marinofipa-matrix-reorg
1317e4b17023SJohn MarinoCommon Report Var(flag_ipa_matrix_reorg) Optimization
1318e4b17023SJohn MarinoPerform matrix layout flattening and transposing based
1319e4b17023SJohn Marinoon profiling information.
1320e4b17023SJohn Marino
1321e4b17023SJohn Marinofipa-struct-reorg
1322e4b17023SJohn MarinoCommon Ignore
1323e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility.
1324e4b17023SJohn Marino
1325e4b17023SJohn Marinofira-algorithm=
1326e4b17023SJohn MarinoCommon Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB)
1327e4b17023SJohn Marino-fira-algorithm=[CB|priority] Set the used IRA algorithm
1328e4b17023SJohn Marino
1329e4b17023SJohn MarinoEnum
1330e4b17023SJohn MarinoName(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
1331e4b17023SJohn Marino
1332e4b17023SJohn MarinoEnumValue
1333e4b17023SJohn MarinoEnum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)
1334e4b17023SJohn Marino
1335e4b17023SJohn MarinoEnumValue
1336e4b17023SJohn MarinoEnum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)
1337e4b17023SJohn Marino
1338e4b17023SJohn Marinofira-region=
1339e4b17023SJohn MarinoCommon Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT)
1340e4b17023SJohn Marino-fira-region=[one|all|mixed] Set regions for IRA
1341e4b17023SJohn Marino
1342e4b17023SJohn MarinoEnum
1343e4b17023SJohn MarinoName(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)
1344e4b17023SJohn Marino
1345e4b17023SJohn MarinoEnumValue
1346e4b17023SJohn MarinoEnum(ira_region) String(one) Value(IRA_REGION_ONE)
1347e4b17023SJohn Marino
1348e4b17023SJohn MarinoEnumValue
1349e4b17023SJohn MarinoEnum(ira_region) String(all) Value(IRA_REGION_ALL)
1350e4b17023SJohn Marino
1351e4b17023SJohn MarinoEnumValue
1352e4b17023SJohn MarinoEnum(ira_region) String(mixed) Value(IRA_REGION_MIXED)
1353e4b17023SJohn Marino
1354e4b17023SJohn Marinofira-loop-pressure
1355e4b17023SJohn MarinoCommon Report Var(flag_ira_loop_pressure)
1356e4b17023SJohn MarinoUse IRA based register pressure calculation
1357e4b17023SJohn Marinoin RTL loop optimizations.
1358e4b17023SJohn Marino
1359e4b17023SJohn Marinofira-share-save-slots
1360e4b17023SJohn MarinoCommon Report Var(flag_ira_share_save_slots) Init(1)
1361e4b17023SJohn MarinoShare slots for saving different hard registers.
1362e4b17023SJohn Marino
1363e4b17023SJohn Marinofira-share-spill-slots
1364e4b17023SJohn MarinoCommon Report Var(flag_ira_share_spill_slots) Init(1)
1365e4b17023SJohn MarinoShare stack slots for spilled pseudo-registers.
1366e4b17023SJohn Marino
1367e4b17023SJohn Marinofira-verbose=
1368e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1369e4b17023SJohn Marino-fira-verbose=<number>	Control IRA's level of diagnostic messages.
1370e4b17023SJohn Marino
1371e4b17023SJohn Marinofivopts
1372e4b17023SJohn MarinoCommon Report Var(flag_ivopts) Init(1) Optimization
1373e4b17023SJohn MarinoOptimize induction variables on trees
1374e4b17023SJohn Marino
1375e4b17023SJohn Marinofjump-tables
1376e4b17023SJohn MarinoCommon Var(flag_jump_tables) Init(1) Optimization
1377e4b17023SJohn MarinoUse jump tables for sufficiently large switch statements
1378e4b17023SJohn Marino
1379e4b17023SJohn Marinofkeep-inline-functions
1380e4b17023SJohn MarinoCommon Report Var(flag_keep_inline_functions)
1381e4b17023SJohn MarinoGenerate code for functions even if they are fully inlined
1382e4b17023SJohn Marino
1383e4b17023SJohn Marinofkeep-static-consts
1384e4b17023SJohn MarinoCommon Report Var(flag_keep_static_consts) Init(1)
1385e4b17023SJohn MarinoEmit static const variables even if they are not used
1386e4b17023SJohn Marino
1387e4b17023SJohn Marinofleading-underscore
1388e4b17023SJohn MarinoCommon Report Var(flag_leading_underscore) Init(-1)
1389e4b17023SJohn MarinoGive external symbols a leading underscore
1390e4b17023SJohn Marino
1391e4b17023SJohn Marinofloop-optimize
1392e4b17023SJohn MarinoCommon Ignore
1393e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1394e4b17023SJohn Marino
1395e4b17023SJohn Marinoflto
1396e4b17023SJohn MarinoCommon
1397e4b17023SJohn MarinoEnable link-time optimization.
1398e4b17023SJohn Marino
1399e4b17023SJohn Marinoflto=
1400e4b17023SJohn MarinoCommon RejectNegative Joined Var(flag_lto)
1401e4b17023SJohn MarinoLink-time optimization with number of parallel jobs or jobserver.
1402e4b17023SJohn Marino
1403e4b17023SJohn Marinoflto-partition=1to1
1404e4b17023SJohn MarinoCommon Var(flag_lto_partition_1to1)
1405e4b17023SJohn MarinoPartition functions and vars at linktime based on object files they originate from
1406e4b17023SJohn Marino
1407e4b17023SJohn Marinoflto-partition=balanced
1408e4b17023SJohn MarinoCommon Var(flag_lto_partition_balanced)
1409e4b17023SJohn MarinoPartition functions and vars at linktime into approximately same sized buckets
1410e4b17023SJohn Marino
1411e4b17023SJohn Marinoflto-partition=none
1412e4b17023SJohn MarinoCommon Var(flag_lto_partition_none)
1413e4b17023SJohn MarinoDisable partioning and streaming
1414e4b17023SJohn Marino
1415e4b17023SJohn Marino; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1416e4b17023SJohn Marinoflto-compression-level=
1417e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1418e4b17023SJohn Marino-flto-compression-level=<number>	Use zlib compression level <number> for IL
1419e4b17023SJohn Marino
1420e4b17023SJohn Marinoflto-report
1421e4b17023SJohn MarinoCommon Report Var(flag_lto_report) Init(0)
1422e4b17023SJohn MarinoReport various link-time optimization statistics
1423e4b17023SJohn Marino
1424e4b17023SJohn Marinofmath-errno
1425e4b17023SJohn MarinoCommon Report Var(flag_errno_math) Init(1) Optimization SetByCombined
1426e4b17023SJohn MarinoSet errno after built-in math functions
1427e4b17023SJohn Marino
1428e4b17023SJohn Marinofmax-errors=
1429e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(flag_max_errors)
1430e4b17023SJohn Marino-fmax-errors=<number>	Maximum number of errors to report
1431e4b17023SJohn Marino
1432e4b17023SJohn Marinofmem-report
1433e4b17023SJohn MarinoCommon Report Var(mem_report)
1434e4b17023SJohn MarinoReport on permanent memory allocation
1435e4b17023SJohn Marino
1436e4b17023SJohn Marino; This will attempt to merge constant section constants, if 1 only
1437e4b17023SJohn Marino; string constants and constants from constant pool, if 2 also constant
1438e4b17023SJohn Marino; variables.
1439e4b17023SJohn Marinofmerge-all-constants
1440e4b17023SJohn MarinoCommon Report Var(flag_merge_constants,2) Init(1) Optimization
1441e4b17023SJohn MarinoAttempt to merge identical constants and constant variables
1442e4b17023SJohn Marino
1443e4b17023SJohn Marinofmerge-constants
1444e4b17023SJohn MarinoCommon Report Var(flag_merge_constants,1) Optimization
1445e4b17023SJohn MarinoAttempt to merge identical constants across compilation units
1446e4b17023SJohn Marino
1447e4b17023SJohn Marinofmerge-debug-strings
1448e4b17023SJohn MarinoCommon Report Var(flag_merge_debug_strings) Init(1)
1449e4b17023SJohn MarinoAttempt to merge identical debug strings across compilation units
1450e4b17023SJohn Marino
1451e4b17023SJohn Marinofmessage-length=
1452e4b17023SJohn MarinoCommon RejectNegative Joined UInteger
1453e4b17023SJohn Marino-fmessage-length=<number>	Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
1454e4b17023SJohn Marino
1455e4b17023SJohn Marinofmodulo-sched
1456e4b17023SJohn MarinoCommon Report Var(flag_modulo_sched) Optimization
1457e4b17023SJohn MarinoPerform SMS based modulo scheduling before the first scheduling pass
1458e4b17023SJohn Marino
1459e4b17023SJohn Marinofmodulo-sched-allow-regmoves
1460e4b17023SJohn MarinoCommon Report Var(flag_modulo_sched_allow_regmoves)
1461e4b17023SJohn MarinoPerform SMS based modulo scheduling with register moves allowed
1462e4b17023SJohn Marino
1463e4b17023SJohn Marinofmove-loop-invariants
1464e4b17023SJohn MarinoCommon Report Var(flag_move_loop_invariants) Init(1) Optimization
1465e4b17023SJohn MarinoMove loop invariant computations out of loops
1466e4b17023SJohn Marino
1467e4b17023SJohn Marinofdce
1468e4b17023SJohn MarinoCommon Var(flag_dce) Init(1) Optimization
1469e4b17023SJohn MarinoUse the RTL dead code elimination pass
1470e4b17023SJohn Marino
1471e4b17023SJohn Marinofdse
1472e4b17023SJohn MarinoCommon Var(flag_dse) Init(1) Optimization
1473e4b17023SJohn MarinoUse the RTL dead store elimination pass
1474e4b17023SJohn Marino
1475e4b17023SJohn Marinofreschedule-modulo-scheduled-loops
1476e4b17023SJohn MarinoCommon Report Var(flag_resched_modulo_sched) Optimization
1477e4b17023SJohn MarinoEnable/Disable the traditional scheduling in loops that already passed modulo scheduling
1478e4b17023SJohn Marino
1479e4b17023SJohn Marinofnon-call-exceptions
1480e4b17023SJohn MarinoCommon Report Var(flag_non_call_exceptions) Optimization
1481e4b17023SJohn MarinoSupport synchronous non-call exceptions
1482e4b17023SJohn Marino
1483e4b17023SJohn Marinofomit-frame-pointer
1484e4b17023SJohn MarinoCommon Report Var(flag_omit_frame_pointer) Optimization
1485e4b17023SJohn MarinoWhen possible do not generate stack frames
1486e4b17023SJohn Marino
1487e4b17023SJohn Marinofoptimize-register-move
1488e4b17023SJohn MarinoCommon Report Var(flag_regmove) Optimization
1489e4b17023SJohn MarinoDo the full register move optimization pass
1490e4b17023SJohn Marino
1491e4b17023SJohn Marinofoptimize-sibling-calls
1492e4b17023SJohn MarinoCommon Report Var(flag_optimize_sibling_calls) Optimization
1493e4b17023SJohn MarinoOptimize sibling and tail recursive calls
1494e4b17023SJohn Marino
1495e4b17023SJohn Marinofpartial-inlining
1496e4b17023SJohn MarinoCommon Report Var(flag_partial_inlining)
1497e4b17023SJohn MarinoPerform partial inlining
1498e4b17023SJohn Marino
1499e4b17023SJohn Marinofpre-ipa-mem-report
1500e4b17023SJohn MarinoCommon Report Var(pre_ipa_mem_report)
1501e4b17023SJohn MarinoReport on memory allocation before interprocedural optimization
1502e4b17023SJohn Marino
1503e4b17023SJohn Marinofpost-ipa-mem-report
1504e4b17023SJohn MarinoCommon Report Var(post_ipa_mem_report)
1505e4b17023SJohn MarinoReport on memory allocation before interprocedural optimization
1506e4b17023SJohn Marino
1507e4b17023SJohn Marinofpack-struct
1508e4b17023SJohn MarinoCommon Report Var(flag_pack_struct) Optimization
1509e4b17023SJohn MarinoPack structure members together without holes
1510e4b17023SJohn Marino
1511e4b17023SJohn Marinofpack-struct=
1512e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Optimization
1513e4b17023SJohn Marino-fpack-struct=<number>	Set initial maximum structure member alignment
1514e4b17023SJohn Marino
1515e4b17023SJohn Marinofpcc-struct-return
1516e4b17023SJohn MarinoCommon Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1517e4b17023SJohn MarinoReturn small aggregates in memory, not registers
1518e4b17023SJohn Marino
1519e4b17023SJohn Marinofpeel-loops
1520e4b17023SJohn MarinoCommon Report Var(flag_peel_loops) Optimization
1521e4b17023SJohn MarinoPerform loop peeling
1522e4b17023SJohn Marino
1523e4b17023SJohn Marinofpeephole
1524e4b17023SJohn MarinoCommon Report Var(flag_no_peephole,0) Optimization
1525e4b17023SJohn MarinoEnable machine specific peephole optimizations
1526e4b17023SJohn Marino
1527e4b17023SJohn Marinofpeephole2
1528e4b17023SJohn MarinoCommon Report Var(flag_peephole2) Optimization
1529e4b17023SJohn MarinoEnable an RTL peephole pass before sched2
1530e4b17023SJohn Marino
1531e4b17023SJohn MarinofPIC
1532e4b17023SJohn MarinoCommon Report Var(flag_pic,2)
1533e4b17023SJohn MarinoGenerate position-independent code if possible (large mode)
1534e4b17023SJohn Marino
1535e4b17023SJohn MarinofPIE
1536e4b17023SJohn MarinoCommon Report Var(flag_pie,2)
1537e4b17023SJohn MarinoGenerate position-independent code for executables if possible (large mode)
1538e4b17023SJohn Marino
1539e4b17023SJohn Marinofpic
1540e4b17023SJohn MarinoCommon Report Var(flag_pic,1)
1541e4b17023SJohn MarinoGenerate position-independent code if possible (small mode)
1542e4b17023SJohn Marino
1543e4b17023SJohn Marinofpie
1544e4b17023SJohn MarinoCommon Report Var(flag_pie,1)
1545e4b17023SJohn MarinoGenerate position-independent code for executables if possible (small mode)
1546e4b17023SJohn Marino
1547e4b17023SJohn Marinofplugin=
1548e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1549e4b17023SJohn MarinoSpecify a plugin to load
1550e4b17023SJohn Marino
1551e4b17023SJohn Marinofplugin-arg-
1552e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1553e4b17023SJohn Marino-fplugin-arg-<name>-<key>[=<value>]	Specify argument <key>=<value> for plugin <name>
1554e4b17023SJohn Marino
1555e4b17023SJohn Marinofpredictive-commoning
1556e4b17023SJohn MarinoCommon Report Var(flag_predictive_commoning) Optimization
1557e4b17023SJohn MarinoRun predictive commoning optimization.
1558e4b17023SJohn Marino
1559e4b17023SJohn Marinofprefetch-loop-arrays
1560e4b17023SJohn MarinoCommon Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1561e4b17023SJohn MarinoGenerate prefetch instructions, if available, for arrays in loops
1562e4b17023SJohn Marino
1563e4b17023SJohn Marinofprofile
1564e4b17023SJohn MarinoCommon Report Var(profile_flag)
1565e4b17023SJohn MarinoEnable basic program profiling code
1566e4b17023SJohn Marino
1567e4b17023SJohn Marinofprofile-arcs
1568e4b17023SJohn MarinoCommon Report Var(profile_arc_flag)
1569e4b17023SJohn MarinoInsert arc-based program profiling code
1570e4b17023SJohn Marino
1571e4b17023SJohn Marinofprofile-dir=
1572e4b17023SJohn MarinoCommon Joined RejectNegative Var(profile_data_prefix)
1573e4b17023SJohn MarinoSet the top-level directory for storing the profile data.
1574e4b17023SJohn MarinoThe default is 'pwd'.
1575e4b17023SJohn Marino
1576e4b17023SJohn Marinofprofile-correction
1577e4b17023SJohn MarinoCommon Report Var(flag_profile_correction)
1578e4b17023SJohn MarinoEnable correction of flow inconsistent profile data input
1579e4b17023SJohn Marino
1580e4b17023SJohn Marinofprofile-generate
1581e4b17023SJohn MarinoCommon
1582e4b17023SJohn MarinoEnable common options for generating profile info for profile feedback directed optimizations
1583e4b17023SJohn Marino
1584e4b17023SJohn Marinofprofile-generate=
1585e4b17023SJohn MarinoCommon Joined RejectNegative
1586e4b17023SJohn MarinoEnable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1587e4b17023SJohn Marino
1588e4b17023SJohn Marinofprofile-use
1589e4b17023SJohn MarinoCommon Var(flag_profile_use)
1590e4b17023SJohn MarinoEnable common options for performing profile feedback directed optimizations
1591e4b17023SJohn Marino
1592e4b17023SJohn Marinofprofile-use=
1593e4b17023SJohn MarinoCommon Joined RejectNegative
1594e4b17023SJohn MarinoEnable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1595e4b17023SJohn Marino
1596e4b17023SJohn Marinofprofile-values
1597e4b17023SJohn MarinoCommon Report Var(flag_profile_values)
1598e4b17023SJohn MarinoInsert code to profile values of expressions
1599e4b17023SJohn Marino
1600e4b17023SJohn Marinofrandom-seed
1601e4b17023SJohn MarinoCommon Var(common_deferred_options) Defer
1602e4b17023SJohn Marino
1603e4b17023SJohn Marinofrandom-seed=
1604e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer
1605e4b17023SJohn Marino-frandom-seed=<string>	Make compile reproducible using <string>
1606e4b17023SJohn Marino
1607e4b17023SJohn Marino; This switch causes the command line that was used to create an
1608e4b17023SJohn Marino; object file to be recorded into the object file.  The exact format
1609e4b17023SJohn Marino; of this recording is target and binary file format dependent.
1610e4b17023SJohn Marino; It is related to the -fverbose-asm switch, but that switch only
1611e4b17023SJohn Marino; records information in the assembler output file as comments, so
1612e4b17023SJohn Marino; they never reach the object file.
1613e4b17023SJohn Marinofrecord-gcc-switches
1614e4b17023SJohn MarinoCommon Report Var(flag_record_gcc_switches)
1615e4b17023SJohn MarinoRecord gcc command line switches in the object file.
1616e4b17023SJohn Marino
1617e4b17023SJohn Marinofreg-struct-return
1618e4b17023SJohn MarinoCommon Report Var(flag_pcc_struct_return,0) Optimization
1619e4b17023SJohn MarinoReturn small aggregates in registers
1620e4b17023SJohn Marino
1621e4b17023SJohn Marinofregmove
1622e4b17023SJohn MarinoCommon Report Var(flag_regmove) Optimization
1623e4b17023SJohn MarinoEnables a register move optimization
1624e4b17023SJohn Marino
1625e4b17023SJohn Marinofrename-registers
1626e4b17023SJohn MarinoCommon Report Var(flag_rename_registers) Init(2) Optimization
1627e4b17023SJohn MarinoPerform a register renaming optimization pass
1628e4b17023SJohn Marino
1629e4b17023SJohn Marinofreorder-blocks
1630e4b17023SJohn MarinoCommon Report Var(flag_reorder_blocks) Optimization
1631e4b17023SJohn MarinoReorder basic blocks to improve code placement
1632e4b17023SJohn Marino
1633e4b17023SJohn Marinofreorder-blocks-and-partition
1634e4b17023SJohn MarinoCommon Report Var(flag_reorder_blocks_and_partition) Optimization
1635e4b17023SJohn MarinoReorder basic blocks and partition into hot and cold sections
1636e4b17023SJohn Marino
1637e4b17023SJohn Marinofreorder-functions
1638e4b17023SJohn MarinoCommon Report Var(flag_reorder_functions) Optimization
1639e4b17023SJohn MarinoReorder functions to improve code placement
1640e4b17023SJohn Marino
1641e4b17023SJohn Marinofrerun-cse-after-loop
1642e4b17023SJohn MarinoCommon Report Var(flag_rerun_cse_after_loop) Optimization
1643e4b17023SJohn MarinoAdd a common subexpression elimination pass after loop optimizations
1644e4b17023SJohn Marino
1645e4b17023SJohn Marinofrerun-loop-opt
1646e4b17023SJohn MarinoCommon Ignore
1647e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1648e4b17023SJohn Marino
1649e4b17023SJohn Marinofrounding-math
1650e4b17023SJohn MarinoCommon Report Var(flag_rounding_math) Optimization SetByCombined
1651e4b17023SJohn MarinoDisable optimizations that assume default FP rounding behavior
1652e4b17023SJohn Marino
1653e4b17023SJohn Marinofsched-interblock
1654e4b17023SJohn MarinoCommon Report Var(flag_schedule_interblock) Init(1) Optimization
1655e4b17023SJohn MarinoEnable scheduling across basic blocks
1656e4b17023SJohn Marino
1657e4b17023SJohn Marinofsched-pressure
1658e4b17023SJohn MarinoCommon Report Var(flag_sched_pressure) Init(0) Optimization
1659e4b17023SJohn MarinoEnable register pressure sensitive insn scheduling
1660e4b17023SJohn Marino
1661e4b17023SJohn Marinofsched-spec
1662e4b17023SJohn MarinoCommon Report Var(flag_schedule_speculative) Init(1) Optimization
1663e4b17023SJohn MarinoAllow speculative motion of non-loads
1664e4b17023SJohn Marino
1665e4b17023SJohn Marinofsched-spec-load
1666e4b17023SJohn MarinoCommon Report Var(flag_schedule_speculative_load) Optimization
1667e4b17023SJohn MarinoAllow speculative motion of some loads
1668e4b17023SJohn Marino
1669e4b17023SJohn Marinofsched-spec-load-dangerous
1670e4b17023SJohn MarinoCommon Report Var(flag_schedule_speculative_load_dangerous) Optimization
1671e4b17023SJohn MarinoAllow speculative motion of more loads
1672e4b17023SJohn Marino
1673e4b17023SJohn Marinofsched-verbose=
1674e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(sched_verbose_param)
1675e4b17023SJohn Marino-fsched-verbose=<number>	Set the verbosity level of the scheduler
1676e4b17023SJohn Marino
1677e4b17023SJohn Marinofsched2-use-superblocks
1678e4b17023SJohn MarinoCommon Report Var(flag_sched2_use_superblocks) Optimization
1679e4b17023SJohn MarinoIf scheduling post reload, do superblock scheduling
1680e4b17023SJohn Marino
1681e4b17023SJohn Marinofsched2-use-traces
1682e4b17023SJohn MarinoCommon Ignore
1683e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1684e4b17023SJohn Marino
1685e4b17023SJohn Marinofschedule-insns
1686e4b17023SJohn MarinoCommon Report Var(flag_schedule_insns) Optimization
1687e4b17023SJohn MarinoReschedule instructions before register allocation
1688e4b17023SJohn Marino
1689e4b17023SJohn Marinofschedule-insns2
1690e4b17023SJohn MarinoCommon Report Var(flag_schedule_insns_after_reload) Optimization
1691e4b17023SJohn MarinoReschedule instructions after register allocation
1692e4b17023SJohn Marino
1693e4b17023SJohn Marino; This flag should be on when a target implements non-trivial
1694e4b17023SJohn Marino; scheduling hooks, maybe saving some information for its own sake.
1695e4b17023SJohn Marino; On IA64, for example, this is used for correct bundling.
1696e4b17023SJohn Marinofselective-scheduling
1697e4b17023SJohn MarinoCommon Report Var(flag_selective_scheduling) Optimization
1698e4b17023SJohn MarinoSchedule instructions using selective scheduling algorithm
1699e4b17023SJohn Marino
1700e4b17023SJohn Marinofselective-scheduling2
1701e4b17023SJohn MarinoCommon Report Var(flag_selective_scheduling2) Optimization
1702e4b17023SJohn MarinoRun selective scheduling after reload
1703e4b17023SJohn Marino
1704e4b17023SJohn Marinofsel-sched-pipelining
1705e4b17023SJohn MarinoCommon Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1706e4b17023SJohn MarinoPerform software pipelining of inner loops during selective scheduling
1707e4b17023SJohn Marino
1708e4b17023SJohn Marinofsel-sched-pipelining-outer-loops
1709e4b17023SJohn MarinoCommon Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1710e4b17023SJohn MarinoPerform software pipelining of outer loops during selective scheduling
1711e4b17023SJohn Marino
1712e4b17023SJohn Marinofsel-sched-reschedule-pipelined
1713e4b17023SJohn MarinoCommon Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1714e4b17023SJohn MarinoReschedule pipelined regions without pipelining
1715e4b17023SJohn Marino
1716e4b17023SJohn Marino; sched_stalled_insns means that insns can be moved prematurely from the queue
1717e4b17023SJohn Marino; of stalled insns into the ready list.
1718e4b17023SJohn Marinofsched-stalled-insns
1719e4b17023SJohn MarinoCommon Report Var(flag_sched_stalled_insns) Optimization UInteger
1720e4b17023SJohn MarinoAllow premature scheduling of queued insns
1721e4b17023SJohn Marino
1722e4b17023SJohn Marinofsched-stalled-insns=
1723e4b17023SJohn MarinoCommon RejectNegative Joined UInteger
1724e4b17023SJohn Marino-fsched-stalled-insns=<number>	Set number of queued insns that can be prematurely scheduled
1725e4b17023SJohn Marino
1726e4b17023SJohn Marino; sched_stalled_insns_dep controls how many recently scheduled cycles will
1727e4b17023SJohn Marino; be examined for a dependency on a stalled insn that is candidate for
1728e4b17023SJohn Marino; premature removal from the queue of stalled insns into the ready list (has
1729e4b17023SJohn Marino; an effect only if the flag 'sched_stalled_insns' is set).
1730e4b17023SJohn Marinofsched-stalled-insns-dep
1731e4b17023SJohn MarinoCommon Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1732e4b17023SJohn MarinoSet dependence distance checking in premature scheduling of queued insns
1733e4b17023SJohn Marino
1734e4b17023SJohn Marinofsched-stalled-insns-dep=
1735e4b17023SJohn MarinoCommon RejectNegative Joined UInteger
1736e4b17023SJohn Marino-fsched-stalled-insns-dep=<number>	Set dependence distance checking in premature scheduling of queued insns
1737e4b17023SJohn Marino
1738e4b17023SJohn Marinofsched-group-heuristic
1739e4b17023SJohn MarinoCommon Report Var(flag_sched_group_heuristic) Init(1) Optimization
1740e4b17023SJohn MarinoEnable the group heuristic in the scheduler
1741e4b17023SJohn Marino
1742e4b17023SJohn Marinofsched-critical-path-heuristic
1743e4b17023SJohn MarinoCommon Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1744e4b17023SJohn MarinoEnable the critical path heuristic in the scheduler
1745e4b17023SJohn Marino
1746e4b17023SJohn Marinofsched-spec-insn-heuristic
1747e4b17023SJohn MarinoCommon Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1748e4b17023SJohn MarinoEnable the speculative instruction heuristic in the scheduler
1749e4b17023SJohn Marino
1750e4b17023SJohn Marinofsched-rank-heuristic
1751e4b17023SJohn MarinoCommon Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1752e4b17023SJohn MarinoEnable the rank heuristic in the scheduler
1753e4b17023SJohn Marino
1754e4b17023SJohn Marinofsched-last-insn-heuristic
1755e4b17023SJohn MarinoCommon Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1756e4b17023SJohn MarinoEnable the last instruction heuristic in the scheduler
1757e4b17023SJohn Marino
1758e4b17023SJohn Marinofsched-dep-count-heuristic
1759e4b17023SJohn MarinoCommon Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1760e4b17023SJohn MarinoEnable the dependent count heuristic in the scheduler
1761e4b17023SJohn Marino
1762e4b17023SJohn Marinofsection-anchors
1763e4b17023SJohn MarinoCommon Report Var(flag_section_anchors) Optimization
1764e4b17023SJohn MarinoAccess data in the same section from shared anchor points
1765e4b17023SJohn Marino
1766e4b17023SJohn Marinofsee
1767e4b17023SJohn MarinoCommon Ignore
1768e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1769e4b17023SJohn Marino
1770e4b17023SJohn Marinofzee
1771e4b17023SJohn MarinoCommon Ignore
1772e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1773e4b17023SJohn Marino
1774e4b17023SJohn Marinofree
1775e4b17023SJohn MarinoCommon Report Var(flag_ree) Init(0)
1776e4b17023SJohn MarinoTurn on Redundant Extensions Elimination pass.
1777e4b17023SJohn Marino
1778e4b17023SJohn Marinofshow-column
1779e4b17023SJohn MarinoCommon Report Var(flag_show_column) Init(1)
1780e4b17023SJohn MarinoShow column numbers in diagnostics, when available.  Default on
1781e4b17023SJohn Marino
1782e4b17023SJohn Marinofshrink-wrap
1783e4b17023SJohn MarinoCommon Report Var(flag_shrink_wrap) Optimization
1784e4b17023SJohn MarinoEmit function prologues only before parts of the function that need it,
1785e4b17023SJohn Marinorather than at the top of the function.
1786e4b17023SJohn Marino
1787e4b17023SJohn Marinofsignaling-nans
1788e4b17023SJohn MarinoCommon Report Var(flag_signaling_nans) Optimization SetByCombined
1789e4b17023SJohn MarinoDisable optimizations observable by IEEE signaling NaNs
1790e4b17023SJohn Marino
1791e4b17023SJohn Marinofsigned-zeros
1792e4b17023SJohn MarinoCommon Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined
1793e4b17023SJohn MarinoDisable floating point optimizations that ignore the IEEE signedness of zero
1794e4b17023SJohn Marino
1795e4b17023SJohn Marinofsingle-precision-constant
1796e4b17023SJohn MarinoCommon Report Var(flag_single_precision_constant) Optimization
1797e4b17023SJohn MarinoConvert floating point constants to single precision constants
1798e4b17023SJohn Marino
1799e4b17023SJohn Marinofsplit-ivs-in-unroller
1800e4b17023SJohn MarinoCommon Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1801e4b17023SJohn MarinoSplit lifetimes of induction variables when loops are unrolled
1802e4b17023SJohn Marino
1803e4b17023SJohn Marinofsplit-stack
1804e4b17023SJohn MarinoCommon Report Var(flag_split_stack) Init(-1)
1805e4b17023SJohn MarinoGenerate discontiguous stack frames
1806e4b17023SJohn Marino
1807e4b17023SJohn Marinofsplit-wide-types
1808e4b17023SJohn MarinoCommon Report Var(flag_split_wide_types) Optimization
1809e4b17023SJohn MarinoSplit wide types into independent registers
1810e4b17023SJohn Marino
1811e4b17023SJohn Marinofvariable-expansion-in-unroller
1812e4b17023SJohn MarinoCommon Report Var(flag_variable_expansion_in_unroller) Optimization
1813e4b17023SJohn MarinoApply variable expansion when loops are unrolled
1814e4b17023SJohn Marino
1815e4b17023SJohn Marinofstack-check=
1816e4b17023SJohn MarinoCommon Report RejectNegative Joined
1817e4b17023SJohn Marino-fstack-check=[no|generic|specific]	Insert stack checking code into the program
1818e4b17023SJohn Marino
1819e4b17023SJohn Marinofstack-check
1820e4b17023SJohn MarinoCommon Alias(fstack-check=, specific, no)
1821e4b17023SJohn MarinoInsert stack checking code into the program.  Same as -fstack-check=specific
1822e4b17023SJohn Marino
1823e4b17023SJohn Marinofstack-limit
1824e4b17023SJohn MarinoCommon Var(common_deferred_options) Defer
1825e4b17023SJohn Marino
1826e4b17023SJohn Marinofstack-limit-register=
1827e4b17023SJohn MarinoCommon RejectNegative Joined Var(common_deferred_options) Defer
1828e4b17023SJohn Marino-fstack-limit-register=<register>	Trap if the stack goes past <register>
1829e4b17023SJohn Marino
1830e4b17023SJohn Marinofstack-limit-symbol=
1831e4b17023SJohn MarinoCommon RejectNegative Joined Var(common_deferred_options) Defer
1832e4b17023SJohn Marino-fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>
1833e4b17023SJohn Marino
1834e4b17023SJohn Marinofstack-protector
1835e4b17023SJohn MarinoCommon Report Var(flag_stack_protect, 1)
1836e4b17023SJohn MarinoUse propolice as a stack protection method
1837e4b17023SJohn Marino
1838e4b17023SJohn Marinofstack-protector-all
1839e4b17023SJohn MarinoCommon Report RejectNegative Var(flag_stack_protect, 2)
1840e4b17023SJohn MarinoUse a stack protection method for every function
1841e4b17023SJohn Marino
1842e4b17023SJohn Marinofstack-usage
1843e4b17023SJohn MarinoCommon RejectNegative Var(flag_stack_usage)
1844e4b17023SJohn MarinoOutput stack usage information on a per-function basis
1845e4b17023SJohn Marino
1846e4b17023SJohn Marinofstrength-reduce
1847e4b17023SJohn MarinoCommon Ignore
1848e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1849e4b17023SJohn Marino
1850e4b17023SJohn Marino; Nonzero if we should do (language-dependent) alias analysis.
1851e4b17023SJohn Marino; Typically, this analysis will assume that expressions of certain
1852e4b17023SJohn Marino; types do not alias expressions of certain other types.  Only used
1853e4b17023SJohn Marino; if alias analysis (in general) is enabled.
1854e4b17023SJohn Marinofstrict-aliasing
1855e4b17023SJohn MarinoCommon Report Var(flag_strict_aliasing) Optimization
1856e4b17023SJohn MarinoAssume strict aliasing rules apply
1857e4b17023SJohn Marino
1858e4b17023SJohn Marinofstrict-overflow
1859e4b17023SJohn MarinoCommon Report Var(flag_strict_overflow)
1860e4b17023SJohn MarinoTreat signed overflow as undefined
1861e4b17023SJohn Marino
1862e4b17023SJohn Marinofsyntax-only
1863e4b17023SJohn MarinoCommon Report Var(flag_syntax_only)
1864e4b17023SJohn MarinoCheck for syntax errors, then stop
1865e4b17023SJohn Marino
1866e4b17023SJohn Marinoftest-coverage
1867e4b17023SJohn MarinoCommon Report Var(flag_test_coverage)
1868e4b17023SJohn MarinoCreate data files needed by \"gcov\"
1869e4b17023SJohn Marino
1870e4b17023SJohn Marinofthread-jumps
1871e4b17023SJohn MarinoCommon Report Var(flag_thread_jumps) Optimization
1872e4b17023SJohn MarinoPerform jump threading optimizations
1873e4b17023SJohn Marino
1874e4b17023SJohn Marinoftime-report
1875e4b17023SJohn MarinoCommon Report Var(time_report)
1876e4b17023SJohn MarinoReport the time taken by each compiler pass
1877e4b17023SJohn Marino
1878e4b17023SJohn Marinoftls-model=
1879e4b17023SJohn MarinoCommon Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)
1880e4b17023SJohn Marino-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]	Set the default thread-local storage code generation model
1881e4b17023SJohn Marino
1882e4b17023SJohn MarinoEnum
1883e4b17023SJohn MarinoName(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)
1884e4b17023SJohn Marino
1885e4b17023SJohn MarinoEnumValue
1886e4b17023SJohn MarinoEnum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)
1887e4b17023SJohn Marino
1888e4b17023SJohn MarinoEnumValue
1889e4b17023SJohn MarinoEnum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)
1890e4b17023SJohn Marino
1891e4b17023SJohn MarinoEnumValue
1892e4b17023SJohn MarinoEnum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)
1893e4b17023SJohn Marino
1894e4b17023SJohn MarinoEnumValue
1895e4b17023SJohn MarinoEnum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)
1896e4b17023SJohn Marino
1897e4b17023SJohn Marinoftoplevel-reorder
1898e4b17023SJohn MarinoCommon Report Var(flag_toplevel_reorder) Init(2) Optimization
1899e4b17023SJohn MarinoReorder top level functions, variables, and asms
1900e4b17023SJohn Marino
1901e4b17023SJohn Marinoftracer
1902e4b17023SJohn MarinoCommon Report Var(flag_tracer)
1903e4b17023SJohn MarinoPerform superblock formation via tail duplication
1904e4b17023SJohn Marino
1905e4b17023SJohn Marino; Zero means that floating-point math operations cannot generate a
1906e4b17023SJohn Marino; (user-visible) trap.  This is the case, for example, in nonstop
1907e4b17023SJohn Marino; IEEE 754 arithmetic.
1908e4b17023SJohn Marinoftrapping-math
1909e4b17023SJohn MarinoCommon Report Var(flag_trapping_math) Init(1) Optimization SetByCombined
1910e4b17023SJohn MarinoAssume floating-point operations can trap
1911e4b17023SJohn Marino
1912e4b17023SJohn Marinoftrapv
1913e4b17023SJohn MarinoCommon Report Var(flag_trapv) Optimization
1914e4b17023SJohn MarinoTrap for signed overflow in addition, subtraction and multiplication
1915e4b17023SJohn Marino
1916e4b17023SJohn Marinoftree-ccp
1917e4b17023SJohn MarinoCommon Report Var(flag_tree_ccp) Optimization
1918e4b17023SJohn MarinoEnable SSA-CCP optimization on trees
1919e4b17023SJohn Marino
1920e4b17023SJohn Marinoftree-bit-ccp
1921e4b17023SJohn MarinoCommon Report Var(flag_tree_bit_ccp) Optimization
1922e4b17023SJohn MarinoEnable SSA-BIT-CCP optimization on trees
1923e4b17023SJohn Marino
1924e4b17023SJohn Marinoftree-store-ccp
1925e4b17023SJohn MarinoCommon Ignore
1926e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1927e4b17023SJohn Marino
1928e4b17023SJohn Marinoftree-ch
1929e4b17023SJohn MarinoCommon Report Var(flag_tree_ch) Optimization
1930e4b17023SJohn MarinoEnable loop header copying on trees
1931e4b17023SJohn Marino
1932e4b17023SJohn Marinoftree-copyrename
1933e4b17023SJohn MarinoCommon Report Var(flag_tree_copyrename) Optimization
1934e4b17023SJohn MarinoReplace SSA temporaries with better names in copies
1935e4b17023SJohn Marino
1936e4b17023SJohn Marinoftree-copy-prop
1937e4b17023SJohn MarinoCommon Report Var(flag_tree_copy_prop) Optimization
1938e4b17023SJohn MarinoEnable copy propagation on trees
1939e4b17023SJohn Marino
1940e4b17023SJohn Marinoftree-store-copy-prop
1941e4b17023SJohn MarinoCommon Ignore
1942e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
1943e4b17023SJohn Marino
1944e4b17023SJohn Marinoftree-cselim
1945e4b17023SJohn MarinoCommon Report Var(flag_tree_cselim) Init(2) Optimization
1946e4b17023SJohn MarinoTransform condition stores into unconditional ones
1947e4b17023SJohn Marino
1948e4b17023SJohn Marinoftree-switch-conversion
1949e4b17023SJohn MarinoCommon Report Var(flag_tree_switch_conversion) Optimization
1950e4b17023SJohn MarinoPerform conversions of switch initializations.
1951e4b17023SJohn Marino
1952e4b17023SJohn Marinoftree-dce
1953e4b17023SJohn MarinoCommon Report Var(flag_tree_dce) Optimization
1954e4b17023SJohn MarinoEnable SSA dead code elimination optimization on trees
1955e4b17023SJohn Marino
1956e4b17023SJohn Marinoftree-dominator-opts
1957e4b17023SJohn MarinoCommon Report Var(flag_tree_dom) Optimization
1958e4b17023SJohn MarinoEnable dominator optimizations
1959e4b17023SJohn Marino
1960e4b17023SJohn Marinoftree-tail-merge
1961e4b17023SJohn MarinoCommon Report Var(flag_tree_tail_merge) Optimization
1962e4b17023SJohn MarinoEnable tail merging on trees
1963e4b17023SJohn Marino
1964e4b17023SJohn Marinoftree-dse
1965e4b17023SJohn MarinoCommon Report Var(flag_tree_dse) Optimization
1966e4b17023SJohn MarinoEnable dead store elimination
1967e4b17023SJohn Marino
1968e4b17023SJohn Marinoftree-forwprop
1969e4b17023SJohn MarinoCommon Report Var(flag_tree_forwprop) Init(1) Optimization
1970e4b17023SJohn MarinoEnable forward propagation on trees
1971e4b17023SJohn Marino
1972e4b17023SJohn Marinoftree-fre
1973e4b17023SJohn MarinoCommon Report Var(flag_tree_fre) Optimization
1974e4b17023SJohn MarinoEnable Full Redundancy Elimination (FRE) on trees
1975e4b17023SJohn Marino
1976e4b17023SJohn Marinofoptimize-strlen
1977e4b17023SJohn MarinoCommon Report Var(flag_optimize_strlen) Optimization
1978e4b17023SJohn MarinoEnable string length optimizations on trees
1979e4b17023SJohn Marino
1980e4b17023SJohn Marinoftree-loop-distribution
1981e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_distribution) Optimization
1982e4b17023SJohn MarinoEnable loop distribution on trees
1983e4b17023SJohn Marino
1984e4b17023SJohn Marinoftree-loop-distribute-patterns
1985e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_distribute_patterns) Optimization
1986e4b17023SJohn MarinoEnable loop distribution for patterns transformed into a library call
1987e4b17023SJohn Marino
1988e4b17023SJohn Marinoftree-loop-im
1989e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_im) Init(1) Optimization
1990e4b17023SJohn MarinoEnable loop invariant motion on trees
1991e4b17023SJohn Marino
1992e4b17023SJohn Marinoftree-loop-linear
1993e4b17023SJohn MarinoCommon Alias(floop-interchange)
1994e4b17023SJohn MarinoEnable loop interchange transforms.  Same as -floop-interchange
1995e4b17023SJohn Marino
1996e4b17023SJohn Marinoftree-loop-ivcanon
1997e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1998e4b17023SJohn MarinoCreate canonical induction variables in loops
1999e4b17023SJohn Marino
2000e4b17023SJohn Marinoftree-loop-optimize
2001e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_optimize) Init(1) Optimization
2002e4b17023SJohn MarinoEnable loop optimizations on tree level
2003e4b17023SJohn Marino
2004e4b17023SJohn Marinoftree-parallelize-loops=
2005e4b17023SJohn MarinoCommon Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
2006e4b17023SJohn MarinoEnable automatic parallelization of loops
2007e4b17023SJohn Marino
2008e4b17023SJohn Marinoftree-phiprop
2009e4b17023SJohn MarinoCommon Report Var(flag_tree_phiprop) Init(1) Optimization
2010e4b17023SJohn MarinoEnable hoisting loads from conditional pointers.
2011e4b17023SJohn Marino
2012e4b17023SJohn Marinoftree-pre
2013e4b17023SJohn MarinoCommon Report Var(flag_tree_pre) Optimization
2014e4b17023SJohn MarinoEnable SSA-PRE optimization on trees
2015e4b17023SJohn Marino
2016e4b17023SJohn Marinoftree-pta
2017e4b17023SJohn MarinoCommon Report Var(flag_tree_pta) Init(1) Optimization
2018e4b17023SJohn MarinoPerform function-local points-to analysis on trees.
2019e4b17023SJohn Marino
2020e4b17023SJohn Marinoftree-reassoc
2021e4b17023SJohn MarinoCommon Report Var(flag_tree_reassoc) Init(1) Optimization
2022e4b17023SJohn MarinoEnable reassociation on tree level
2023e4b17023SJohn Marino
2024e4b17023SJohn Marinoftree-salias
2025e4b17023SJohn MarinoCommon Ignore
2026e4b17023SJohn MarinoDoes nothing.  Preserved for backward compatibility.
2027e4b17023SJohn Marino
2028e4b17023SJohn Marinoftree-sink
2029e4b17023SJohn MarinoCommon Report Var(flag_tree_sink) Optimization
2030e4b17023SJohn MarinoEnable SSA code sinking on trees
2031e4b17023SJohn Marino
2032e4b17023SJohn Marinoftree-sra
2033e4b17023SJohn MarinoCommon Report Var(flag_tree_sra) Optimization
2034e4b17023SJohn MarinoPerform scalar replacement of aggregates
2035e4b17023SJohn Marino
2036e4b17023SJohn Marinoftree-ter
2037e4b17023SJohn MarinoCommon Report Var(flag_tree_ter) Optimization
2038e4b17023SJohn MarinoReplace temporary expressions in the SSA->normal pass
2039e4b17023SJohn Marino
2040e4b17023SJohn Marinoftree-lrs
2041e4b17023SJohn MarinoCommon Report Var(flag_tree_live_range_split) Optimization
2042e4b17023SJohn MarinoPerform live range splitting during the SSA->normal pass
2043e4b17023SJohn Marino
2044e4b17023SJohn Marinoftree-vrp
2045e4b17023SJohn MarinoCommon Report Var(flag_tree_vrp) Init(0) Optimization
2046e4b17023SJohn MarinoPerform Value Range Propagation on trees
2047e4b17023SJohn Marino
2048e4b17023SJohn Marinofunit-at-a-time
2049e4b17023SJohn MarinoCommon Report Var(flag_unit_at_a_time) Init(1) Optimization
2050e4b17023SJohn MarinoCompile whole compilation unit at a time
2051e4b17023SJohn Marino
2052e4b17023SJohn Marinofunroll-loops
2053e4b17023SJohn MarinoCommon Report Var(flag_unroll_loops) Optimization
2054e4b17023SJohn MarinoPerform loop unrolling when iteration count is known
2055e4b17023SJohn Marino
2056e4b17023SJohn Marinofunroll-all-loops
2057e4b17023SJohn MarinoCommon Report Var(flag_unroll_all_loops) Optimization
2058e4b17023SJohn MarinoPerform loop unrolling for all loops
2059e4b17023SJohn Marino
2060e4b17023SJohn Marino; Nonzero means that loop optimizer may assume that the induction variables
2061e4b17023SJohn Marino; that control loops do not overflow and that the loops with nontrivial
2062e4b17023SJohn Marino; exit condition are not infinite
2063e4b17023SJohn Marinofunsafe-loop-optimizations
2064e4b17023SJohn MarinoCommon Report Var(flag_unsafe_loop_optimizations) Optimization
2065e4b17023SJohn MarinoAllow loop optimizations to assume that the loops behave in normal way
2066e4b17023SJohn Marino
2067e4b17023SJohn Marinofassociative-math
2068e4b17023SJohn MarinoCommon Report Var(flag_associative_math) SetByCombined
2069e4b17023SJohn MarinoAllow optimization for floating-point arithmetic which may change the
2070e4b17023SJohn Marinoresult of the operation due to rounding.
2071e4b17023SJohn Marino
2072e4b17023SJohn Marinofreciprocal-math
2073e4b17023SJohn MarinoCommon Report Var(flag_reciprocal_math) SetByCombined
2074e4b17023SJohn MarinoSame as -fassociative-math for expressions which include division.
2075e4b17023SJohn Marino
2076e4b17023SJohn Marino; Nonzero means that unsafe floating-point math optimizations are allowed
2077e4b17023SJohn Marino; for the sake of speed.  IEEE compliance is not guaranteed, and operations
2078e4b17023SJohn Marino; are allowed to assume that their arguments and results are "normal"
2079e4b17023SJohn Marino; (e.g., nonnegative for SQRT).
2080e4b17023SJohn Marinofunsafe-math-optimizations
2081e4b17023SJohn MarinoCommon Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined
2082e4b17023SJohn MarinoAllow math optimizations that may violate IEEE or ISO standards
2083e4b17023SJohn Marino
2084e4b17023SJohn Marinofunswitch-loops
2085e4b17023SJohn MarinoCommon Report Var(flag_unswitch_loops) Optimization
2086e4b17023SJohn MarinoPerform loop unswitching
2087e4b17023SJohn Marino
2088e4b17023SJohn Marinofunwind-tables
2089e4b17023SJohn MarinoCommon Report Var(flag_unwind_tables) Optimization
2090e4b17023SJohn MarinoJust generate unwind tables for exception handling
2091e4b17023SJohn Marino
2092e4b17023SJohn Marinofuse-linker-plugin
2093e4b17023SJohn MarinoCommon Undocumented
2094e4b17023SJohn Marino
2095e4b17023SJohn Marino; Positive if we should track variables, negative if we should run
2096e4b17023SJohn Marino; the var-tracking pass only to discard debug annotations, zero if
2097e4b17023SJohn Marino; we're not to run it.  When flag_var_tracking == 2 (AUTODETECT_VALUE) it
2098e4b17023SJohn Marino; will be set according to optimize, debug_info_level and debug_hooks
2099e4b17023SJohn Marino; in process_options ().
2100e4b17023SJohn Marinofvar-tracking
2101e4b17023SJohn MarinoCommon Report Var(flag_var_tracking) Init(2) Optimization
2102e4b17023SJohn MarinoPerform variable tracking
2103e4b17023SJohn Marino
2104e4b17023SJohn Marino; Positive if we should track variables at assignments, negative if
2105e4b17023SJohn Marino; we should run the var-tracking pass only to discard debug
2106e4b17023SJohn Marino; annotations.  When flag_var_tracking_assignments ==
2107e4b17023SJohn Marino; AUTODETECT_VALUE it will be set according to flag_var_tracking.
2108e4b17023SJohn Marinofvar-tracking-assignments
2109e4b17023SJohn MarinoCommon Report Var(flag_var_tracking_assignments) Init(2) Optimization
2110e4b17023SJohn MarinoPerform variable tracking by annotating assignments
2111e4b17023SJohn Marino
2112e4b17023SJohn Marino; Nonzero if we should toggle flag_var_tracking_assignments after
2113e4b17023SJohn Marino; processing options and computing its default.  */
2114e4b17023SJohn Marinofvar-tracking-assignments-toggle
2115e4b17023SJohn MarinoCommon Report Var(flag_var_tracking_assignments_toggle) Optimization
2116e4b17023SJohn MarinoToggle -fvar-tracking-assignments
2117e4b17023SJohn Marino
2118*5ce9237cSJohn Marino; Positive if we should track uninitialized variables, negative if
2119*5ce9237cSJohn Marino; we should run the var-tracking pass only to discard debug
2120*5ce9237cSJohn Marino; annotations.  When flag_var_tracking_uninit == AUTODETECT_VALUE it
2121*5ce9237cSJohn Marino; will be set according to flag_var_tracking.
2122e4b17023SJohn Marinofvar-tracking-uninit
2123e4b17023SJohn MarinoCommon Report Var(flag_var_tracking_uninit) Optimization
2124e4b17023SJohn MarinoPerform variable tracking and also tag variables that are uninitialized
2125e4b17023SJohn Marino
2126e4b17023SJohn Marinoftree-vectorize
2127e4b17023SJohn MarinoCommon Report Var(flag_tree_vectorize) Optimization
2128e4b17023SJohn MarinoEnable loop vectorization on trees
2129e4b17023SJohn Marino
2130e4b17023SJohn Marinoftree-slp-vectorize
2131e4b17023SJohn MarinoCommon Report Var(flag_tree_slp_vectorize) Init(2) Optimization
2132e4b17023SJohn MarinoEnable basic block vectorization (SLP) on trees
2133e4b17023SJohn Marino
2134e4b17023SJohn Marinofvect-cost-model
2135e4b17023SJohn MarinoCommon Report Var(flag_vect_cost_model) Optimization
2136e4b17023SJohn MarinoEnable use of cost model in vectorization
2137e4b17023SJohn Marino
2138e4b17023SJohn Marinoftree-vect-loop-version
2139e4b17023SJohn MarinoCommon Report Var(flag_tree_vect_loop_version) Init(1) Optimization
2140e4b17023SJohn MarinoEnable loop versioning when doing loop vectorization on trees
2141e4b17023SJohn Marino
2142e4b17023SJohn Marinoftree-vectorizer-verbose=
2143e4b17023SJohn MarinoCommon RejectNegative Joined UInteger
2144e4b17023SJohn Marino-ftree-vectorizer-verbose=<number>	Set the verbosity level of the vectorizer
2145e4b17023SJohn Marino
2146e4b17023SJohn Marinoftree-scev-cprop
2147e4b17023SJohn MarinoCommon Report Var(flag_tree_scev_cprop) Init(1) Optimization
2148e4b17023SJohn MarinoEnable copy propagation of scalar-evolution information.
2149e4b17023SJohn Marino
2150e4b17023SJohn Marino; -fverbose-asm causes extra commentary information to be produced in
2151e4b17023SJohn Marino; the generated assembly code (to make it more readable).  This option
2152e4b17023SJohn Marino; is generally only of use to those who actually need to read the
2153e4b17023SJohn Marino; generated assembly code (perhaps while debugging the compiler itself).
2154e4b17023SJohn Marino; -fno-verbose-asm, the default, causes the extra information
2155e4b17023SJohn Marino; to not be added and is useful when comparing two assembler files.
2156e4b17023SJohn Marinofverbose-asm
2157e4b17023SJohn MarinoCommon Report Var(flag_verbose_asm)
2158e4b17023SJohn MarinoAdd extra commentary to assembler output
2159e4b17023SJohn Marino
2160e4b17023SJohn Marinofvisibility=
2161e4b17023SJohn MarinoCommon Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)
2162e4b17023SJohn Marino-fvisibility=[default|internal|hidden|protected]	Set the default symbol visibility
2163e4b17023SJohn Marino
2164e4b17023SJohn MarinoEnum
2165e4b17023SJohn MarinoName(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)
2166e4b17023SJohn Marino
2167e4b17023SJohn MarinoEnumValue
2168e4b17023SJohn MarinoEnum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)
2169e4b17023SJohn Marino
2170e4b17023SJohn MarinoEnumValue
2171e4b17023SJohn MarinoEnum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)
2172e4b17023SJohn Marino
2173e4b17023SJohn MarinoEnumValue
2174e4b17023SJohn MarinoEnum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)
2175e4b17023SJohn Marino
2176e4b17023SJohn MarinoEnumValue
2177e4b17023SJohn MarinoEnum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)
2178e4b17023SJohn Marino
2179e4b17023SJohn Marinofvpt
2180e4b17023SJohn MarinoCommon Report Var(flag_value_profile_transformations) Optimization
2181e4b17023SJohn MarinoUse expression value profiles in optimizations
2182e4b17023SJohn Marino
2183e4b17023SJohn Marinofweb
2184e4b17023SJohn MarinoCommon Report Var(flag_web) Init(2) Optimization
2185e4b17023SJohn MarinoConstruct webs and split unrelated uses of single variable
2186e4b17023SJohn Marino
2187e4b17023SJohn Marinoftree-builtin-call-dce
2188e4b17023SJohn MarinoCommon Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
2189e4b17023SJohn MarinoEnable conditional dead code elimination for builtin calls
2190e4b17023SJohn Marino
2191e4b17023SJohn Marinofwhole-program
2192e4b17023SJohn MarinoCommon Report Var(flag_whole_program) Init(0) Optimization
2193e4b17023SJohn MarinoPerform whole program optimizations
2194e4b17023SJohn Marino
2195e4b17023SJohn Marinofwrapv
2196e4b17023SJohn MarinoCommon Report Var(flag_wrapv) Optimization
2197e4b17023SJohn MarinoAssume signed arithmetic overflow wraps around
2198e4b17023SJohn Marino
2199e4b17023SJohn Marinofzero-initialized-in-bss
2200e4b17023SJohn MarinoCommon Report Var(flag_zero_initialized_in_bss) Init(1)
2201e4b17023SJohn MarinoPut zero initialized data in the bss section
2202e4b17023SJohn Marino
2203e4b17023SJohn Marinog
2204e4b17023SJohn MarinoCommon JoinedOrMissing
2205e4b17023SJohn MarinoGenerate debug information in default format
2206e4b17023SJohn Marino
2207e4b17023SJohn Marinogcoff
2208e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gdwarf-)
2209e4b17023SJohn MarinoGenerate debug information in COFF format
2210e4b17023SJohn Marino
2211e4b17023SJohn Marinogdwarf-
2212e4b17023SJohn MarinoCommon Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
2213e4b17023SJohn MarinoGenerate debug information in DWARF v2 (or later) format
2214e4b17023SJohn Marino
2215e4b17023SJohn Marinoggdb
2216e4b17023SJohn MarinoCommon JoinedOrMissing
2217e4b17023SJohn MarinoGenerate debug information in default extended format
2218e4b17023SJohn Marino
2219e4b17023SJohn Marinogno-record-gcc-switches
2220e4b17023SJohn MarinoCommon RejectNegative Var(dwarf_record_gcc_switches,0) Init(0)
2221e4b17023SJohn MarinoDon't record gcc command line switches in DWARF DW_AT_producer.
2222e4b17023SJohn Marino
2223e4b17023SJohn Marinogrecord-gcc-switches
2224e4b17023SJohn MarinoCommon RejectNegative Var(dwarf_record_gcc_switches,1)
2225e4b17023SJohn MarinoRecord gcc command line switches in DWARF DW_AT_producer.
2226e4b17023SJohn Marino
2227e4b17023SJohn Marinogstabs
2228e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gstabs+)
2229e4b17023SJohn MarinoGenerate debug information in STABS format
2230e4b17023SJohn Marino
2231e4b17023SJohn Marinogstabs+
2232e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gvms)
2233e4b17023SJohn MarinoGenerate debug information in extended STABS format
2234e4b17023SJohn Marino
2235e4b17023SJohn Marinogno-strict-dwarf
2236e4b17023SJohn MarinoCommon RejectNegative Var(dwarf_strict,0) Init(-1)
2237e4b17023SJohn MarinoEmit DWARF additions beyond selected version
2238e4b17023SJohn Marino
2239e4b17023SJohn Marinogstrict-dwarf
2240e4b17023SJohn MarinoCommon Report RejectNegative Var(dwarf_strict,1)
2241e4b17023SJohn MarinoDon't emit DWARF additions beyond selected version
2242e4b17023SJohn Marino
2243e4b17023SJohn Marinogtoggle
2244e4b17023SJohn MarinoCommon Report Var(flag_gtoggle)
2245e4b17023SJohn MarinoToggle debug information generation
2246e4b17023SJohn Marino
2247e4b17023SJohn Marinogvms
2248e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gxcoff)
2249e4b17023SJohn MarinoGenerate debug information in VMS format
2250e4b17023SJohn Marino
2251e4b17023SJohn Marinogxcoff
2252e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gxcoff+)
2253e4b17023SJohn MarinoGenerate debug information in XCOFF format
2254e4b17023SJohn Marino
2255e4b17023SJohn Marinogxcoff+
2256e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gcoff)
2257e4b17023SJohn MarinoGenerate debug information in extended XCOFF format
2258e4b17023SJohn Marino
2259e4b17023SJohn Marinoh
2260e4b17023SJohn MarinoDriver Joined Separate
2261e4b17023SJohn Marino
2262e4b17023SJohn Marinoiplugindir=
2263e4b17023SJohn MarinoCommon Joined Var(plugindir_string) Init(0)
2264e4b17023SJohn Marino-iplugindir=<dir>	Set <dir> to be the default plugin directory
2265e4b17023SJohn Marino
2266*5ce9237cSJohn Marinoimultiarch
2267*5ce9237cSJohn MarinoCommon Joined Separate RejectDriver Var(imultiarch) Init(0)
2268*5ce9237cSJohn Marino-imultiarch <dir>	Set <dir> to be the multiarch include subdirectory
2269*5ce9237cSJohn Marino
2270e4b17023SJohn Marinol
2271e4b17023SJohn MarinoDriver Joined Separate
2272e4b17023SJohn Marino
2273e4b17023SJohn Marinon
2274e4b17023SJohn MarinoDriver
2275e4b17023SJohn Marino
2276e4b17023SJohn Marinono-canonical-prefixes
2277e4b17023SJohn MarinoDriver
2278e4b17023SJohn Marino
2279e4b17023SJohn Marinonodefaultlibs
2280e4b17023SJohn MarinoDriver
2281e4b17023SJohn Marino
2282e4b17023SJohn Marinonostartfiles
2283e4b17023SJohn MarinoDriver
2284e4b17023SJohn Marino
2285e4b17023SJohn Marinonostdlib
2286e4b17023SJohn MarinoDriver
2287e4b17023SJohn Marino
2288e4b17023SJohn Marinoo
2289e4b17023SJohn MarinoCommon Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)
2290e4b17023SJohn Marino-o <file>	Place output into <file>
2291e4b17023SJohn Marino
2292e4b17023SJohn Marinop
2293e4b17023SJohn MarinoCommon Var(profile_flag)
2294e4b17023SJohn MarinoEnable function profiling
2295e4b17023SJohn Marino
2296e4b17023SJohn Marinopass-exit-codes
2297e4b17023SJohn MarinoDriver Var(pass_exit_codes)
2298e4b17023SJohn Marino
2299e4b17023SJohn Marinopedantic
2300e4b17023SJohn MarinoCommon Var(pedantic)
2301e4b17023SJohn MarinoIssue warnings needed for strict compliance to the standard
2302e4b17023SJohn Marino
2303e4b17023SJohn Marinopedantic-errors
2304e4b17023SJohn MarinoCommon Var(flag_pedantic_errors)
2305e4b17023SJohn MarinoLike -pedantic but issue them as errors
2306e4b17023SJohn Marino
2307e4b17023SJohn Marinopg
2308e4b17023SJohn MarinoDriver
2309e4b17023SJohn Marino
2310e4b17023SJohn Marinopipe
2311e4b17023SJohn MarinoDriver Var(use_pipes)
2312e4b17023SJohn Marino
2313e4b17023SJohn Marinoprint-file-name=
2314e4b17023SJohn MarinoDriver JoinedOrMissing Var(print_file_name)
2315e4b17023SJohn Marino
2316e4b17023SJohn Marinoprint-libgcc-file-name
2317e4b17023SJohn MarinoDriver
2318e4b17023SJohn Marino
2319e4b17023SJohn Marinoprint-multi-directory
2320e4b17023SJohn MarinoDriver Var(print_multi_directory)
2321e4b17023SJohn Marino
2322e4b17023SJohn Marinoprint-multi-lib
2323e4b17023SJohn MarinoDriver Var(print_multi_lib)
2324e4b17023SJohn Marino
2325e4b17023SJohn Marinoprint-multi-os-directory
2326e4b17023SJohn MarinoDriver Var(print_multi_os_directory)
2327e4b17023SJohn Marino
2328*5ce9237cSJohn Marinoprint-multiarch
2329*5ce9237cSJohn MarinoDriver Var(print_multiarch)
2330*5ce9237cSJohn Marino
2331e4b17023SJohn Marinoprint-prog-name=
2332e4b17023SJohn MarinoDriver JoinedOrMissing Var(print_prog_name)
2333e4b17023SJohn Marino
2334e4b17023SJohn Marinoprint-search-dirs
2335e4b17023SJohn MarinoDriver Var(print_search_dirs)
2336e4b17023SJohn Marino
2337e4b17023SJohn Marinoprint-sysroot
2338e4b17023SJohn MarinoDriver Var(print_sysroot)
2339e4b17023SJohn Marino
2340e4b17023SJohn Marinoprint-sysroot-headers-suffix
2341e4b17023SJohn MarinoDriver Var(print_sysroot_headers_suffix)
2342e4b17023SJohn Marino
2343e4b17023SJohn Marinoquiet
2344e4b17023SJohn MarinoCommon Var(quiet_flag) RejectDriver
2345e4b17023SJohn MarinoDo not display functions compiled or elapsed time
2346e4b17023SJohn Marino
2347e4b17023SJohn Marinor
2348e4b17023SJohn MarinoDriver
2349e4b17023SJohn Marino
2350e4b17023SJohn Marinos
2351e4b17023SJohn MarinoDriver
2352e4b17023SJohn Marino
2353e4b17023SJohn Marinosave-temps
2354e4b17023SJohn MarinoDriver
2355e4b17023SJohn Marino
2356e4b17023SJohn Marinosave-temps=
2357e4b17023SJohn MarinoDriver Joined
2358e4b17023SJohn Marino
2359e4b17023SJohn Marinot
2360e4b17023SJohn MarinoDriver
2361e4b17023SJohn Marino
2362e4b17023SJohn Marinotime
2363e4b17023SJohn MarinoDriver Var(report_times)
2364e4b17023SJohn Marino
2365e4b17023SJohn Marinotime=
2366e4b17023SJohn MarinoDriver JoinedOrMissing
2367e4b17023SJohn Marino
2368e4b17023SJohn Marinou
2369e4b17023SJohn MarinoDriver Joined Separate
2370e4b17023SJohn Marino
2371e4b17023SJohn Marinoundef
2372e4b17023SJohn MarinoDriver
2373e4b17023SJohn Marino; C option, but driver must not handle as "-u ndef".
2374e4b17023SJohn Marino
2375e4b17023SJohn Marinov
2376e4b17023SJohn MarinoCommon Driver Var(verbose_flag)
2377e4b17023SJohn MarinoEnable verbose output
2378e4b17023SJohn Marino
2379e4b17023SJohn Marinoversion
2380e4b17023SJohn MarinoCommon Var(version_flag) RejectDriver
2381e4b17023SJohn MarinoDisplay the compiler's version
2382e4b17023SJohn Marino
2383e4b17023SJohn Marinow
2384e4b17023SJohn MarinoCommon Var(inhibit_warnings)
2385e4b17023SJohn MarinoSuppress warnings
2386e4b17023SJohn Marino
2387e4b17023SJohn Marinowrapper
2388e4b17023SJohn MarinoDriver Separate Var(wrapper_string)
2389e4b17023SJohn Marino
2390e4b17023SJohn Marinox
2391e4b17023SJohn MarinoDriver Joined Separate
2392e4b17023SJohn Marino
2393e4b17023SJohn Marinoshared
2394e4b17023SJohn MarinoDriver RejectNegative Negative(pie)
2395e4b17023SJohn MarinoCreate a shared library
2396e4b17023SJohn Marino
2397e4b17023SJohn Marinoshared-libgcc
2398e4b17023SJohn MarinoDriver
2399e4b17023SJohn Marino
2400e4b17023SJohn Marinospecs
2401e4b17023SJohn MarinoDriver Separate Alias(specs=)
2402e4b17023SJohn Marino
2403e4b17023SJohn Marinospecs=
2404e4b17023SJohn MarinoDriver Joined
2405e4b17023SJohn Marino
2406e4b17023SJohn Marinostatic
2407e4b17023SJohn MarinoDriver
2408e4b17023SJohn Marino
2409e4b17023SJohn Marinostatic-libgcc
2410e4b17023SJohn MarinoDriver
2411e4b17023SJohn Marino
2412e4b17023SJohn Marinostatic-libgfortran
2413e4b17023SJohn MarinoDriver
2414e4b17023SJohn Marino; Documented for Fortran, but always accepted by driver.
2415e4b17023SJohn Marino
2416e4b17023SJohn Marinostatic-libstdc++
2417e4b17023SJohn MarinoDriver
2418e4b17023SJohn Marino
2419e4b17023SJohn Marinostatic-libgo
2420e4b17023SJohn MarinoDriver
2421e4b17023SJohn Marino; Documented for Go, but always accepted by driver.
2422e4b17023SJohn Marino
2423e4b17023SJohn Marinosymbolic
2424e4b17023SJohn MarinoDriver
2425e4b17023SJohn Marino
2426e4b17023SJohn Marinopie
2427e4b17023SJohn MarinoDriver RejectNegative Negative(shared)
2428e4b17023SJohn MarinoCreate a position independent executable
2429e4b17023SJohn Marino
2430e4b17023SJohn Marinoz
2431e4b17023SJohn MarinoDriver Joined Separate
2432e4b17023SJohn Marino
2433e4b17023SJohn Marino; This comment is to ensure we retain the blank line above.
2434