]> gcc.gnu.org Git - gcc.git/blame - gcc/common.opt
tree-sra.c (type_consists_of_records_p): Do not check for trailing zero sized bit...
[gcc.git] / gcc / common.opt
CommitLineData
d7b42618 1; Options for the language- and target-independent parts of the compiler.
50431bc4 2
d7fb0a6d 3; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
28a08168 4; Free Software Foundation, Inc.
d7b42618
NB
5;
6; This file is part of GCC.
7;
8; GCC is free software; you can redistribute it and/or modify it under
9; the terms of the GNU General Public License as published by the Free
9dcd6f09 10; Software Foundation; either version 3, or (at your option) any later
d7b42618 11; version.
c22cacf3 12;
d7b42618
NB
13; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14; WARRANTY; without even the implied warranty of MERCHANTABILITY or
15; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16; for more details.
c22cacf3 17;
d7b42618 18; You should have received a copy of the GNU General Public License
9dcd6f09
NC
19; along with GCC; see the file COPYING3. If not see
20; <http://www.gnu.org/licenses/>.
d7b42618 21
71733172 22; See the GCC internals manual (options.texi) for a description of this file's format.
d7b42618
NB
23
24; Please try to keep this file in ASCII collating order.
25
e90afde6
JM
26Variable
27int target_flags
28
603349bf
JM
29###
30Driver
31
e200444e
JM
32-assemble
33Driver Alias(S)
34
35-compile
36Driver Alias(c)
37
38-coverage
39Driver Alias(coverage)
40
41-debug
42Common Alias(g)
43
44-dump
45Common Separate Alias(d)
46
47-dump=
48Common Joined Alias(d)
49
50-dumpbase
51Common Separate Alias(dumpbase)
52
53-dumpdir
54Common Separate Alias(dumpdir)
55
56-entry
57Driver Separate Alias(e)
58
59-entry=
60Driver Joined Alias(e)
61
62-extra-warnings
63Common Warning Alias(Wextra)
64
65-for-assembler
66Driver Separate Alias(Xassembler)
67
68-for-assembler=
69Driver JoinedOrMissing Alias(Xassembler)
70
71-for-linker
72Driver Separate Alias(Xlinker)
73
74-for-linker=
75Driver JoinedOrMissing Alias(Xlinker)
76
77-force-link
78Driver Separate Alias(u)
79
80-force-link=
81Driver Joined Alias(u)
82
d185d268 83-help
e200444e 84Common Driver Var(help_flag)
cf03fd63 85Display this information
d185d268 86
c662432e 87-help=
603349bf 88Common Driver Report Joined
c662432e 89--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
903caebf 90
e200444e
JM
91-language
92Driver Separate Alias(x)
93
94-language=
95Driver Joined Alias(x)
96
97-library-directory
98Driver Separate Alias(L)
99
100-library-directory=
101Driver Joined Alias(L)
102
103-no-canonical-prefixes
104Driver Alias(no-canonical-prefixes)
105
106-no-standard-libraries
107Driver Alias(nostdlib)
108
109-no-warnings
110Common Alias(w)
111
112-optimize
113Common Alias(O)
114
115-output
116Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
117
118-output=
119Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
120
121-pass-exit-codes
122Driver Alias(pass-exit-codes)
123
124-pedantic
125Common Alias(pedantic)
126
127-pedantic-errors
128Common Alias(pedantic-errors)
129
130-pie
131Common Alias(pie)
132
133-pipe
134Driver Alias(pipe)
135
136-prefix
137Driver Separate Alias(B)
138
139-prefix=
140Driver JoinedOrMissing Alias(B)
141
142-preprocess
143Driver Alias(E)
144
145-print-file-name
146Driver Separate Alias(print-file-name=)
147
148-print-file-name=
149Driver JoinedOrMissing Alias(print-file-name=)
150
151-print-libgcc-file-name
152Driver Alias(print-libgcc-file-name)
153
154-print-multi-directory
155Driver Alias(print-multi-directory)
156
157-print-multi-lib
158Driver Alias(print-multi-lib)
159
160-print-multi-os-directory
161Driver Alias(print-multi-os-directory)
162
163-print-prog-name
164Driver Separate Alias(print-prog-name=)
165
166-print-prog-name=
167Driver JoinedOrMissing Alias(print-prog-name=)
168
169-print-search-dirs
170Driver Alias(print-search-dirs)
171
172-print-sysroot
173Driver Alias(print-sysroot)
174
175-print-sysroot-headers-suffix
176Driver Alias(print-sysroot-headers-suffix)
177
178-profile
179Common Alias(p)
180
181-save-temps
182Driver Alias(save-temps)
183
184-shared
185Common Alias(shared)
186
187-specs
188Driver Separate Alias(specs=)
189
190-specs=
191Driver Joined Alias(specs=)
192
193-static
194Driver Alias(static)
195
196-symbolic
197Driver Alias(symbolic)
198
d185d268 199-target-help
603349bf 200Common Driver
c662432e
NC
201Alias for --help=target
202
e200444e
JM
203-time
204Driver Alias(time)
205
206-verbose
207Driver Alias(v)
208
209;; The driver used to convert options such as --help into forms such
210;; as -fhelp; the following four entries are for compatibility with
211;; any direct uses of those (undocumented) -f forms
c662432e 212fhelp
e200444e 213Common Driver Alias(-help)
c662432e
NC
214
215fhelp=
e200444e 216Common Driver Joined Alias(-help=)
c662432e
NC
217
218ftarget-help
e200444e 219Common Driver Alias(-target-help)
c662432e 220
41fd0f9b 221fversion
e200444e 222Common Driver Alias(-version)
41fd0f9b 223
c662432e
NC
224-param
225Common Separate
226--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
d185d268 227
e200444e
JM
228-param=
229Common Joined Alias(-param)
230
231-sysroot
232Driver Separate Alias(-sysroot=)
233
603349bf
JM
234-sysroot=
235Driver JoinedOrMissing
236
d185d268 237-version
603349bf
JM
238Common Driver
239
240B
241Driver Joined Separate
242
243E
244Driver
d185d268 245
d9d16a19
JM
246L
247Driver Joined Separate
248
903caebf 249O
ab442df7 250Common JoinedOrMissing Optimization
cf03fd63 251-O<number> Set optimization level to <number>
903caebf
NB
252
253Os
ab442df7 254Common Optimization
cf03fd63 255Optimize for space rather than speed
903caebf 256
be6d3f0e
RG
257Ofast
258Common Optimization
259Optimize for speed disregarding exact standards compliance
260
603349bf
JM
261S
262Driver
263
903caebf 264W
5de8299c 265Common RejectNegative Warning Alias(Wextra)
28786366 266This switch is deprecated; use -Wextra instead
903caebf 267
603349bf
JM
268Wa,
269Driver JoinedOrMissing
270
271Wl,
272Driver JoinedOrMissing
273
274Wp,
275Driver JoinedOrMissing
276
e01cc6dc 277Waggregate-return
c662432e 278Common Var(warn_aggregate_return) Warning
28786366 279Warn about returning structures, unions or arrays
e01cc6dc 280
590b1f2d 281Warray-bounds
21af5cdf 282Common Var(warn_array_bounds) Warning
590b1f2d
DM
283Warn if an array is accessed out of bounds
284
5c498b10 285Wattributes
c662432e 286Common Var(warn_attributes) Init(1) Warning
5c498b10
DD
287Warn about inappropriate attribute usage
288
e01cc6dc 289Wcast-align
c662432e 290Common Var(warn_cast_align) Warning
28786366 291Warn about pointer casts which increase alignment
e01cc6dc 292
87cf0651
SB
293Wcpp
294Common Var(warn_cpp) Init(1) Warning
295Warn when a #warning directive is encountered
296
e01cc6dc 297Wdeprecated-declarations
c662432e 298Common Var(warn_deprecated_decl) Init(1) Warning
28786366 299Warn about uses of __attribute__((deprecated)) declarations
e01cc6dc
NB
300
301Wdisabled-optimization
c662432e 302Common Var(warn_disabled_optimization) Warning
28786366 303Warn when an optimization pass is disabled
e01cc6dc
NB
304
305Werror
50431bc4 306Common Var(warnings_are_errors)
28786366 307Treat all warnings as errors
e01cc6dc 308
79cf5994
DD
309Werror=
310Common Joined
311Treat specified warning as error
312
903caebf 313Wextra
62a67c94 314Common Var(extra_warnings) Warning
cf03fd63 315Print extra (possibly unwanted) warnings
903caebf 316
c65a01af 317Wfatal-errors
50431bc4 318Common Var(flag_fatal_errors)
c65a01af
RG
319Exit on the first error occurred
320
a214518f
SP
321Wframe-larger-than=
322Common RejectNegative Joined UInteger
f94e1d66 323-Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
a214518f 324
e01cc6dc 325Winline
c662432e 326Common Var(warn_inline) Warning
28786366 327Warn when an inlined function cannot be inlined
e01cc6dc
NB
328
329Wlarger-than-
5de8299c 330Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
e8fc888d
MLI
331
332Wlarger-than=
333Common RejectNegative Joined UInteger Warning
334-Wlarger-than=<number> Warn if an object is larger than <number> bytes
e01cc6dc 335
f9cc1a70 336Wunsafe-loop-optimizations
c662432e 337Common Var(warn_unsafe_loop_optimizations) Warning
f9cc1a70
PB
338Warn if the loop cannot be optimized due to nontrivial assumptions.
339
e01cc6dc 340Wmissing-noreturn
c662432e 341Common Var(warn_missing_noreturn) Warning
28786366 342Warn about functions which might be candidates for __attribute__((noreturn))
e01cc6dc 343
7621f5d5
VR
344Wmudflap
345Common Var(warn_mudflap) Init(1) Warning
346Warn about constructs not instrumented by -fmudflap
347
71834ad3 348Woverflow
c662432e 349Common Var(warn_overflow) Init(1) Warning
71834ad3
RS
350Warn about overflow in arithmetic expressions
351
e01cc6dc 352Wpacked
c662432e 353Common Var(warn_packed) Warning
28786366 354Warn when the packed attribute has no effect on struct layout
e01cc6dc
NB
355
356Wpadded
c662432e 357Common Var(warn_padded) Warning
28786366 358Warn when padding is required to align structure members
e01cc6dc
NB
359
360Wshadow
c662432e 361Common Var(warn_shadow) Warning
28786366 362Warn when one local variable shadows another
e01cc6dc 363
7d69de61 364Wstack-protector
c662432e 365Common Var(warn_stack_protect) Warning
7d69de61
RH
366Warn when not issuing stack smashing protection for some reason
367
e01cc6dc 368Wstrict-aliasing
c662432e 369Common Warning
28786366 370Warn about code which might break strict aliasing rules
e01cc6dc 371
5399d643 372Wstrict-aliasing=
fcfbd84e 373Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
5399d643
JW
374Warn about code which might break strict aliasing rules
375
6ac01510 376Wstrict-overflow
21af5cdf 377Common Warning
6ac01510
ILT
378Warn about optimizations that assume that signed overflow is undefined
379
380Wstrict-overflow=
fcfbd84e 381Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
6ac01510
ILT
382Warn about optimizations that assume that signed overflow is undefined
383
5dc16b19
MLI
384Wsuggest-attribute=const
385Common Var(warn_suggest_attribute_const) Warning
386Warn about functions which might be candidates for __attribute__((const))
387
388Wsuggest-attribute=pure
389Common Var(warn_suggest_attribute_pure) Warning
390Warn about functions which might be candidates for __attribute__((pure))
391
7ea6b6cf
JH
392Wsuggest-attribute=noreturn
393Common Var(warn_suggest_attribute_noreturn) Warning
394Warn about functions which might be candidates for __attribute__((noreturn))
395
e01cc6dc 396Wswitch
c662432e 397Common Var(warn_switch) Warning
28786366 398Warn about enumerated switches, with no default, missing a case
e01cc6dc
NB
399
400Wswitch-default
c662432e 401Common Var(warn_switch_default) Warning
28786366 402Warn about enumerated switches missing a \"default:\" statement
e01cc6dc
NB
403
404Wswitch-enum
c662432e 405Common Var(warn_switch_enum) Warning
28786366 406Warn about all enumerated switches missing a specific case
e01cc6dc
NB
407
408Wsystem-headers
c662432e 409Common Var(warn_system_headers) Warning
f3fdaec4 410Do not suppress warnings from system headers
e01cc6dc 411
8ffadef9
MG
412Wtrampolines
413Common Var(warn_trampolines) Warning
414Warn whenever a trampoline is generated
415
faebccf9
DN
416Wtype-limits
417Common Var(warn_type_limits) Init(-1) Warning
418Warn if a comparison is always true or always false due to the limited range of the data type
419
e01cc6dc 420Wuninitialized
62a67c94 421Common Var(warn_uninitialized) Init(-1) Warning
28786366 422Warn about uninitialized automatic variables
e01cc6dc
NB
423
424Wunreachable-code
2d2bd949 425Common Ignore
bc3c12a2 426Does nothing. Preserved for backward compatibility.
e01cc6dc 427
903caebf 428Wunused
e73f7547 429Common Var(warn_unused) Init(0) Warning
cf03fd63 430Enable all -Wunused- warnings
903caebf 431
ebfbbdc5
JJ
432Wunused-but-set-parameter
433Common Var(warn_unused_but_set_parameter) Init(-1) Warning
434Warn when a function parameter is only set, otherwise unused
435
436Wunused-but-set-variable
437Common Var(warn_unused_but_set_variable) Init(-1) Warning
438Warn when a variable is only set, otherwise unused
439
e01cc6dc 440Wunused-function
e73f7547 441Common Var(warn_unused_function) Init(-1) Warning
28786366 442Warn when a function is unused
e01cc6dc
NB
443
444Wunused-label
e73f7547 445Common Var(warn_unused_label) Init(-1) Warning
28786366 446Warn when a label is unused
e01cc6dc
NB
447
448Wunused-parameter
e73f7547 449Common Var(warn_unused_parameter) Init(-1) Warning
28786366 450Warn when a function parameter is unused
e01cc6dc
NB
451
452Wunused-value
e73f7547 453Common Var(warn_unused_value) Init(-1) Warning
28786366 454Warn when an expression value is unused
e01cc6dc
NB
455
456Wunused-variable
e73f7547 457Common Var(warn_unused_variable) Init(-1) Warning
28786366 458Warn when a variable is unused
e01cc6dc 459
16c1c158 460Wcoverage-mismatch
650cfcab
NV
461Common Var(warn_coverage_mismatch) Init(1) Warning
462Warn in case profiles in -fprofile-use do not match
16c1c158 463
603349bf
JM
464Xassembler
465Driver Separate
466
467Xlinker
468Driver Separate
469
470Xpreprocessor
471Driver Separate
472
d185d268
NB
473aux-info
474Common Separate
cf03fd63 475-aux-info <file> Emit declaration information into <file>
d185d268
NB
476
477aux-info=
5de8299c 478Common Joined Alias(aux-info)
d185d268
NB
479
480auxbase
603349bf 481Common Separate RejectDriver
d185d268
NB
482
483auxbase-strip
603349bf
JM
484Common Separate RejectDriver
485
e200444e
JM
486coverage
487Driver
488
603349bf
JM
489c
490Driver
d185d268
NB
491
492d
493Common Joined
cf03fd63 494-d<letters> Enable dumps from specific passes of the compiler
d185d268
NB
495
496dumpbase
497Common Separate
cf03fd63 498-dumpbase <file> Set the file basename to be used for dumps
d185d268 499
d7fb0a6d
L
500dumpdir
501Common Separate
316fc112 502-dumpdir <dir> Set the directory name to be used for dumps
d7fb0a6d 503
603349bf
JM
504dumpmachine
505Driver
506
507dumpspecs
508Driver
509
510dumpversion
511Driver
512
e200444e
JM
513e
514Driver Joined Separate
515
31b66477
KC
516; The version of the C++ ABI in use. The following values are allowed:
517;
518; 0: The version of the ABI believed most conformant with the C++ ABI
519; specification. This ABI may change as bugs are discovered and fixed.
520; Therefore, 0 will not necessarily indicate the same ABI in different
521; versions of G++.
522;
523; 1: The version of the ABI first used in G++ 3.2.
524;
abfe01ce
JM
525; 2: The version of the ABI first used in G++ 3.4 (and current default).
526;
527; 3: The version of the ABI that fixes the missing underscore
528; in template non-type arguments of pointer type.
529;
530; 4: The version of the ABI that introduces unambiguous mangling of
531; vector types.
99a8d35b 532;
31b66477
KC
533; Additional positive integers will be assigned as new versions of
534; the ABI become the default version of the ABI.
57782ad8 535fabi-version=
fcfbd84e 536Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
57782ad8 537
6ff3a151 538falign-functions
ab442df7 539Common Report Var(align_functions,0) Optimization UInteger
f3fdaec4 540Align the start of functions
6ff3a151 541
058de654
NB
542falign-functions=
543Common RejectNegative Joined UInteger
544
6ff3a151 545falign-jumps
ab442df7 546Common Report Var(align_jumps,0) Optimization UInteger
f3fdaec4 547Align labels which are only reached by jumping
6ff3a151 548
058de654
NB
549falign-jumps=
550Common RejectNegative Joined UInteger
551
6ff3a151 552falign-labels
ab442df7 553Common Report Var(align_labels,0) Optimization UInteger
f3fdaec4 554Align all labels
6ff3a151 555
058de654
NB
556falign-labels=
557Common RejectNegative Joined UInteger
558
6ff3a151 559falign-loops
ab442df7 560Common Report Var(align_loops) Optimization UInteger
f3fdaec4 561Align the start of loops
6ff3a151 562
058de654
NB
563falign-loops=
564Common RejectNegative Joined UInteger
565
6ff3a151 566fargument-alias
2d2bd949 567Common Ignore
0d3c82d6 568Does nothing. Preserved for backward compatibility.
6ff3a151
NB
569
570fargument-noalias
2d2bd949 571Common Ignore
0d3c82d6 572Does nothing. Preserved for backward compatibility.
6ff3a151
NB
573
574fargument-noalias-global
2d2bd949 575Common Ignore
0d3c82d6 576Does nothing. Preserved for backward compatibility.
6ff3a151 577
0698a1d2 578fargument-noalias-anything
2d2bd949 579Common Ignore
0d3c82d6 580Does nothing. Preserved for backward compatibility.
0698a1d2 581
6ff3a151 582fasynchronous-unwind-tables
c662432e 583Common Report Var(flag_asynchronous_unwind_tables) Optimization
f3fdaec4 584Generate unwind tables that are exact at each instruction boundary
6ff3a151 585
6fb5fa3c
DB
586fauto-inc-dec
587Common Report Var(flag_auto_inc_dec) Init(1)
588Generate auto-inc/dec instructions
589
31b66477
KC
590; -fcheck-bounds causes gcc to generate array bounds checks.
591; For C, C++ and ObjC: defaults off.
592; For Java: defaults to on.
593; For Fortran: defaults to off.
6ff3a151 594fbounds-check
50431bc4 595Common Report Var(flag_bounds_check)
f3fdaec4 596Generate code to check bounds before indexing arrays
6ff3a151
NB
597
598fbranch-count-reg
c662432e 599Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
f3fdaec4 600Replace add, compare, branch with branch on count register
6ff3a151
NB
601
602fbranch-probabilities
c662432e 603Common Report Var(flag_branch_probabilities) Optimization
f3fdaec4 604Use profiling information for branch probabilities
6ff3a151 605
de32c0cb 606fbranch-target-load-optimize
c662432e 607Common Report Var(flag_branch_target_load_optimize) Optimization
f3fdaec4 608Perform branch target load optimization before prologue / epilogue threading
de32c0cb
NB
609
610fbranch-target-load-optimize2
c662432e 611Common Report Var(flag_branch_target_load_optimize2) Optimization
f3fdaec4 612Perform branch target load optimization after prologue / epilogue threading
de32c0cb 613
1194fc79 614fbtr-bb-exclusive
c662432e 615Common Report Var(flag_btr_bb_exclusive) Optimization
1194fc79
R
616Restrict target load migration not to re-use registers in any basic block
617
058de654
NB
618fcall-saved-
619Common Joined RejectNegative
cf03fd63 620-fcall-saved-<register> Mark <register> as being preserved across functions
058de654
NB
621
622fcall-used-
623Common Joined RejectNegative
cf03fd63 624-fcall-used-<register> Mark <register> as being corrupted by function calls
058de654 625
31b66477
KC
626; Nonzero for -fcaller-saves: allocate values in regs that need to
627; be saved across function calls, if that produces overall better code.
628; Optional now, so people can test it.
de32c0cb 629fcaller-saves
c662432e 630Common Report Var(flag_caller_saves) Optimization
f3fdaec4 631Save registers around function calls
de32c0cb 632
3d8864c0
SP
633fcheck-data-deps
634Common Report Var(flag_check_data_deps)
635Compare the results of several data dependence analyzers.
636
6ff3a151 637fcommon
c662432e 638Common Report Var(flag_no_common,0) Optimization
f3fdaec4 639Do not put uninitialized globals in the common section
6ff3a151 640
603349bf
JM
641fcompare-debug
642Driver
643; Converted by the driver to -fcompare-debug= options.
644
2153915d 645fcompare-debug=
603349bf 646Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
f94e1d66 647-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
2153915d
AO
648
649fcompare-debug-second
e3339d0f 650Common Driver RejectNegative
2153915d
AO
651Run only the second compilation of -fcompare-debug
652
b5b8b0ac
AO
653fconserve-stack
654Common Var(flag_conserve_stack) Optimization
655Do not perform optimizations increasing noticeably stack usage
656
6ff3a151 657fcprop-registers
c662432e 658Common Report Var(flag_cprop_registers) Optimization
f3fdaec4 659Perform a register copy-propagation optimization pass
6ff3a151 660
de32c0cb 661fcrossjumping
c662432e 662Common Report Var(flag_crossjumping) Optimization
f3fdaec4 663Perform cross-jumping optimization
de32c0cb
NB
664
665fcse-follow-jumps
c662432e 666Common Report Var(flag_cse_follow_jumps) Optimization
f3fdaec4 667When running CSE, follow jumps to their targets
de32c0cb
NB
668
669fcse-skip-blocks
2d2bd949 670Common Ignore
5f39ad47 671Does nothing. Preserved for backward compatibility.
de32c0cb 672
c7463669 673fcx-limited-range
c662432e 674Common Report Var(flag_cx_limited_range) Optimization
c7463669
RH
675Omit range reduction step when performing complex division
676
35085f76
JB
677fcx-fortran-rules
678Common Report Var(flag_cx_fortran_rules) Optimization
679Complex multiplication and division follow Fortran rules
680
6ff3a151 681fdata-sections
c662432e 682Common Report Var(flag_data_sections) Optimization
f3fdaec4 683Place data items into their own section
6ff3a151 684
0a090f42
SP
685fdbg-cnt-list
686Common Report
687List all available debugging counters with their limits and counts.
688
6fb5fa3c
DB
689fdbg-cnt=
690Common RejectNegative Joined
f94e1d66 691-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
6fb5fa3c 692
c8aea42c
PB
693fdebug-prefix-map=
694Common Joined RejectNegative
695Map one directory name to another in debug information
696
31b66477
KC
697; Nonzero for -fdefer-pop: don't pop args after each function call
698; instead save them up to pop many calls' args with one insns.
de32c0cb 699fdefer-pop
c662432e 700Common Report Var(flag_defer_pop) Optimization
f3fdaec4 701Defer popping functions args from stack until later
de32c0cb
NB
702
703fdelayed-branch
c662432e 704Common Report Var(flag_delayed_branch) Optimization
f3fdaec4 705Attempt to fill delay slots of branch instructions
de32c0cb
NB
706
707fdelete-null-pointer-checks
1ad2f450 708Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
f3fdaec4 709Delete useless null pointer checks
de32c0cb
NB
710
711fdiagnostics-show-location=
712Common Joined RejectNegative
cf03fd63 713-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
de32c0cb 714
ccf08a6e 715fdiagnostics-show-option
c7d0de89 716Common Var(flag_diagnostics_show_option) Init(1)
c85ce869 717Amend appropriate diagnostic messages with the command line option that controls them
ccf08a6e 718
6de9cd9a
DN
719fdump-
720Common Joined RejectNegative
721-fdump-<type> Dump various compiler internals to a file
722
d1583032
JM
723fdump-final-insns
724Driver RejectNegative
725
2153915d
AO
726fdump-final-insns=
727Common RejectNegative Joined Var(flag_dump_final_insns)
728-fdump-final-insns=filename Dump to filename the insns at the end of translation
729
24a7799e
R
730fdump-noaddr
731Common Report Var(flag_dump_noaddr)
732Suppress output of addresses in debugging dumps
733
6ff3a151 734fdump-unnumbered
e90afde6 735Common Report Var(flag_dump_unnumbered)
24a7799e 736Suppress output of instruction numbers, line number notes and addresses in debugging dumps
6ff3a151 737
2aa7c49b 738fdump-unnumbered-links
e90afde6 739Common Report Var(flag_dump_unnumbered_links)
2aa7c49b
AO
740Suppress output of previous and next insn numbers in debugging dumps
741
b5b8b0ac
AO
742fdwarf2-cfi-asm
743Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
744Enable CFI tables via GAS assembler directives.
745
355866de 746fearly-inlining
c662432e 747Common Report Var(flag_early_inlining) Init(1) Optimization
355866de
RG
748Perform early inlining
749
de32c0cb 750feliminate-dwarf2-dups
50431bc4 751Common Report Var(flag_eliminate_dwarf2_dups)
f3fdaec4 752Perform DWARF2 duplicate elimination
de32c0cb 753
07ffa034
MJ
754fipa-sra
755Common Report Var(flag_ipa_sra) Init(0) Optimization
756Perform interprocedural reduction of aggregates
757
6a08f7b3 758feliminate-unused-debug-symbols
50431bc4 759Common Report Var(flag_debug_only_used_symbols)
f3fdaec4 760Perform unused type elimination in debug info
6a08f7b3 761
de32c0cb 762feliminate-unused-debug-types
50431bc4 763Common Report Var(flag_eliminate_unused_debug_types) Init(1)
f3fdaec4 764Perform unused type elimination in debug info
de32c0cb 765
e713adf6 766femit-class-debug-always
eae8e474 767Common Report Var(flag_emit_class_debug_always) Init(0)
e713adf6
CD
768Do not suppress C++ class debug information.
769
77831620
CC
770fenable-icf-debug
771Common Report Var(flag_enable_icf_debug)
772Generate debug information to support Identical Code Folding (ICF)
773
6ff3a151 774fexceptions
c662432e 775Common Report Var(flag_exceptions) Optimization
f3fdaec4 776Enable exception handling
6ff3a151 777
de32c0cb 778fexpensive-optimizations
c662432e 779Common Report Var(flag_expensive_optimizations) Optimization
f3fdaec4 780Perform a number of minor, expensive optimizations
de32c0cb 781
8ce94e44
JM
782fexcess-precision=
783Common Joined RejectNegative
784-fexcess-precision=[fast|standard] Specify handling of excess floating-point precision
785
058de654
NB
786ffast-math
787Common
788
6ff3a151 789ffinite-math-only
c662432e 790Common Report Var(flag_finite_math_only) Optimization
f3fdaec4 791Assume no NaNs or infinities are generated
6ff3a151 792
058de654
NB
793ffixed-
794Common Joined RejectNegative
cf03fd63 795-ffixed-<register> Mark <register> as being unavailable to the compiler
058de654 796
de32c0cb 797ffloat-store
c662432e 798Common Report Var(flag_float_store) Optimization
31b66477 799Don't allocate floats and doubles in extended-precision registers
de32c0cb
NB
800
801fforce-addr
2d2bd949 802Common Ignore
3de5e93a 803Does nothing. Preserved for backward compatibility.
de32c0cb 804
2ca2b607
SB
805fforward-propagate
806Common Report Var(flag_forward_propagate) Optimization
a52b023a
PB
807Perform a forward propagation pass on RTL
808
31b66477
KC
809; Nonzero means don't put addresses of constant functions in registers.
810; Used for compiling the Unix kernel, where strange substitutions are
811; done on the assembly output.
de32c0cb 812ffunction-cse
50431bc4 813Common Report Var(flag_no_function_cse,0)
f3fdaec4 814Allow function addresses to be held in registers
de32c0cb 815
6ff3a151 816ffunction-sections
50431bc4 817Common Report Var(flag_function_sections)
f3fdaec4 818Place each function into its own section
6ff3a151 819
de32c0cb 820fgcse
c662432e 821Common Report Var(flag_gcse) Optimization
f3fdaec4 822Perform global common subexpression elimination
de32c0cb
NB
823
824fgcse-lm
c662432e 825Common Report Var(flag_gcse_lm) Init(1) Optimization
f3fdaec4 826Perform enhanced load motion during global common subexpression elimination
de32c0cb
NB
827
828fgcse-sm
c662432e 829Common Report Var(flag_gcse_sm) Init(0) Optimization
f3fdaec4 830Perform store motion after global common subexpression elimination
de32c0cb 831
f5f2e3cd 832fgcse-las
c662432e 833Common Report Var(flag_gcse_las) Init(0) Optimization
f9957958
MH
834Perform redundant load after store elimination in global common subexpression
835elimination
836
837fgcse-after-reload
c662432e 838Common Report Var(flag_gcse_after_reload) Optimization
f9957958 839Perform global common subexpression elimination after register allocation
c85ce869 840has finished
f5f2e3cd 841
d0a58904 842; This option is not documented yet as its semantics will change.
f8bf9252
SP
843fgraphite
844Common Report Var(flag_graphite)
845Enable in and out of Graphite representation
846
204b560f
SP
847fgraphite-identity
848Common Report Var(flag_graphite_identity) Optimization
849Enable Graphite Identity transformation
850
3cf0e270
SP
851floop-parallelize-all
852Common Report Var(flag_loop_parallelize_all) Optimization
204b560f
SP
853Mark all loops as parallel
854
f8bf9252
SP
855floop-strip-mine
856Common Report Var(flag_loop_strip_mine) Optimization
857Enable Loop Strip Mining transformation
858
859floop-interchange
860Common Report Var(flag_loop_interchange) Optimization
861Enable Loop Interchange transformation
862
863floop-block
864Common Report Var(flag_loop_block) Optimization
865Enable Loop Blocking transformation
866
6a78b724
DD
867fstrict-volatile-bitfields
868Common Report Var(flag_strict_volatile_bitfields) Init(-1)
869Force bitfield accesses to match their type width
870
6ff3a151 871fguess-branch-probability
c662432e 872Common Report Var(flag_guess_branch_prob) Optimization
f3fdaec4 873Enable guessing of branch probabilities
6ff3a151 874
31b66477
KC
875; Nonzero means ignore `#ident' directives. 0 means handle them.
876; Generate position-independent code for executables if possible
877; On SVR4 targets, it also controls whether or not to emit a
878; string identifying the compiler.
6ff3a151 879fident
50431bc4 880Common Report Var(flag_no_ident,0)
f3fdaec4 881Process #ident directives
6ff3a151 882
de32c0cb 883fif-conversion
c662432e 884Common Report Var(flag_if_conversion) Optimization
f3fdaec4 885Perform conversion of conditional jumps to branchless equivalents
de32c0cb
NB
886
887fif-conversion2
c662432e 888Common Report Var(flag_if_conversion2) Optimization
f3fdaec4 889Perform conversion of conditional jumps to conditional execution
de32c0cb 890
384a5197
SP
891ftree-loop-if-convert
892Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
893Convert conditional jumps in innermost loops to branchless equivalents
894
bd544141
SP
895ftree-loop-if-convert-stores
896Common Report Var(flag_tree_loop_if_convert_stores) Optimization
897Also if-convert conditional jumps containing memory writes
898
31b66477
KC
899; -finhibit-size-directive inhibits output of .size for ELF.
900; This is used only for compiling crtstuff.c,
901; and it may be extended to other effects
902; needed for crtstuff.c on other systems.
6ff3a151 903finhibit-size-directive
50431bc4 904Common Report Var(flag_inhibit_size_directive)
f3fdaec4 905Do not generate .size directives
6ff3a151 906
3e293154
MJ
907findirect-inlining
908Common Report Var(flag_indirect_inlining)
909Perform indirect inlining
910
31b66477
KC
911; Nonzero means that functions declared `inline' will be treated
912; as `static'. Prevents generation of zillions of copies of unused
913; static inline functions; instead, `inlines' are written out
914; only when actually used. Used in conjunction with -g. Also
915; does the right thing with #pragma interface.
de32c0cb 916finline
e90acd93 917Common Report Var(flag_no_inline,0) Init(0)
f3fdaec4 918Pay attention to the \"inline\" keyword
de32c0cb 919
4d4b8cb9
JH
920finline-small-functions
921Common Report Var(flag_inline_small_functions) Optimization
922Integrate simple functions into their callers when code size is known to not growth
923
de32c0cb 924finline-functions
c662432e 925Common Report Var(flag_inline_functions) Optimization
f3fdaec4 926Integrate simple functions into their callers
de32c0cb 927
355866de 928finline-functions-called-once
c662432e 929Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
355866de 930Integrate functions called once into their callers
d63db217 931
d302c9d6 932finline-limit-
5de8299c 933Common RejectNegative Joined Alias(finline-limit=)
d302c9d6
NB
934
935finline-limit=
936Common RejectNegative Joined UInteger
cf03fd63 937-finline-limit=<number> Limit the size of inlined functions to <number>
d302c9d6 938
6ff3a151 939finstrument-functions
50431bc4 940Common Report Var(flag_instrument_function_entry_exit)
f3fdaec4 941Instrument function entry and exit with profiling calls
6ff3a151 942
8d5a7d1f
ILT
943finstrument-functions-exclude-function-list=
944Common RejectNegative Joined
945-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions
946
947finstrument-functions-exclude-file-list=
948Common RejectNegative Joined
949-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files
950
d6e14e8f 951fipa-cp
c662432e 952Common Report Var(flag_ipa_cp) Optimization
d6e14e8f
SB
953Perform Interprocedural constant propagation
954
5e45130d
JH
955fipa-cp-clone
956Common Report Var(flag_ipa_cp_clone) Optimization
957Perform cloning to make Interprocedural constant propagation stronger
958
e65bb9be
JH
959fipa-profile
960Common Report Var(flag_ipa_profile) Init(0) Optimization
961Perform interprocedural profile propagation
ea900239 962
4cf4d6a3 963fipa-pta
c662432e 964Common Report Var(flag_ipa_pta) Init(0) Optimization
4cf4d6a3
DB
965Perform interprocedural points-to analysis
966
e65bb9be
JH
967fipa-pure-const
968Common Report Var(flag_ipa_pure_const) Init(0) Optimization
969Discover pure and const functions
970
ea900239 971fipa-reference
c662432e 972Common Report Var(flag_ipa_reference) Init(0) Optimization
ea900239
DB
973Discover readonly and non addressable static variables
974
43d861a5 975fipa-matrix-reorg
6ae4be32 976Common Report Var(flag_ipa_matrix_reorg) Optimization
43d861a5
RL
977Perform matrix layout flattening and transposing based
978on profiling information.
979
e1dc98b2
OG
980fipa-struct-reorg
981Common Report Var(flag_ipa_struct_reorg)
982Perform structure layout optimizations based
983on profiling information.
984
058e97ec
VM
985fira-algorithm=
986Common Joined RejectNegative
7db7ed3c
VM
987-fira-algorithm=[CB|priority] Set the used IRA algorithm
988
989fira-region=
990Common Joined RejectNegative
991-fira-region=[one|all|mixed] Set regions for IRA
058e97ec
VM
992
993fira-coalesce
994Common Report Var(flag_ira_coalesce) Init(0)
995Do optimistic coalescing.
996
1833192f
VM
997fira-loop-pressure
998Common Report Var(flag_ira_loop_pressure)
999Use IRA based register pressure calculation
1000in RTL loop optimizations.
1001
058e97ec
VM
1002fira-share-save-slots
1003Common Report Var(flag_ira_share_save_slots) Init(1)
1004Share slots for saving different hard registers.
1005
1006fira-share-spill-slots
1007Common Report Var(flag_ira_share_spill_slots) Init(1)
1008Share stack slots for spilled pseudo-registers.
1009
1010fira-verbose=
5498f011 1011Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
f94e1d66 1012-fira-verbose=<number> Control IRA's level of diagnostic messages.
058e97ec 1013
8b11a64c 1014fivopts
c662432e 1015Common Report Var(flag_ivopts) Init(1) Optimization
8b11a64c
ZD
1016Optimize induction variables on trees
1017
82c0180d 1018fjump-tables
c662432e 1019Common Var(flag_jump_tables) Init(1) Optimization
82c0180d
JM
1020Use jump tables for sufficiently large switch statements
1021
de32c0cb 1022fkeep-inline-functions
50431bc4 1023Common Report Var(flag_keep_inline_functions)
f3fdaec4 1024Generate code for functions even if they are fully inlined
de32c0cb
NB
1025
1026fkeep-static-consts
50431bc4 1027Common Report Var(flag_keep_static_consts) Init(1)
f3fdaec4 1028Emit static const variables even if they are not used
de32c0cb 1029
6ff3a151 1030fleading-underscore
50431bc4 1031Common Report Var(flag_leading_underscore) Init(-1)
f3fdaec4 1032Give external symbols a leading underscore
6ff3a151 1033
efa1cdf0 1034floop-optimize
2d2bd949 1035Common Ignore
c0220ea4 1036Does nothing. Preserved for backward compatibility.
efa1cdf0 1037
d7f09764
DN
1038flto
1039Common Var(flag_lto)
1040Enable link-time optimization.
1041
1042; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1043flto-compression-level=
fcfbd84e 1044Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
f94e1d66 1045-flto-compression-level=<number> Use zlib compression level <number> for IL
d7f09764
DN
1046
1047flto-report
1048Common Report Var(flag_lto_report) Init(0) Optimization
1049Report various link-time optimization statistics
1050
6ff3a151 1051fmath-errno
ab442df7 1052Common Report Var(flag_errno_math) Init(1) Optimization
f3fdaec4 1053Set errno after built-in math functions
6ff3a151
NB
1054
1055fmem-report
50431bc4 1056Common Report Var(mem_report)
f3fdaec4 1057Report on permanent memory allocation
6ff3a151 1058
31b66477
KC
1059; This will attempt to merge constant section constants, if 1 only
1060; string constants and constants from constant pool, if 2 also constant
1061; variables.
6ff3a151 1062fmerge-all-constants
c662432e 1063Common Report Var(flag_merge_constants,2) Init(1) Optimization
f3fdaec4 1064Attempt to merge identical constants and constant variables
6ff3a151
NB
1065
1066fmerge-constants
f0036cca 1067Common Report Var(flag_merge_constants,1) Optimization
f3fdaec4 1068Attempt to merge identical constants across compilation units
6ff3a151 1069
28a08168
ILT
1070fmerge-debug-strings
1071Common Report Var(flag_merge_debug_strings) Init(1)
1072Attempt to merge identical debug strings across compilation units
1073
de32c0cb
NB
1074fmessage-length=
1075Common RejectNegative Joined UInteger
cf03fd63 1076-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
de32c0cb 1077
e5626198 1078fmodulo-sched
c662432e 1079Common Report Var(flag_modulo_sched) Optimization
e5626198
AZ
1080Perform SMS based modulo scheduling before the first scheduling pass
1081
517d76fa
VY
1082fmodulo-sched-allow-regmoves
1083Common Report Var(flag_modulo_sched_allow_regmoves)
1084Perform SMS based modulo scheduling with register moves allowed
1085
5e962776 1086fmove-loop-invariants
c662432e 1087Common Report Var(flag_move_loop_invariants) Init(1) Optimization
5e962776
ZD
1088Move loop invariant computations out of loops
1089
6de9cd9a 1090fmudflap
50431bc4 1091Common RejectNegative Report Var(flag_mudflap)
c85ce869 1092Add mudflap bounds-checking instrumentation for single-threaded program
6de9cd9a
DN
1093
1094fmudflapth
f0036cca 1095Common RejectNegative Report Var(flag_mudflap,2)
c85ce869 1096Add mudflap bounds-checking instrumentation for multi-threaded program
6de9cd9a
DN
1097
1098fmudflapir
50431bc4 1099Common RejectNegative Report Var(flag_mudflap_ignore_reads)
c85ce869 1100Ignore read operations when inserting mudflap instrumentation
6de9cd9a 1101
6fb5fa3c 1102fdce
6ae4be32 1103Common Var(flag_dce) Init(1) Optimization
6fb5fa3c
DB
1104Use the RTL dead code elimination pass
1105
1106fdse
6ae4be32 1107Common Var(flag_dse) Init(1) Optimization
6fb5fa3c
DB
1108Use the RTL dead store elimination pass
1109
d72372e4 1110freschedule-modulo-scheduled-loops
c662432e 1111Common Report Var(flag_resched_modulo_sched) Optimization
d72372e4
MH
1112Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
1113
6ff3a151 1114fnon-call-exceptions
c662432e 1115Common Report Var(flag_non_call_exceptions) Optimization
f3fdaec4 1116Support synchronous non-call exceptions
6ff3a151 1117
de32c0cb 1118fomit-frame-pointer
c662432e 1119Common Report Var(flag_omit_frame_pointer) Optimization
f3fdaec4 1120When possible do not generate stack frames
de32c0cb 1121
6ff3a151 1122foptimize-register-move
c662432e 1123Common Report Var(flag_regmove) Optimization
f3fdaec4 1124Do the full register move optimization pass
6ff3a151 1125
de32c0cb 1126foptimize-sibling-calls
c662432e 1127Common Report Var(flag_optimize_sibling_calls) Optimization
f3fdaec4 1128Optimize sibling and tail recursive calls
de32c0cb 1129
3e485f62
JH
1130fpartial-inlining
1131Common Report Var(flag_partial_inlining)
1132Perform partial inlining
1133
a5573239
JH
1134fpre-ipa-mem-report
1135Common Report Var(pre_ipa_mem_report)
1136Report on memory allocation before interprocedural optimization
1137
1138fpost-ipa-mem-report
1139Common Report Var(post_ipa_mem_report)
1140Report on memory allocation before interprocedural optimization
1141
6ff3a151 1142fpack-struct
c662432e 1143Common Report Var(flag_pack_struct) Optimization
f3fdaec4 1144Pack structure members together without holes
6ff3a151 1145
467cecf3 1146fpack-struct=
c662432e 1147Common RejectNegative Joined UInteger Optimization
467cecf3
JB
1148-fpack-struct=<number> Set initial maximum structure member alignment
1149
de32c0cb 1150fpcc-struct-return
5498f011 1151Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
f3fdaec4 1152Return small aggregates in memory, not registers
de32c0cb
NB
1153
1154fpeel-loops
c662432e 1155Common Report Var(flag_peel_loops) Optimization
f3fdaec4 1156Perform loop peeling
de32c0cb
NB
1157
1158fpeephole
c662432e 1159Common Report Var(flag_no_peephole,0) Optimization
f3fdaec4 1160Enable machine specific peephole optimizations
de32c0cb 1161
6ff3a151 1162fpeephole2
c662432e 1163Common Report Var(flag_peephole2) Optimization
f3fdaec4 1164Enable an RTL peephole pass before sched2
6ff3a151 1165
31b66477
KC
1166fPIC
1167Common Report Var(flag_pic,2)
1168Generate position-independent code if possible (large mode)
1169
1170fPIE
1171Common Report Var(flag_pie,2)
1172Generate position-independent code for executables if possible (large mode)
1173
6ff3a151 1174fpic
f0036cca 1175Common Report Var(flag_pic,1)
31b66477 1176Generate position-independent code if possible (small mode)
6ff3a151
NB
1177
1178fpie
f0036cca 1179Common Report Var(flag_pie,1)
31b66477 1180Generate position-independent code for executables if possible (small mode)
6ff3a151 1181
68a607d8
DN
1182fplugin=
1183Common Joined RejectNegative
1184Specify a plugin to load
1185
1186fplugin-arg-
1187Common Joined RejectNegative
f94e1d66 1188-fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>
68a607d8 1189
bbc8a8dc 1190fpredictive-commoning
6ae4be32 1191Common Report Var(flag_predictive_commoning) Optimization
bbc8a8dc
ZD
1192Run predictive commoning optimization.
1193
de32c0cb 1194fprefetch-loop-arrays
1fbb509a 1195Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
f3fdaec4 1196Generate prefetch instructions, if available, for arrays in loops
de32c0cb 1197
6ff3a151 1198fprofile
50431bc4 1199Common Report Var(profile_flag)
f3fdaec4 1200Enable basic program profiling code
6ff3a151
NB
1201
1202fprofile-arcs
50431bc4 1203Common Report Var(profile_arc_flag)
f3fdaec4 1204Insert arc-based program profiling code
6ff3a151 1205
2f908293
SP
1206fprofile-dir=
1207Common Joined RejectNegative
1208Set the top-level directory for storing the profile data.
1209The default is 'pwd'.
1210
52c76998
PY
1211fprofile-correction
1212Common Report Var(flag_profile_correction)
1213Enable correction of flow inconsistent profile data input
1214
a8a5f53a
JH
1215fprofile-generate
1216Common
1217Enable common options for generating profile info for profile feedback directed optimizations
1218
2f908293
SP
1219fprofile-generate=
1220Common Joined RejectNegative
1221Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1222
a8a5f53a 1223fprofile-use
2f908293 1224Common Var(flag_profile_use)
a8a5f53a
JH
1225Enable common options for performing profile feedback directed optimizations
1226
2f908293
SP
1227fprofile-use=
1228Common Joined RejectNegative
1229Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1230
fca9dc00 1231fprofile-values
50431bc4 1232Common Report Var(flag_profile_values)
fca9dc00
ZD
1233Insert code to profile values of expressions
1234
de32c0cb
NB
1235frandom-seed
1236Common
1237
1238frandom-seed=
1239Common Joined RejectNegative
cf03fd63 1240-frandom-seed=<string> Make compile reproducible using <string>
de32c0cb 1241
e0d9d0dd
NC
1242; This switch causes the command line that was used to create an
1243; object file to be recorded into the object file. The exact format
1244; of this recording is target and binary file format dependent.
1245; It is related to the -fverbose-asm switch, but that switch only
1246; records information in the assembler output file as comments, so
1247; they never reach the object file.
1248frecord-gcc-switches
1249Common Report Var(flag_record_gcc_switches)
1250Record gcc command line switches in the object file.
1251
de32c0cb 1252freg-struct-return
f0036cca 1253Common Report Var(flag_pcc_struct_return,0) Optimization
f3fdaec4 1254Return small aggregates in registers
de32c0cb 1255
6ff3a151 1256fregmove
c662432e 1257Common Report Var(flag_regmove) Optimization
f3fdaec4 1258Enables a register move optimization
6ff3a151
NB
1259
1260frename-registers
c662432e 1261Common Report Var(flag_rename_registers) Init(2) Optimization
f3fdaec4 1262Perform a register renaming optimization pass
6ff3a151
NB
1263
1264freorder-blocks
c662432e 1265Common Report Var(flag_reorder_blocks) Optimization
f3fdaec4 1266Reorder basic blocks to improve code placement
6ff3a151 1267
750054a2 1268freorder-blocks-and-partition
c662432e 1269Common Report Var(flag_reorder_blocks_and_partition) Optimization
750054a2
CT
1270Reorder basic blocks and partition into hot and cold sections
1271
6ff3a151 1272freorder-functions
c662432e 1273Common Report Var(flag_reorder_functions) Optimization
f3fdaec4 1274Reorder functions to improve code placement
6ff3a151 1275
de32c0cb 1276frerun-cse-after-loop
c662432e 1277Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
f3fdaec4 1278Add a common subexpression elimination pass after loop optimizations
de32c0cb 1279
efa1cdf0 1280frerun-loop-opt
2d2bd949 1281Common Ignore
c0220ea4 1282Does nothing. Preserved for backward compatibility.
efa1cdf0 1283
039c3d42 1284frounding-math
c662432e 1285Common Report Var(flag_rounding_math) Optimization
039c3d42
RS
1286Disable optimizations that assume default FP rounding behavior
1287
6ff3a151 1288fsched-interblock
c662432e 1289Common Report Var(flag_schedule_interblock) Init(1) Optimization
f3fdaec4 1290Enable scheduling across basic blocks
6ff3a151 1291
ce18efcb
VM
1292fsched-pressure
1293Common Report Var(flag_sched_pressure) Init(0) Optimization
1294Enable register pressure sensitive insn scheduling
1295
6ff3a151 1296fsched-spec
c662432e 1297Common Report Var(flag_schedule_speculative) Init(1) Optimization
f3fdaec4 1298Allow speculative motion of non-loads
6ff3a151
NB
1299
1300fsched-spec-load
c662432e 1301Common Report Var(flag_schedule_speculative_load) Optimization
f3fdaec4 1302Allow speculative motion of some loads
6ff3a151
NB
1303
1304fsched-spec-load-dangerous
c662432e 1305Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
f3fdaec4 1306Allow speculative motion of more loads
6ff3a151 1307
de32c0cb
NB
1308fsched-verbose=
1309Common RejectNegative Joined
cf03fd63 1310-fsched-verbose=<number> Set the verbosity level of the scheduler
de32c0cb 1311
6ff3a151 1312fsched2-use-superblocks
c662432e 1313Common Report Var(flag_sched2_use_superblocks) Optimization
f3fdaec4 1314If scheduling post reload, do superblock scheduling
6ff3a151
NB
1315
1316fsched2-use-traces
2d2bd949 1317Common Ignore
57257f0d 1318Does nothing. Preserved for backward compatibility.
6ff3a151 1319
de32c0cb 1320fschedule-insns
c662432e 1321Common Report Var(flag_schedule_insns) Optimization
f3fdaec4 1322Reschedule instructions before register allocation
de32c0cb
NB
1323
1324fschedule-insns2
c662432e 1325Common Report Var(flag_schedule_insns_after_reload) Optimization
f3fdaec4 1326Reschedule instructions after register allocation
de32c0cb 1327
e855c69d
AB
1328; This flag should be on when a target implements non-trivial
1329; scheduling hooks, maybe saving some information for its own sake.
1330; On IA64, for example, this is used for correct bundling.
1331fselective-scheduling
1332Common Report Var(flag_selective_scheduling) Optimization
1333Schedule instructions using selective scheduling algorithm
1334
1335fselective-scheduling2
1336Common Report Var(flag_selective_scheduling2) Optimization
1337Run selective scheduling after reload
1338
1339fsel-sched-pipelining
1340Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1341Perform software pipelining of inner loops during selective scheduling
1342
1343fsel-sched-pipelining-outer-loops
1344Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1345Perform software pipelining of outer loops during selective scheduling
1346
1347fsel-sched-reschedule-pipelined
1348Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1349Reschedule pipelined regions without pipelining
1350
31b66477
KC
1351; sched_stalled_insns means that insns can be moved prematurely from the queue
1352; of stalled insns into the ready list.
569fa502 1353fsched-stalled-insns
ab442df7 1354Common Report Var(flag_sched_stalled_insns) Optimization UInteger
569fa502
DN
1355Allow premature scheduling of queued insns
1356
1357fsched-stalled-insns=
c22cacf3 1358Common RejectNegative Joined UInteger
4e994432 1359-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
569fa502 1360
31b66477
KC
1361; sched_stalled_insns_dep controls how many recently scheduled cycles will
1362; be examined for a dependency on a stalled insn that is candidate for
1363; premature removal from the queue of stalled insns into the ready list (has
1364; an effect only if the flag 'sched_stalled_insns' is set).
569fa502 1365fsched-stalled-insns-dep
ab442df7 1366Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
569fa502
DN
1367Set dependence distance checking in premature scheduling of queued insns
1368
1369fsched-stalled-insns-dep=
1370Common RejectNegative Joined UInteger
4e994432 1371-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
569fa502 1372
ee4764a8
GS
1373fsched-group-heuristic
1374Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1375Enable the group heuristic in the scheduler
1376
1377fsched-critical-path-heuristic
1378Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1379Enable the critical path heuristic in the scheduler
1380
1381fsched-spec-insn-heuristic
1382Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1383Enable the speculative instruction heuristic in the scheduler
1384
ee4764a8
GS
1385fsched-rank-heuristic
1386Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1387Enable the rank heuristic in the scheduler
1388
1389fsched-last-insn-heuristic
1390Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1391Enable the last instruction heuristic in the scheduler
1392
1393fsched-dep-count-heuristic
1394Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1395Enable the dependent count heuristic in the scheduler
1396
aacd3885 1397fsection-anchors
c662432e 1398Common Report Var(flag_section_anchors) Optimization
aacd3885
RS
1399Access data in the same section from shared anchor points
1400
8cd37d0b 1401fsee
2d2bd949 1402Common Ignore
8393a9c8 1403Does nothing. Preserved for backward compatibility.
8cd37d0b 1404
87a0ebfd
ST
1405fzee
1406Common Report Var(flag_zee) Init(0)
1407Eliminate redundant zero extensions on targets that support implicit extensions.
1408
8abb6b22 1409fshow-column
1cb42611 1410Common Report Var(flag_show_column) Init(1)
e74fe492 1411Show column numbers in diagnostics, when available. Default on
8abb6b22 1412
6ff3a151 1413fsignaling-nans
c662432e 1414Common Report Var(flag_signaling_nans) Optimization
f3fdaec4 1415Disable optimizations observable by IEEE signaling NaNs
6ff3a151 1416
db02da79 1417fsigned-zeros
21af5cdf 1418Common Report Var(flag_signed_zeros) Init(1) Optimization
db02da79
RS
1419Disable floating point optimizations that ignore the IEEE signedness of zero
1420
6ff3a151 1421fsingle-precision-constant
c662432e 1422Common Report Var(flag_single_precision_constant) Optimization
f3fdaec4 1423Convert floating point constants to single precision constants
6ff3a151 1424
113d659a 1425fsplit-ivs-in-unroller
c662432e 1426Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
c85ce869 1427Split lifetimes of induction variables when loops are unrolled
113d659a 1428
7458026b
ILT
1429fsplit-stack
1430Common Report Var(flag_split_stack) Init(-1)
1431Generate discontiguous stack frames
1432
e53a16e7 1433fsplit-wide-types
21af5cdf 1434Common Report Var(flag_split_wide_types) Optimization
e53a16e7
ILT
1435Split wide types into independent registers
1436
f37a4f14 1437fvariable-expansion-in-unroller
c662432e 1438Common Report Var(flag_variable_expansion_in_unroller) Optimization
c85ce869 1439Apply variable expansion when loops are unrolled
f37a4f14 1440
b38f3813
EB
1441fstack-check=
1442Common Report RejectNegative Joined
1443-fstack-check=[no|generic|specific] Insert stack checking code into the program
1444
6ff3a151 1445fstack-check
5de8299c 1446Common Alias(fstack-check=, specific, no)
b38f3813 1447Insert stack checking code into the program. Same as -fstack-check=specific
6ff3a151 1448
de32c0cb
NB
1449fstack-limit
1450Common
1451
058de654
NB
1452fstack-limit-register=
1453Common RejectNegative Joined
cf03fd63 1454-fstack-limit-register=<register> Trap if the stack goes past <register>
058de654
NB
1455
1456fstack-limit-symbol=
1457Common RejectNegative Joined
cf03fd63 1458-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
058de654 1459
7d69de61
RH
1460fstack-protector
1461Common Report Var(flag_stack_protect, 1)
1462Use propolice as a stack protection method
1463
1464fstack-protector-all
f0036cca 1465Common Report RejectNegative Var(flag_stack_protect, 2)
7d69de61
RH
1466Use a stack protection method for every function
1467
d3c12306
EB
1468fstack-usage
1469Common RejectNegative Var(flag_stack_usage)
1470Output stack usage information on a per-function basis
1471
de32c0cb 1472fstrength-reduce
2d2bd949 1473Common Ignore
c0220ea4 1474Does nothing. Preserved for backward compatibility.
de32c0cb 1475
31b66477
KC
1476; Nonzero if we should do (language-dependent) alias analysis.
1477; Typically, this analysis will assume that expressions of certain
1478; types do not alias expressions of certain other types. Only used
1479; if alias analysis (in general) is enabled.
6ff3a151 1480fstrict-aliasing
c662432e 1481Common Report Var(flag_strict_aliasing) Optimization
f3fdaec4 1482Assume strict aliasing rules apply
6ff3a151 1483
eeef0e45
ILT
1484fstrict-overflow
1485Common Report Var(flag_strict_overflow)
1486Treat signed overflow as undefined
1487
de32c0cb 1488fsyntax-only
50431bc4 1489Common Report Var(flag_syntax_only)
f3fdaec4 1490Check for syntax errors, then stop
de32c0cb 1491
6ff3a151 1492ftest-coverage
50431bc4 1493Common Report Var(flag_test_coverage)
f3fdaec4 1494Create data files needed by \"gcov\"
6ff3a151 1495
de32c0cb 1496fthread-jumps
c662432e 1497Common Report Var(flag_thread_jumps) Optimization
f3fdaec4 1498Perform jump threading optimizations
de32c0cb 1499
6ff3a151 1500ftime-report
50431bc4 1501Common Report Var(time_report)
f3fdaec4 1502Report the time taken by each compiler pass
6ff3a151 1503
058de654
NB
1504ftls-model=
1505Common Joined RejectNegative
cf03fd63 1506-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
058de654 1507
474eccc6 1508ftoplevel-reorder
d6cc6ec9 1509Common Report Var(flag_toplevel_reorder) Init(2) Optimization
474eccc6
ILT
1510Reorder top level functions, variables, and asms
1511
de32c0cb 1512ftracer
50431bc4 1513Common Report Var(flag_tracer)
f3fdaec4 1514Perform superblock formation via tail duplication
de32c0cb 1515
31b66477
KC
1516; Zero means that floating-point math operations cannot generate a
1517; (user-visible) trap. This is the case, for example, in nonstop
1518; IEEE 754 arithmetic.
6ff3a151 1519ftrapping-math
c662432e 1520Common Report Var(flag_trapping_math) Init(1) Optimization
f3fdaec4 1521Assume floating-point operations can trap
6ff3a151
NB
1522
1523ftrapv
c662432e 1524Common Report Var(flag_trapv) Optimization
f3fdaec4 1525Trap for signed overflow in addition, subtraction and multiplication
6ff3a151 1526
6de9cd9a 1527ftree-ccp
c662432e 1528Common Report Var(flag_tree_ccp) Optimization
6de9cd9a
DN
1529Enable SSA-CCP optimization on trees
1530
0b4b14ac
RG
1531ftree-bit-ccp
1532Common Report Var(flag_tree_bit_ccp) Optimization
1533Enable SSA-BIT-CCP optimization on trees
1534
0bca51f0 1535ftree-store-ccp
2d2bd949 1536Common Ignore
dce2b2f6 1537Does nothing. Preserved for backward compatibility.
0bca51f0 1538
6de9cd9a 1539ftree-ch
c662432e 1540Common Report Var(flag_tree_ch) Optimization
6de9cd9a
DN
1541Enable loop header copying on trees
1542
6de9cd9a 1543ftree-copyrename
c662432e 1544Common Report Var(flag_tree_copyrename) Optimization
c85ce869 1545Replace SSA temporaries with better names in copies
6de9cd9a 1546
0bca51f0 1547ftree-copy-prop
c662432e 1548Common Report Var(flag_tree_copy_prop) Optimization
0bca51f0
DN
1549Enable copy propagation on trees
1550
1551ftree-store-copy-prop
2d2bd949 1552Common Ignore
e9033855 1553Does nothing. Preserved for backward compatibility.
0bca51f0 1554
a5828d1e
MM
1555ftree-cselim
1556Common Report Var(flag_tree_cselim) Init(2) Optimization
1557Transform condition stores into unconditional ones
1558
b6e99746
MJ
1559ftree-switch-conversion
1560Common Report Var(flag_tree_switch_conversion) Optimization
1561Perform conversions of switch initializations.
1562
6de9cd9a 1563ftree-dce
c662432e 1564Common Report Var(flag_tree_dce) Optimization
6de9cd9a
DN
1565Enable SSA dead code elimination optimization on trees
1566
1567ftree-dominator-opts
c662432e 1568Common Report Var(flag_tree_dom) Optimization
6de9cd9a
DN
1569Enable dominator optimizations
1570
1571ftree-dse
c662432e 1572Common Report Var(flag_tree_dse) Optimization
6de9cd9a
DN
1573Enable dead store elimination
1574
248fc9f3
RG
1575ftree-forwprop
1576Common Report Var(flag_tree_forwprop) Init(1) Optimization
1577Enable forward propagation on trees
1578
ff2ad0f7 1579ftree-fre
c662432e 1580Common Report Var(flag_tree_fre) Optimization
ff2ad0f7
DN
1581Enable Full Redundancy Elimination (FRE) on trees
1582
dea61d92 1583ftree-loop-distribution
53ed2f0e 1584Common Report Var(flag_tree_loop_distribution) Optimization
dea61d92
SP
1585Enable loop distribution on trees
1586
20769d5e
SP
1587ftree-loop-distribute-patterns
1588Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1589Enable loop distribution for patterns transformed into a library call
1590
1b08d87d 1591ftree-loop-im
c662432e 1592Common Report Var(flag_tree_loop_im) Init(1) Optimization
a7e5372d
ZD
1593Enable loop invariant motion on trees
1594
599eabdb 1595ftree-loop-linear
c662432e 1596Common Report Var(flag_tree_loop_linear) Optimization
599eabdb
DB
1597Enable linear loop transforms on trees
1598
1b08d87d 1599ftree-loop-ivcanon
c662432e 1600Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1b08d87d
DB
1601Create canonical induction variables in loops
1602
c66b6c66 1603ftree-loop-optimize
c662432e 1604Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
c66b6c66
ZD
1605Enable loop optimizations on tree level
1606
5f40b3cb 1607ftree-parallelize-loops=
fcfbd84e 1608Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
5f40b3cb
ZD
1609Enable automatic parallelization of loops
1610
248fc9f3
RG
1611ftree-phiprop
1612Common Report Var(flag_tree_phiprop) Init(1) Optimization
1613Enable hoisting loads from conditional pointers.
1614
6de9cd9a 1615ftree-pre
c662432e 1616Common Report Var(flag_tree_pre) Optimization
6de9cd9a
DN
1617Enable SSA-PRE optimization on trees
1618
248fc9f3
RG
1619ftree-pta
1620Common Report Var(flag_tree_pta) Init(1) Optimization
1621Perform function-local points-to analysis on trees.
1622
13c59415
UB
1623ftree-reassoc
1624Common Report Var(flag_tree_reassoc) Init(1) Optimization
1625Enable reassociation on tree level
1626
c75ab022 1627ftree-salias
2d2bd949 1628Common Ignore
1353232d 1629Does nothing. Preserved for backward compatibility.
c75ab022 1630
fa555252 1631ftree-sink
c662432e 1632Common Report Var(flag_tree_sink) Optimization
fa555252
DB
1633Enable SSA code sinking on trees
1634
6de9cd9a 1635ftree-sra
c662432e 1636Common Report Var(flag_tree_sra) Optimization
6de9cd9a
DN
1637Perform scalar replacement of aggregates
1638
1639ftree-ter
c72321c9 1640Common Report Var(flag_tree_ter) Init(1) Optimization
6de9cd9a
DN
1641Replace temporary expressions in the SSA->normal pass
1642
c662432e
NC
1643ftree-lrs
1644Common Report Var(flag_tree_live_range_split) Optimization
1645Perform live range splitting during the SSA->normal pass
1646
0bca51f0 1647ftree-vrp
c662432e 1648Common Report Var(flag_tree_vrp) Init(0) Optimization
0bca51f0
DN
1649Perform Value Range Propagation on trees
1650
de32c0cb 1651funit-at-a-time
d6cc6ec9 1652Common Report Var(flag_unit_at_a_time) Init(1) Optimization
f3fdaec4 1653Compile whole compilation unit at a time
de32c0cb
NB
1654
1655funroll-loops
c662432e 1656Common Report Var(flag_unroll_loops) Optimization
f3fdaec4 1657Perform loop unrolling when iteration count is known
de32c0cb
NB
1658
1659funroll-all-loops
c662432e 1660Common Report Var(flag_unroll_all_loops) Optimization
f3fdaec4 1661Perform loop unrolling for all loops
de32c0cb 1662
f9cc1a70
PB
1663; Nonzero means that loop optimizer may assume that the induction variables
1664; that control loops do not overflow and that the loops with nontrivial
1665; exit condition are not infinite
1666funsafe-loop-optimizations
c662432e 1667Common Report Var(flag_unsafe_loop_optimizations) Optimization
f9cc1a70
PB
1668Allow loop optimizations to assume that the loops behave in normal way
1669
a1a82611
RE
1670fassociative-math
1671Common Report Var(flag_associative_math)
1672Allow optimization for floating-point arithmetic which may change the
1673result of the operation due to rounding.
1674
1675freciprocal-math
1676Common Report Var(flag_reciprocal_math)
1677Same as -fassociative-math for expressions which include division.
1678
31b66477
KC
1679; Nonzero means that unsafe floating-point math optimizations are allowed
1680; for the sake of speed. IEEE compliance is not guaranteed, and operations
1681; are allowed to assume that their arguments and results are "normal"
1682; (e.g., nonnegative for SQRT).
6ff3a151 1683funsafe-math-optimizations
c662432e 1684Common Report Var(flag_unsafe_math_optimizations) Optimization
f3fdaec4 1685Allow math optimizations that may violate IEEE or ISO standards
6ff3a151 1686
de32c0cb 1687funswitch-loops
c662432e 1688Common Report Var(flag_unswitch_loops) Optimization
f3fdaec4 1689Perform loop unswitching
de32c0cb 1690
6ff3a151 1691funwind-tables
c662432e 1692Common Report Var(flag_unwind_tables) Optimization
f3fdaec4 1693Just generate unwind tables for exception handling
6ff3a151 1694
da18ea94
RAE
1695fuse-linker-plugin
1696Common Undocumented
1697
e90afde6
JM
1698; Positive if we should track variables, negative if we should run
1699; the var-tracking pass only to discard debug annotations, zero if
1700; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
1701; will be set according to optimize, debug_info_level and debug_hooks
1702; in process_options ().
014a1138 1703fvar-tracking
e90afde6 1704Common Report Var(flag_var_tracking) Init(2) Optimization
014a1138
JZ
1705Perform variable tracking
1706
e90afde6
JM
1707; Positive if we should track variables at assignments, negative if
1708; we should run the var-tracking pass only to discard debug
1709; annotations. When flag_var_tracking_assignments ==
1710; AUTODETECT_VALUE it will be set according to flag_var_tracking.
b5b8b0ac 1711fvar-tracking-assignments
e90afde6 1712Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
b5b8b0ac
AO
1713Perform variable tracking by annotating assignments
1714
e90afde6
JM
1715; Nonzero if we should toggle flag_var_tracking_assignments after
1716; processing options and computing its default. */
b5b8b0ac 1717fvar-tracking-assignments-toggle
e90afde6 1718Common Report Var(flag_var_tracking_assignments_toggle) Optimization
b5b8b0ac
AO
1719Toggle -fvar-tracking-assignments
1720
62760ffd
CT
1721fvar-tracking-uninit
1722Common Report Var(flag_var_tracking_uninit) Optimization
1723Perform variable tracking and also tag variables that are uninitialized
1724
79fe1b3b 1725ftree-vectorize
c662432e 1726Common Report Var(flag_tree_vectorize) Optimization
79fe1b3b
DN
1727Enable loop vectorization on trees
1728
a70d6342
IR
1729ftree-slp-vectorize
1730Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
1731Enable basic block vectorization (SLP) on trees
1732
792ed98b
HJ
1733fvect-cost-model
1734Common Report Var(flag_vect_cost_model) Optimization
1735Enable use of cost model in vectorization
1736
c12cc930 1737ftree-vect-loop-version
c662432e 1738Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
c12cc930
KB
1739Enable loop versioning when doing loop vectorization on trees
1740
c866976a
LB
1741ftree-vectorizer-verbose=
1742Common RejectNegative Joined
4e994432 1743-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
c866976a 1744
fbf798fc 1745ftree-scev-cprop
21af5cdf 1746Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
fbf798fc
DN
1747Enable copy propagation of scalar-evolution information.
1748
31b66477
KC
1749; -fverbose-asm causes extra commentary information to be produced in
1750; the generated assembly code (to make it more readable). This option
1751; is generally only of use to those who actually need to read the
1752; generated assembly code (perhaps while debugging the compiler itself).
1753; -fno-verbose-asm, the default, causes the extra information
1754; to not be added and is useful when comparing two assembler files.
6ff3a151 1755fverbose-asm
50431bc4 1756Common Report Var(flag_verbose_asm)
f3fdaec4 1757Add extra commentary to assembler output
6ff3a151 1758
d7afec4b
ND
1759fvisibility=
1760Common Joined RejectNegative
1761-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1762
1763
fca9dc00 1764fvpt
c662432e 1765Common Report Var(flag_value_profile_transformations) Optimization
fca9dc00
ZD
1766Use expression value profiles in optimizations
1767
62551c66 1768fweb
c662432e 1769Common Report Var(flag_web) Init(2) Optimization
62551c66
JH
1770Construct webs and split unrelated uses of single variable
1771
d7f09764 1772fwhopr
c04b6b38
RG
1773Common
1774Enable partitioned link-time optimization
1775
1776fwhopr=
a478ffff
AK
1777Common RejectNegative Joined Var(flag_whopr)
1778Partitioned link-time optimization with number of parallel jobs or jobserver.
d7f09764 1779
c2699190
XDL
1780ftree-builtin-call-dce
1781Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
1782Enable conditional dead code elimination for builtin calls
1783
ce91e74c 1784fwhole-program
c662432e 1785Common Report Var(flag_whole_program) Init(0) Optimization
ce91e74c
JH
1786Perform whole program optimizations
1787
6ff3a151 1788fwrapv
c662432e 1789Common Report Var(flag_wrapv) Optimization
f3fdaec4 1790Assume signed arithmetic overflow wraps around
6ff3a151 1791
6ff3a151 1792fzero-initialized-in-bss
50431bc4 1793Common Report Var(flag_zero_initialized_in_bss) Init(1)
f3fdaec4 1794Put zero initialized data in the bss section
6ff3a151 1795
e01cc6dc
NB
1796g
1797Common JoinedOrMissing
df38ffef
NB
1798Generate debug information in default format
1799
1800gcoff
53b2323e 1801Common JoinedOrMissing Negative(gdwarf-)
df38ffef
NB
1802Generate debug information in COFF format
1803
53b2323e
RH
1804gdwarf-
1805Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
1806Generate debug information in DWARF v2 (or later) format
df38ffef
NB
1807
1808ggdb
1809Common JoinedOrMissing
1810Generate debug information in default extended format
1811
1812gstabs
14c7833c 1813Common JoinedOrMissing Negative(gstabs+)
df38ffef
NB
1814Generate debug information in STABS format
1815
1816gstabs+
14c7833c 1817Common JoinedOrMissing Negative(gvms)
df38ffef
NB
1818Generate debug information in extended STABS format
1819
65f753a0 1820gno-strict-dwarf
047a3193 1821Common RejectNegative Var(dwarf_strict,0) Init(-1)
65f753a0
JJ
1822Emit DWARF additions beyond selected version
1823
1824gstrict-dwarf
f0036cca 1825Common Report RejectNegative Var(dwarf_strict,1)
65f753a0
JJ
1826Don't emit DWARF additions beyond selected version
1827
2153915d
AO
1828gtoggle
1829Common Report Var(flag_gtoggle)
1830Toggle debug information generation
1831
df38ffef 1832gvms
14c7833c 1833Common JoinedOrMissing Negative(gxcoff)
df38ffef
NB
1834Generate debug information in VMS format
1835
1836gxcoff
14c7833c 1837Common JoinedOrMissing Negative(gxcoff+)
df38ffef
NB
1838Generate debug information in XCOFF format
1839
1840gxcoff+
14c7833c 1841Common JoinedOrMissing Negative(gcoff)
df38ffef 1842Generate debug information in extended XCOFF format
e01cc6dc 1843
4adbd5dd
MK
1844iplugindir=
1845Common Joined Var(plugindir_string) Init(0)
1846-iplugindir=<dir> Set <dir> to be the default plugin directory
1847
603349bf
JM
1848l
1849Driver Joined Separate
1850
1851no-canonical-prefixes
1852Driver
1853
d9d16a19
JM
1854nodefaultlibs
1855Driver
1856
1857nostdlib
1858Driver
1859
d185d268 1860o
603349bf 1861Common Driver Joined Separate MissingArgError(missing filename after %qs)
cf03fd63 1862-o <file> Place output into <file>
d185d268
NB
1863
1864p
50431bc4 1865Common Var(profile_flag)
cf03fd63 1866Enable function profiling
d185d268 1867
603349bf
JM
1868pass-exit-codes
1869Driver Var(pass_exit_codes)
1870
d185d268 1871pedantic
50431bc4 1872Common Var(pedantic)
cf03fd63 1873Issue warnings needed for strict compliance to the standard
d185d268
NB
1874
1875pedantic-errors
1876Common
cf03fd63 1877Like -pedantic but issue them as errors
d185d268 1878
d9d16a19
JM
1879pg
1880Driver
1881
603349bf
JM
1882pipe
1883Driver Var(use_pipes)
1884
1885print-file-name=
1886Driver JoinedOrMissing Var(print_file_name)
1887
1888print-libgcc-file-name
1889Driver
1890
1891print-multi-directory
1892Driver Var(print_multi_directory)
1893
1894print-multi-lib
1895Driver Var(print_multi_lib)
1896
1897print-multi-os-directory
1898Driver Var(print_multi_os_directory)
1899
1900print-prog-name=
1901Driver JoinedOrMissing Var(print_prog_name)
1902
1903print-search-dirs
1904Driver Var(print_search_dirs)
1905
1906print-sysroot
1907Driver Var(print_sysroot)
1908
1909print-sysroot-headers-suffix
1910Driver Var(print_sysroot_headers_suffix)
1911
d7b42618 1912quiet
603349bf 1913Common Var(quiet_flag) RejectDriver
cf03fd63 1914Do not display functions compiled or elapsed time
d7b42618 1915
603349bf
JM
1916save-temps
1917Driver
1918
1919save-temps=
1920Driver Joined
1921
1922time
1923Driver Var(report_times)
1924
1925time=
1926Driver JoinedOrMissing
1927
e200444e
JM
1928u
1929Driver Joined Separate
1930
5642f5d5
JM
1931undef
1932Driver
1933; C option, but driver must not handle as "-u ndef".
1934
603349bf
JM
1935v
1936Driver
1937
d185d268 1938version
603349bf 1939Common Var(version_flag) RejectDriver
cf03fd63 1940Display the compiler's version
d185d268
NB
1941
1942w
50431bc4 1943Common Var(inhibit_warnings)
cf03fd63 1944Suppress warnings
d185d268 1945
603349bf
JM
1946wrapper
1947Driver Separate Var(wrapper_string)
1948
1949x
1950Driver Joined Separate
1951
528dc603
L
1952shared
1953Common RejectNegative Negative(pie)
1954Create a shared library
1955
603349bf
JM
1956shared-libgcc
1957Driver
1958
1959specs
5de8299c 1960Driver Separate Alias(specs=)
603349bf
JM
1961
1962specs=
1963Driver Joined
1964
d9d16a19
JM
1965static
1966Driver
1967
603349bf
JM
1968static-libgcc
1969Driver
1970
1971static-libgfortran
1972Driver
1973; Documented for Fortran, but always accepted by driver.
1974
1975static-libstdc++
1976Driver
1977
e200444e
JM
1978symbolic
1979Driver
1980
528dc603
L
1981pie
1982Common RejectNegative Negative(shared)
1983Create a position independent executable
1984
d7b42618 1985; This comment is to ensure we retain the blank line above.
This page took 2.192104 seconds and 5 git commands to generate.