]> gcc.gnu.org Git - gcc.git/blame - gcc/common.opt
re PR target/16350 (gcc only understands little endian ARM systems)
[gcc.git] / gcc / common.opt
CommitLineData
d7b42618 1; Options for the language- and target-independent parts of the compiler.
50431bc4 2
e53a16e7 3; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
d7b42618
NB
4;
5; This file is part of GCC.
6;
7; GCC is free software; you can redistribute it and/or modify it under
8; the terms of the GNU General Public License as published by the Free
9dcd6f09 9; Software Foundation; either version 3, or (at your option) any later
d7b42618 10; version.
c22cacf3 11;
d7b42618
NB
12; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15; for more details.
c22cacf3 16;
d7b42618 17; You should have received a copy of the GNU General Public License
9dcd6f09
NC
18; along with GCC; see the file COPYING3. If not see
19; <http://www.gnu.org/licenses/>.
d7b42618 20
8abb6b22 21; See the GCC internals manual for a description of this file's format.
d7b42618
NB
22
23; Please try to keep this file in ASCII collating order.
24
d185d268
NB
25-help
26Common
cf03fd63 27Display this information
d185d268 28
c662432e
NC
29-help=
30Common Report Joined
31--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
903caebf 32
d185d268
NB
33-target-help
34Common
c662432e
NC
35Alias for --help=target
36
37;; The following three entries are to work around the gcc driver
38;; program's insatiable desire to turn options starting with a
39;; double dash (--) into options starting with a dash f (-f).
40fhelp
41Common
42
43fhelp=
44Common Joined
45
46ftarget-help
47Common
48
49-param
50Common Separate
51--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
d185d268
NB
52
53-version
54Common
55
56G
7b086b11 57Common Joined Separate UInteger
cf03fd63 58-G<number> Put global and static data smaller than <number> bytes into a special section (on some targets)
d185d268 59
903caebf
NB
60O
61Common JoinedOrMissing
cf03fd63 62-O<number> Set optimization level to <number>
903caebf
NB
63
64Os
65Common
cf03fd63 66Optimize for space rather than speed
903caebf
NB
67
68W
69Common RejectNegative
28786366 70This switch is deprecated; use -Wextra instead
903caebf 71
e01cc6dc 72Waggregate-return
c662432e 73Common Var(warn_aggregate_return) Warning
28786366 74Warn about returning structures, unions or arrays
e01cc6dc 75
590b1f2d 76Warray-bounds
21af5cdf 77Common Var(warn_array_bounds) Warning
590b1f2d
DM
78Warn if an array is accessed out of bounds
79
5c498b10 80Wattributes
c662432e 81Common Var(warn_attributes) Init(1) Warning
5c498b10
DD
82Warn about inappropriate attribute usage
83
e01cc6dc 84Wcast-align
c662432e 85Common Var(warn_cast_align) Warning
28786366 86Warn about pointer casts which increase alignment
e01cc6dc
NB
87
88Wdeprecated-declarations
c662432e 89Common Var(warn_deprecated_decl) Init(1) Warning
28786366 90Warn about uses of __attribute__((deprecated)) declarations
e01cc6dc
NB
91
92Wdisabled-optimization
c662432e 93Common Var(warn_disabled_optimization) Warning
28786366 94Warn when an optimization pass is disabled
e01cc6dc
NB
95
96Werror
50431bc4 97Common Var(warnings_are_errors)
28786366 98Treat all warnings as errors
e01cc6dc 99
79cf5994
DD
100Werror=
101Common Joined
102Treat specified warning as error
103
903caebf 104Wextra
c662432e 105Common Warning
cf03fd63 106Print extra (possibly unwanted) warnings
903caebf 107
c65a01af 108Wfatal-errors
50431bc4 109Common Var(flag_fatal_errors)
c65a01af
RG
110Exit on the first error occurred
111
e01cc6dc 112Winline
c662432e 113Common Var(warn_inline) Warning
28786366 114Warn when an inlined function cannot be inlined
e01cc6dc
NB
115
116Wlarger-than-
c662432e 117Common RejectNegative Joined UInteger Warning
cf03fd63 118-Wlarger-than-<number> Warn if an object is larger than <number> bytes
e01cc6dc 119
63a08740
DM
120Wlogical-op
121Common Warning Var(warn_logical_op)
122Warn when a logical operator is suspicously always evaluating to true or false
123
f9cc1a70 124Wunsafe-loop-optimizations
c662432e 125Common Var(warn_unsafe_loop_optimizations) Warning
f9cc1a70
PB
126Warn if the loop cannot be optimized due to nontrivial assumptions.
127
e01cc6dc 128Wmissing-noreturn
c662432e 129Common Var(warn_missing_noreturn) Warning
28786366 130Warn about functions which might be candidates for __attribute__((noreturn))
e01cc6dc 131
71834ad3 132Woverflow
c662432e 133Common Var(warn_overflow) Init(1) Warning
71834ad3
RS
134Warn about overflow in arithmetic expressions
135
e01cc6dc 136Wpacked
c662432e 137Common Var(warn_packed) Warning
28786366 138Warn when the packed attribute has no effect on struct layout
e01cc6dc
NB
139
140Wpadded
c662432e 141Common Var(warn_padded) Warning
28786366 142Warn when padding is required to align structure members
e01cc6dc
NB
143
144Wshadow
c662432e 145Common Var(warn_shadow) Warning
28786366 146Warn when one local variable shadows another
e01cc6dc 147
7d69de61 148Wstack-protector
c662432e 149Common Var(warn_stack_protect) Warning
7d69de61
RH
150Warn when not issuing stack smashing protection for some reason
151
e01cc6dc 152Wstrict-aliasing
c662432e 153Common Warning
28786366 154Warn about code which might break strict aliasing rules
e01cc6dc 155
5399d643 156Wstrict-aliasing=
c662432e 157Common Joined UInteger Warning
5399d643
JW
158Warn about code which might break strict aliasing rules
159
6ac01510 160Wstrict-overflow
21af5cdf 161Common Warning
6ac01510
ILT
162Warn about optimizations that assume that signed overflow is undefined
163
164Wstrict-overflow=
21af5cdf 165Common Joined UInteger Warning
6ac01510
ILT
166Warn about optimizations that assume that signed overflow is undefined
167
e01cc6dc 168Wswitch
c662432e 169Common Var(warn_switch) Warning
28786366 170Warn about enumerated switches, with no default, missing a case
e01cc6dc
NB
171
172Wswitch-default
c662432e 173Common Var(warn_switch_default) Warning
28786366 174Warn about enumerated switches missing a \"default:\" statement
e01cc6dc
NB
175
176Wswitch-enum
c662432e 177Common Var(warn_switch_enum) Warning
28786366 178Warn about all enumerated switches missing a specific case
e01cc6dc
NB
179
180Wsystem-headers
c662432e 181Common Var(warn_system_headers) Warning
f3fdaec4 182Do not suppress warnings from system headers
e01cc6dc
NB
183
184Wuninitialized
c662432e 185Common Var(warn_uninitialized) Warning
28786366 186Warn about uninitialized automatic variables
e01cc6dc
NB
187
188Wunreachable-code
c662432e 189Common Var(warn_notreached) Warning
28786366 190Warn about code that will never be executed
e01cc6dc 191
903caebf 192Wunused
c662432e 193Common Warning
cf03fd63 194Enable all -Wunused- warnings
903caebf 195
e01cc6dc 196Wunused-function
c662432e 197Common Var(warn_unused_function) Warning
28786366 198Warn when a function is unused
e01cc6dc
NB
199
200Wunused-label
c662432e 201Common Var(warn_unused_label) Warning
28786366 202Warn when a label is unused
e01cc6dc
NB
203
204Wunused-parameter
c662432e 205Common Var(warn_unused_parameter) Warning
28786366 206Warn when a function parameter is unused
e01cc6dc
NB
207
208Wunused-value
c662432e 209Common Var(warn_unused_value) Warning
28786366 210Warn when an expression value is unused
e01cc6dc
NB
211
212Wunused-variable
c662432e 213Common Var(warn_unused_variable) Warning
28786366 214Warn when a variable is unused
e01cc6dc 215
d35a40fc 216Wvolatile-register-var
c662432e 217Common Var(warn_register_var) Warning
d35a40fc
DE
218Warn when a register variable is declared volatile
219
16c1c158 220Wcoverage-mismatch
21af5cdf 221Common RejectNegative Var(warn_coverage_mismatch) Warning
16c1c158
RG
222Warn instead of error in case profiles in -fprofile-use do not match
223
d185d268
NB
224aux-info
225Common Separate
cf03fd63 226-aux-info <file> Emit declaration information into <file>
d185d268
NB
227
228aux-info=
229Common Joined
230
231auxbase
232Common Separate
233
234auxbase-strip
235Common Separate
236
237d
238Common Joined
cf03fd63 239-d<letters> Enable dumps from specific passes of the compiler
d185d268
NB
240
241dumpbase
242Common Separate
cf03fd63 243-dumpbase <file> Set the file basename to be used for dumps
d185d268 244
31b66477
KC
245; The version of the C++ ABI in use. The following values are allowed:
246;
247; 0: The version of the ABI believed most conformant with the C++ ABI
248; specification. This ABI may change as bugs are discovered and fixed.
249; Therefore, 0 will not necessarily indicate the same ABI in different
250; versions of G++.
251;
252; 1: The version of the ABI first used in G++ 3.2.
253;
99a8d35b
ET
254; 2: The version of the ABI first used in G++ 3.4.
255;
31b66477
KC
256; Additional positive integers will be assigned as new versions of
257; the ABI become the default version of the ABI.
57782ad8 258fabi-version=
50431bc4 259Common Joined UInteger Var(flag_abi_version) Init(2)
57782ad8 260
6ff3a151 261falign-functions
50431bc4 262Common Report Var(align_functions,0)
f3fdaec4 263Align the start of functions
6ff3a151 264
058de654
NB
265falign-functions=
266Common RejectNegative Joined UInteger
267
6ff3a151 268falign-jumps
c662432e 269Common Report Var(align_jumps,0) Optimization
f3fdaec4 270Align labels which are only reached by jumping
6ff3a151 271
058de654
NB
272falign-jumps=
273Common RejectNegative Joined UInteger
274
6ff3a151 275falign-labels
c662432e 276Common Report Var(align_labels,0) Optimization
f3fdaec4 277Align all labels
6ff3a151 278
058de654
NB
279falign-labels=
280Common RejectNegative Joined UInteger
281
6ff3a151 282falign-loops
c662432e 283Common Report Var(align_loops) Optimization
f3fdaec4 284Align the start of loops
6ff3a151 285
058de654
NB
286falign-loops=
287Common RejectNegative Joined UInteger
288
31b66477
KC
289; This flag is only tested if alias checking is enabled.
290; 0 if pointer arguments may alias each other. True in C.
291; 1 if pointer arguments may not alias each other but may alias
292; global variables.
293; 2 if pointer arguments may not alias each other and may not
0698a1d2
TM
294; alias global variables.
295; 3 if pointer arguments may not alias anything. True in Fortran.
296; Set by the front end.
6ff3a151 297fargument-alias
c662432e 298Common Report Var(flag_argument_noalias,0) Optimization
f3fdaec4 299Specify that arguments may alias each other and globals
6ff3a151
NB
300
301fargument-noalias
c662432e 302Common Report Var(flag_argument_noalias,1) VarExists Optimization
f3fdaec4 303Assume arguments may alias globals but not each other
6ff3a151
NB
304
305fargument-noalias-global
c662432e 306Common Report Var(flag_argument_noalias,2) VarExists Optimization
f3fdaec4 307Assume arguments alias neither each other nor globals
6ff3a151 308
0698a1d2 309fargument-noalias-anything
c662432e 310Common Report Var(flag_argument_noalias,3) VarExists Optimization
0698a1d2
TM
311Assume arguments alias no other storage
312
6ff3a151 313fasynchronous-unwind-tables
c662432e 314Common Report Var(flag_asynchronous_unwind_tables) Optimization
f3fdaec4 315Generate unwind tables that are exact at each instruction boundary
6ff3a151 316
6fb5fa3c
DB
317fauto-inc-dec
318Common Report Var(flag_auto_inc_dec) Init(1)
319Generate auto-inc/dec instructions
320
31b66477
KC
321; -fcheck-bounds causes gcc to generate array bounds checks.
322; For C, C++ and ObjC: defaults off.
323; For Java: defaults to on.
324; For Fortran: defaults to off.
6ff3a151 325fbounds-check
50431bc4 326Common Report Var(flag_bounds_check)
f3fdaec4 327Generate code to check bounds before indexing arrays
6ff3a151
NB
328
329fbranch-count-reg
c662432e 330Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
f3fdaec4 331Replace add, compare, branch with branch on count register
6ff3a151
NB
332
333fbranch-probabilities
c662432e 334Common Report Var(flag_branch_probabilities) Optimization
f3fdaec4 335Use profiling information for branch probabilities
6ff3a151 336
de32c0cb 337fbranch-target-load-optimize
c662432e 338Common Report Var(flag_branch_target_load_optimize) Optimization
f3fdaec4 339Perform branch target load optimization before prologue / epilogue threading
de32c0cb
NB
340
341fbranch-target-load-optimize2
c662432e 342Common Report Var(flag_branch_target_load_optimize2) Optimization
f3fdaec4 343Perform branch target load optimization after prologue / epilogue threading
de32c0cb 344
1194fc79 345fbtr-bb-exclusive
c662432e 346Common Report Var(flag_btr_bb_exclusive) Optimization
1194fc79
R
347Restrict target load migration not to re-use registers in any basic block
348
058de654
NB
349fcall-saved-
350Common Joined RejectNegative
cf03fd63 351-fcall-saved-<register> Mark <register> as being preserved across functions
058de654
NB
352
353fcall-used-
354Common Joined RejectNegative
cf03fd63 355-fcall-used-<register> Mark <register> as being corrupted by function calls
058de654 356
31b66477
KC
357; Nonzero for -fcaller-saves: allocate values in regs that need to
358; be saved across function calls, if that produces overall better code.
359; Optional now, so people can test it.
de32c0cb 360fcaller-saves
c662432e 361Common Report Var(flag_caller_saves) Optimization
f3fdaec4 362Save registers around function calls
de32c0cb 363
3d8864c0
SP
364fcheck-data-deps
365Common Report Var(flag_check_data_deps)
366Compare the results of several data dependence analyzers.
367
6ff3a151 368fcommon
c662432e 369Common Report Var(flag_no_common,0) Optimization
f3fdaec4 370Do not put uninitialized globals in the common section
6ff3a151
NB
371
372fcprop-registers
c662432e 373Common Report Var(flag_cprop_registers) Optimization
f3fdaec4 374Perform a register copy-propagation optimization pass
6ff3a151 375
de32c0cb 376fcrossjumping
c662432e 377Common Report Var(flag_crossjumping) Optimization
f3fdaec4 378Perform cross-jumping optimization
de32c0cb
NB
379
380fcse-follow-jumps
c662432e 381Common Report Var(flag_cse_follow_jumps) Optimization
f3fdaec4 382When running CSE, follow jumps to their targets
de32c0cb
NB
383
384fcse-skip-blocks
c662432e 385Common Report Var(flag_cse_skip_blocks) Optimization
f3fdaec4 386When running CSE, follow conditional jumps
de32c0cb 387
c7463669 388fcx-limited-range
c662432e 389Common Report Var(flag_cx_limited_range) Optimization
c7463669
RH
390Omit range reduction step when performing complex division
391
6ff3a151 392fdata-sections
c662432e 393Common Report Var(flag_data_sections) Optimization
f3fdaec4 394Place data items into their own section
6ff3a151 395
0a090f42
SP
396fdbg-cnt-list
397Common Report
398List all available debugging counters with their limits and counts.
399
6fb5fa3c
DB
400fdbg-cnt=
401Common RejectNegative Joined
0a090f42 402-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
6fb5fa3c 403
c8aea42c
PB
404fdebug-prefix-map=
405Common Joined RejectNegative
406Map one directory name to another in debug information
407
31b66477
KC
408; Nonzero for -fdefer-pop: don't pop args after each function call
409; instead save them up to pop many calls' args with one insns.
de32c0cb 410fdefer-pop
c662432e 411Common Report Var(flag_defer_pop) Optimization
f3fdaec4 412Defer popping functions args from stack until later
de32c0cb
NB
413
414fdelayed-branch
c662432e 415Common Report Var(flag_delayed_branch) Optimization
f3fdaec4 416Attempt to fill delay slots of branch instructions
de32c0cb
NB
417
418fdelete-null-pointer-checks
c662432e 419Common Report Var(flag_delete_null_pointer_checks) Optimization
f3fdaec4 420Delete useless null pointer checks
de32c0cb
NB
421
422fdiagnostics-show-location=
423Common Joined RejectNegative
cf03fd63 424-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
de32c0cb 425
ccf08a6e 426fdiagnostics-show-option
2098fe9e 427Common
c85ce869 428Amend appropriate diagnostic messages with the command line option that controls them
ccf08a6e 429
6de9cd9a
DN
430fdump-
431Common Joined RejectNegative
432-fdump-<type> Dump various compiler internals to a file
433
24a7799e
R
434fdump-noaddr
435Common Report Var(flag_dump_noaddr)
436Suppress output of addresses in debugging dumps
437
6ff3a151 438fdump-unnumbered
50431bc4 439Common Report Var(flag_dump_unnumbered) VarExists
24a7799e 440Suppress output of instruction numbers, line number notes and addresses in debugging dumps
6ff3a151 441
355866de 442fearly-inlining
c662432e 443Common Report Var(flag_early_inlining) Init(1) Optimization
355866de
RG
444Perform early inlining
445
de32c0cb 446feliminate-dwarf2-dups
50431bc4 447Common Report Var(flag_eliminate_dwarf2_dups)
f3fdaec4 448Perform DWARF2 duplicate elimination
de32c0cb 449
6a08f7b3 450feliminate-unused-debug-symbols
50431bc4 451Common Report Var(flag_debug_only_used_symbols)
f3fdaec4 452Perform unused type elimination in debug info
6a08f7b3 453
de32c0cb 454feliminate-unused-debug-types
50431bc4 455Common Report Var(flag_eliminate_unused_debug_types) Init(1)
f3fdaec4 456Perform unused type elimination in debug info
de32c0cb 457
e713adf6 458femit-class-debug-always
eae8e474 459Common Report Var(flag_emit_class_debug_always) Init(0)
e713adf6
CD
460Do not suppress C++ class debug information.
461
6ff3a151 462fexceptions
c662432e 463Common Report Var(flag_exceptions) Optimization
f3fdaec4 464Enable exception handling
6ff3a151 465
de32c0cb 466fexpensive-optimizations
c662432e 467Common Report Var(flag_expensive_optimizations) Optimization
f3fdaec4 468Perform a number of minor, expensive optimizations
de32c0cb 469
058de654
NB
470ffast-math
471Common
472
6ff3a151 473ffinite-math-only
c662432e 474Common Report Var(flag_finite_math_only) Optimization
f3fdaec4 475Assume no NaNs or infinities are generated
6ff3a151 476
058de654
NB
477ffixed-
478Common Joined RejectNegative
cf03fd63 479-ffixed-<register> Mark <register> as being unavailable to the compiler
058de654 480
de32c0cb 481ffloat-store
c662432e 482Common Report Var(flag_float_store) Optimization
31b66477 483Don't allocate floats and doubles in extended-precision registers
de32c0cb 484
31b66477
KC
485; Nonzero for -fforce-addr: load memory address into a register before
486; reference to memory. This makes better cse but slower compilation.
de32c0cb 487fforce-addr
c662432e 488Common Report Var(flag_force_addr) Optimization
f3fdaec4 489Copy memory address constants into registers before use
de32c0cb 490
2ca2b607
SB
491fforward-propagate
492Common Report Var(flag_forward_propagate) Optimization
a52b023a
PB
493Perform a forward propagation pass on RTL
494
31b66477
KC
495; Nonzero means don't put addresses of constant functions in registers.
496; Used for compiling the Unix kernel, where strange substitutions are
497; done on the assembly output.
de32c0cb 498ffunction-cse
50431bc4 499Common Report Var(flag_no_function_cse,0)
f3fdaec4 500Allow function addresses to be held in registers
de32c0cb 501
6ff3a151 502ffunction-sections
50431bc4 503Common Report Var(flag_function_sections)
f3fdaec4 504Place each function into its own section
6ff3a151 505
de32c0cb 506fgcse
c662432e 507Common Report Var(flag_gcse) Optimization
f3fdaec4 508Perform global common subexpression elimination
de32c0cb
NB
509
510fgcse-lm
c662432e 511Common Report Var(flag_gcse_lm) Init(1) Optimization
f3fdaec4 512Perform enhanced load motion during global common subexpression elimination
de32c0cb
NB
513
514fgcse-sm
c662432e 515Common Report Var(flag_gcse_sm) Init(0) Optimization
f3fdaec4 516Perform store motion after global common subexpression elimination
de32c0cb 517
f5f2e3cd 518fgcse-las
c662432e 519Common Report Var(flag_gcse_las) Init(0) Optimization
f9957958
MH
520Perform redundant load after store elimination in global common subexpression
521elimination
522
523fgcse-after-reload
c662432e 524Common Report Var(flag_gcse_after_reload) Optimization
f9957958 525Perform global common subexpression elimination after register allocation
c85ce869 526has finished
f5f2e3cd 527
6ff3a151 528fguess-branch-probability
c662432e 529Common Report Var(flag_guess_branch_prob) Optimization
f3fdaec4 530Enable guessing of branch probabilities
6ff3a151 531
31b66477
KC
532; Nonzero means ignore `#ident' directives. 0 means handle them.
533; Generate position-independent code for executables if possible
534; On SVR4 targets, it also controls whether or not to emit a
535; string identifying the compiler.
6ff3a151 536fident
50431bc4 537Common Report Var(flag_no_ident,0)
f3fdaec4 538Process #ident directives
6ff3a151 539
de32c0cb 540fif-conversion
c662432e 541Common Report Var(flag_if_conversion) Optimization
f3fdaec4 542Perform conversion of conditional jumps to branchless equivalents
de32c0cb
NB
543
544fif-conversion2
c662432e 545Common Report Var(flag_if_conversion2) Optimization
f3fdaec4 546Perform conversion of conditional jumps to conditional execution
de32c0cb 547
31b66477
KC
548; -finhibit-size-directive inhibits output of .size for ELF.
549; This is used only for compiling crtstuff.c,
550; and it may be extended to other effects
551; needed for crtstuff.c on other systems.
6ff3a151 552finhibit-size-directive
50431bc4 553Common Report Var(flag_inhibit_size_directive)
f3fdaec4 554Do not generate .size directives
6ff3a151 555
31b66477
KC
556; Nonzero means that functions declared `inline' will be treated
557; as `static'. Prevents generation of zillions of copies of unused
558; static inline functions; instead, `inlines' are written out
559; only when actually used. Used in conjunction with -g. Also
560; does the right thing with #pragma interface.
de32c0cb 561finline
50431bc4 562Common Report Var(flag_no_inline,0) Init(2)
f3fdaec4 563Pay attention to the \"inline\" keyword
de32c0cb 564
4d4b8cb9
JH
565finline-small-functions
566Common Report Var(flag_inline_small_functions) Optimization
567Integrate simple functions into their callers when code size is known to not growth
568
de32c0cb 569finline-functions
c662432e 570Common Report Var(flag_inline_functions) Optimization
f3fdaec4 571Integrate simple functions into their callers
de32c0cb 572
355866de 573finline-functions-called-once
c662432e 574Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
355866de 575Integrate functions called once into their callers
d63db217 576
d302c9d6
NB
577finline-limit-
578Common RejectNegative Joined UInteger
579
580finline-limit=
581Common RejectNegative Joined UInteger
cf03fd63 582-finline-limit=<number> Limit the size of inlined functions to <number>
d302c9d6 583
6ff3a151 584finstrument-functions
50431bc4 585Common Report Var(flag_instrument_function_entry_exit)
f3fdaec4 586Instrument function entry and exit with profiling calls
6ff3a151 587
8d5a7d1f
ILT
588finstrument-functions-exclude-function-list=
589Common RejectNegative Joined
590-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions
591
592finstrument-functions-exclude-file-list=
593Common RejectNegative Joined
594-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files
595
d6e14e8f 596fipa-cp
c662432e 597Common Report Var(flag_ipa_cp) Optimization
d6e14e8f
SB
598Perform Interprocedural constant propagation
599
ea900239 600fipa-pure-const
c662432e 601Common Report Var(flag_ipa_pure_const) Init(0) Optimization
ea900239
DB
602Discover pure and const functions
603
4cf4d6a3 604fipa-pta
c662432e 605Common Report Var(flag_ipa_pta) Init(0) Optimization
4cf4d6a3
DB
606Perform interprocedural points-to analysis
607
ea900239 608fipa-reference
c662432e 609Common Report Var(flag_ipa_reference) Init(0) Optimization
ea900239
DB
610Discover readonly and non addressable static variables
611
612fipa-type-escape
c662432e 613Common Report Var(flag_ipa_type_escape) Init(0) Optimization
ea900239
DB
614Type based escape and alias analysis
615
43d861a5 616fipa-matrix-reorg
6ae4be32 617Common Report Var(flag_ipa_matrix_reorg) Optimization
43d861a5
RL
618Perform matrix layout flattening and transposing based
619on profiling information.
620
e1dc98b2
OG
621fipa-struct-reorg
622Common Report Var(flag_ipa_struct_reorg)
623Perform structure layout optimizations based
624on profiling information.
625
8b11a64c 626fivopts
c662432e 627Common Report Var(flag_ivopts) Init(1) Optimization
8b11a64c
ZD
628Optimize induction variables on trees
629
82c0180d 630fjump-tables
c662432e 631Common Var(flag_jump_tables) Init(1) Optimization
82c0180d
JM
632Use jump tables for sufficiently large switch statements
633
de32c0cb 634fkeep-inline-functions
50431bc4 635Common Report Var(flag_keep_inline_functions)
f3fdaec4 636Generate code for functions even if they are fully inlined
de32c0cb
NB
637
638fkeep-static-consts
50431bc4 639Common Report Var(flag_keep_static_consts) Init(1)
f3fdaec4 640Emit static const variables even if they are not used
de32c0cb 641
6ff3a151 642fleading-underscore
50431bc4 643Common Report Var(flag_leading_underscore) Init(-1)
f3fdaec4 644Give external symbols a leading underscore
6ff3a151 645
efa1cdf0
ZD
646floop-optimize
647Common
c0220ea4 648Does nothing. Preserved for backward compatibility.
efa1cdf0 649
6ff3a151 650fmath-errno
50431bc4 651Common Report Var(flag_errno_math) Init(1)
f3fdaec4 652Set errno after built-in math functions
6ff3a151
NB
653
654fmem-report
50431bc4 655Common Report Var(mem_report)
f3fdaec4 656Report on permanent memory allocation
6ff3a151 657
31b66477
KC
658; This will attempt to merge constant section constants, if 1 only
659; string constants and constants from constant pool, if 2 also constant
660; variables.
6ff3a151 661fmerge-all-constants
c662432e 662Common Report Var(flag_merge_constants,2) Init(1) Optimization
f3fdaec4 663Attempt to merge identical constants and constant variables
6ff3a151
NB
664
665fmerge-constants
c662432e 666Common Report Var(flag_merge_constants,1) VarExists Optimization
f3fdaec4 667Attempt to merge identical constants across compilation units
6ff3a151 668
de32c0cb
NB
669fmessage-length=
670Common RejectNegative Joined UInteger
cf03fd63 671-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
de32c0cb 672
e5626198 673fmodulo-sched
c662432e 674Common Report Var(flag_modulo_sched) Optimization
e5626198
AZ
675Perform SMS based modulo scheduling before the first scheduling pass
676
517d76fa
VY
677fmodulo-sched-allow-regmoves
678Common Report Var(flag_modulo_sched_allow_regmoves)
679Perform SMS based modulo scheduling with register moves allowed
680
5e962776 681fmove-loop-invariants
c662432e 682Common Report Var(flag_move_loop_invariants) Init(1) Optimization
5e962776
ZD
683Move loop invariant computations out of loops
684
6de9cd9a 685fmudflap
50431bc4 686Common RejectNegative Report Var(flag_mudflap)
c85ce869 687Add mudflap bounds-checking instrumentation for single-threaded program
6de9cd9a
DN
688
689fmudflapth
110c4563 690Common RejectNegative Report VarExists Var(flag_mudflap,2)
c85ce869 691Add mudflap bounds-checking instrumentation for multi-threaded program
6de9cd9a
DN
692
693fmudflapir
50431bc4 694Common RejectNegative Report Var(flag_mudflap_ignore_reads)
c85ce869 695Ignore read operations when inserting mudflap instrumentation
6de9cd9a 696
6fb5fa3c 697fdce
6ae4be32 698Common Var(flag_dce) Init(1) Optimization
6fb5fa3c
DB
699Use the RTL dead code elimination pass
700
701fdse
6ae4be32 702Common Var(flag_dse) Init(1) Optimization
6fb5fa3c
DB
703Use the RTL dead store elimination pass
704
d72372e4 705freschedule-modulo-scheduled-loops
c662432e 706Common Report Var(flag_resched_modulo_sched) Optimization
d72372e4
MH
707Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
708
6ff3a151 709fnon-call-exceptions
c662432e 710Common Report Var(flag_non_call_exceptions) Optimization
f3fdaec4 711Support synchronous non-call exceptions
6ff3a151 712
de32c0cb 713fomit-frame-pointer
c662432e 714Common Report Var(flag_omit_frame_pointer) Optimization
f3fdaec4 715When possible do not generate stack frames
de32c0cb 716
917948d3
ZD
717fopenmp-ssa
718Common Report Var(flag_openmp_ssa)
719Expand OpenMP operations on SSA form
720
6ff3a151 721foptimize-register-move
c662432e 722Common Report Var(flag_regmove) Optimization
f3fdaec4 723Do the full register move optimization pass
6ff3a151 724
de32c0cb 725foptimize-sibling-calls
c662432e 726Common Report Var(flag_optimize_sibling_calls) Optimization
f3fdaec4 727Optimize sibling and tail recursive calls
de32c0cb 728
a5573239
JH
729fpre-ipa-mem-report
730Common Report Var(pre_ipa_mem_report)
731Report on memory allocation before interprocedural optimization
732
733fpost-ipa-mem-report
734Common Report Var(post_ipa_mem_report)
735Report on memory allocation before interprocedural optimization
736
6ff3a151 737fpack-struct
c662432e 738Common Report Var(flag_pack_struct) Optimization
f3fdaec4 739Pack structure members together without holes
6ff3a151 740
467cecf3 741fpack-struct=
c662432e 742Common RejectNegative Joined UInteger Optimization
467cecf3
JB
743-fpack-struct=<number> Set initial maximum structure member alignment
744
de32c0cb 745fpcc-struct-return
50431bc4 746Common Report Var(flag_pcc_struct_return,1) VarExists
f3fdaec4 747Return small aggregates in memory, not registers
de32c0cb
NB
748
749fpeel-loops
c662432e 750Common Report Var(flag_peel_loops) Optimization
f3fdaec4 751Perform loop peeling
de32c0cb
NB
752
753fpeephole
c662432e 754Common Report Var(flag_no_peephole,0) Optimization
f3fdaec4 755Enable machine specific peephole optimizations
de32c0cb 756
6ff3a151 757fpeephole2
c662432e 758Common Report Var(flag_peephole2) Optimization
f3fdaec4 759Enable an RTL peephole pass before sched2
6ff3a151 760
31b66477
KC
761fPIC
762Common Report Var(flag_pic,2)
763Generate position-independent code if possible (large mode)
764
765fPIE
766Common Report Var(flag_pie,2)
767Generate position-independent code for executables if possible (large mode)
768
6ff3a151 769fpic
50431bc4 770Common Report Var(flag_pic,1) VarExists
31b66477 771Generate position-independent code if possible (small mode)
6ff3a151
NB
772
773fpie
50431bc4 774Common Report Var(flag_pie,1) VarExists
31b66477 775Generate position-independent code for executables if possible (small mode)
6ff3a151 776
bbc8a8dc 777fpredictive-commoning
6ae4be32 778Common Report Var(flag_predictive_commoning) Optimization
bbc8a8dc
ZD
779Run predictive commoning optimization.
780
de32c0cb 781fprefetch-loop-arrays
c662432e 782Common Report Var(flag_prefetch_loop_arrays) Optimization
f3fdaec4 783Generate prefetch instructions, if available, for arrays in loops
de32c0cb 784
6ff3a151 785fprofile
50431bc4 786Common Report Var(profile_flag)
f3fdaec4 787Enable basic program profiling code
6ff3a151
NB
788
789fprofile-arcs
50431bc4 790Common Report Var(profile_arc_flag)
f3fdaec4 791Insert arc-based program profiling code
6ff3a151 792
a8a5f53a
JH
793fprofile-generate
794Common
795Enable common options for generating profile info for profile feedback directed optimizations
796
797fprofile-use
798Common
799Enable common options for performing profile feedback directed optimizations
800
fca9dc00 801fprofile-values
50431bc4 802Common Report Var(flag_profile_values)
fca9dc00
ZD
803Insert code to profile values of expressions
804
de32c0cb
NB
805frandom-seed
806Common
807
808frandom-seed=
809Common Joined RejectNegative
cf03fd63 810-frandom-seed=<string> Make compile reproducible using <string>
de32c0cb 811
e0d9d0dd
NC
812; This switch causes the command line that was used to create an
813; object file to be recorded into the object file. The exact format
814; of this recording is target and binary file format dependent.
815; It is related to the -fverbose-asm switch, but that switch only
816; records information in the assembler output file as comments, so
817; they never reach the object file.
818frecord-gcc-switches
819Common Report Var(flag_record_gcc_switches)
820Record gcc command line switches in the object file.
821
de32c0cb 822freg-struct-return
c662432e 823Common Report Var(flag_pcc_struct_return,0) VarExists Optimization
f3fdaec4 824Return small aggregates in registers
de32c0cb 825
6ff3a151 826fregmove
c662432e 827Common Report Var(flag_regmove) Optimization
f3fdaec4 828Enables a register move optimization
6ff3a151
NB
829
830frename-registers
c662432e 831Common Report Var(flag_rename_registers) Init(2) Optimization
f3fdaec4 832Perform a register renaming optimization pass
6ff3a151
NB
833
834freorder-blocks
c662432e 835Common Report Var(flag_reorder_blocks) Optimization
f3fdaec4 836Reorder basic blocks to improve code placement
6ff3a151 837
750054a2 838freorder-blocks-and-partition
c662432e 839Common Report Var(flag_reorder_blocks_and_partition) Optimization
750054a2
CT
840Reorder basic blocks and partition into hot and cold sections
841
6ff3a151 842freorder-functions
c662432e 843Common Report Var(flag_reorder_functions) Optimization
f3fdaec4 844Reorder functions to improve code placement
6ff3a151 845
de32c0cb 846frerun-cse-after-loop
c662432e 847Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
f3fdaec4 848Add a common subexpression elimination pass after loop optimizations
de32c0cb 849
efa1cdf0
ZD
850frerun-loop-opt
851Common
c0220ea4 852Does nothing. Preserved for backward compatibility.
efa1cdf0 853
039c3d42 854frounding-math
c662432e 855Common Report Var(flag_rounding_math) Optimization
039c3d42
RS
856Disable optimizations that assume default FP rounding behavior
857
6ff3a151 858fsched-interblock
c662432e 859Common Report Var(flag_schedule_interblock) Init(1) Optimization
f3fdaec4 860Enable scheduling across basic blocks
6ff3a151
NB
861
862fsched-spec
c662432e 863Common Report Var(flag_schedule_speculative) Init(1) Optimization
f3fdaec4 864Allow speculative motion of non-loads
6ff3a151
NB
865
866fsched-spec-load
c662432e 867Common Report Var(flag_schedule_speculative_load) Optimization
f3fdaec4 868Allow speculative motion of some loads
6ff3a151
NB
869
870fsched-spec-load-dangerous
c662432e 871Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
f3fdaec4 872Allow speculative motion of more loads
6ff3a151 873
de32c0cb
NB
874fsched-verbose=
875Common RejectNegative Joined
cf03fd63 876-fsched-verbose=<number> Set the verbosity level of the scheduler
de32c0cb 877
6ff3a151 878fsched2-use-superblocks
c662432e 879Common Report Var(flag_sched2_use_superblocks) Optimization
f3fdaec4 880If scheduling post reload, do superblock scheduling
6ff3a151
NB
881
882fsched2-use-traces
c662432e 883Common Report Var(flag_sched2_use_traces) Optimization
f3fdaec4 884If scheduling post reload, do trace scheduling
6ff3a151 885
de32c0cb 886fschedule-insns
c662432e 887Common Report Var(flag_schedule_insns) Optimization
f3fdaec4 888Reschedule instructions before register allocation
de32c0cb
NB
889
890fschedule-insns2
c662432e 891Common Report Var(flag_schedule_insns_after_reload) Optimization
f3fdaec4 892Reschedule instructions after register allocation
de32c0cb 893
31b66477
KC
894; sched_stalled_insns means that insns can be moved prematurely from the queue
895; of stalled insns into the ready list.
569fa502 896fsched-stalled-insns
c662432e 897Common Report Var(flag_sched_stalled_insns) Optimization
569fa502
DN
898Allow premature scheduling of queued insns
899
900fsched-stalled-insns=
c22cacf3 901Common RejectNegative Joined UInteger
4e994432 902-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
569fa502 903
31b66477
KC
904; sched_stalled_insns_dep controls how many recently scheduled cycles will
905; be examined for a dependency on a stalled insn that is candidate for
906; premature removal from the queue of stalled insns into the ready list (has
907; an effect only if the flag 'sched_stalled_insns' is set).
569fa502 908fsched-stalled-insns-dep
c662432e 909Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization
569fa502
DN
910Set dependence distance checking in premature scheduling of queued insns
911
912fsched-stalled-insns-dep=
913Common RejectNegative Joined UInteger
4e994432 914-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
569fa502 915
aacd3885 916fsection-anchors
c662432e 917Common Report Var(flag_section_anchors) Optimization
aacd3885
RS
918Access data in the same section from shared anchor points
919
38109dab 920frtl-abstract-sequences
c662432e 921Common Report Var(flag_rtl_seqabstr) Optimization
38109dab
GL
922Perform sequence abstraction optimization on RTL
923
8cd37d0b
RL
924fsee
925Common Report Var(flag_see) Init(0)
926Eliminate redundant sign extensions using LCM.
927
8abb6b22
PB
928fshow-column
929Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
c85ce869 930Show column numbers in diagnostics, when available. Default on
8abb6b22 931
6ff3a151 932fsignaling-nans
c662432e 933Common Report Var(flag_signaling_nans) Optimization
f3fdaec4 934Disable optimizations observable by IEEE signaling NaNs
6ff3a151 935
db02da79 936fsigned-zeros
21af5cdf 937Common Report Var(flag_signed_zeros) Init(1) Optimization
db02da79
RS
938Disable floating point optimizations that ignore the IEEE signedness of zero
939
6ff3a151 940fsingle-precision-constant
c662432e 941Common Report Var(flag_single_precision_constant) Optimization
f3fdaec4 942Convert floating point constants to single precision constants
6ff3a151 943
113d659a 944fsplit-ivs-in-unroller
c662432e 945Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
c85ce869 946Split lifetimes of induction variables when loops are unrolled
113d659a 947
e53a16e7 948fsplit-wide-types
21af5cdf 949Common Report Var(flag_split_wide_types) Optimization
e53a16e7
ILT
950Split wide types into independent registers
951
f37a4f14 952fvariable-expansion-in-unroller
c662432e 953Common Report Var(flag_variable_expansion_in_unroller) Optimization
c85ce869 954Apply variable expansion when loops are unrolled
f37a4f14 955
31b66477
KC
956; Emit code to probe the stack, to help detect stack overflow; also
957; may cause large objects to be allocated dynamically.
6ff3a151 958fstack-check
50431bc4 959Common Report Var(flag_stack_check)
f3fdaec4 960Insert stack checking code into the program
6ff3a151 961
de32c0cb
NB
962fstack-limit
963Common
964
058de654
NB
965fstack-limit-register=
966Common RejectNegative Joined
cf03fd63 967-fstack-limit-register=<register> Trap if the stack goes past <register>
058de654
NB
968
969fstack-limit-symbol=
970Common RejectNegative Joined
cf03fd63 971-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
058de654 972
7d69de61
RH
973fstack-protector
974Common Report Var(flag_stack_protect, 1)
975Use propolice as a stack protection method
976
977fstack-protector-all
978Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
979Use a stack protection method for every function
980
de32c0cb 981fstrength-reduce
efa1cdf0 982Common
c0220ea4 983Does nothing. Preserved for backward compatibility.
de32c0cb 984
31b66477
KC
985; Nonzero if we should do (language-dependent) alias analysis.
986; Typically, this analysis will assume that expressions of certain
987; types do not alias expressions of certain other types. Only used
988; if alias analysis (in general) is enabled.
6ff3a151 989fstrict-aliasing
c662432e 990Common Report Var(flag_strict_aliasing) Optimization
f3fdaec4 991Assume strict aliasing rules apply
6ff3a151 992
eeef0e45
ILT
993fstrict-overflow
994Common Report Var(flag_strict_overflow)
995Treat signed overflow as undefined
996
de32c0cb 997fsyntax-only
50431bc4 998Common Report Var(flag_syntax_only)
f3fdaec4 999Check for syntax errors, then stop
de32c0cb 1000
6ff3a151 1001ftest-coverage
50431bc4 1002Common Report Var(flag_test_coverage)
f3fdaec4 1003Create data files needed by \"gcov\"
6ff3a151 1004
de32c0cb 1005fthread-jumps
c662432e 1006Common Report Var(flag_thread_jumps) Optimization
f3fdaec4 1007Perform jump threading optimizations
de32c0cb 1008
6ff3a151 1009ftime-report
50431bc4 1010Common Report Var(time_report)
f3fdaec4 1011Report the time taken by each compiler pass
6ff3a151 1012
058de654
NB
1013ftls-model=
1014Common Joined RejectNegative
cf03fd63 1015-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
058de654 1016
474eccc6 1017ftoplevel-reorder
c662432e 1018Common Report Var(flag_toplevel_reorder) Init(1) Optimization
474eccc6
ILT
1019Reorder top level functions, variables, and asms
1020
de32c0cb 1021ftracer
50431bc4 1022Common Report Var(flag_tracer)
f3fdaec4 1023Perform superblock formation via tail duplication
de32c0cb 1024
31b66477
KC
1025; Zero means that floating-point math operations cannot generate a
1026; (user-visible) trap. This is the case, for example, in nonstop
1027; IEEE 754 arithmetic.
6ff3a151 1028ftrapping-math
c662432e 1029Common Report Var(flag_trapping_math) Init(1) Optimization
f3fdaec4 1030Assume floating-point operations can trap
6ff3a151
NB
1031
1032ftrapv
c662432e 1033Common Report Var(flag_trapv) Optimization
f3fdaec4 1034Trap for signed overflow in addition, subtraction and multiplication
6ff3a151 1035
6de9cd9a 1036ftree-ccp
c662432e 1037Common Report Var(flag_tree_ccp) Optimization
6de9cd9a
DN
1038Enable SSA-CCP optimization on trees
1039
0bca51f0 1040ftree-store-ccp
c662432e 1041Common Report Var(flag_tree_store_ccp) Optimization
0bca51f0
DN
1042Enable SSA-CCP optimization for stores and loads
1043
6de9cd9a 1044ftree-ch
c662432e 1045Common Report Var(flag_tree_ch) Optimization
6de9cd9a
DN
1046Enable loop header copying on trees
1047
6de9cd9a 1048ftree-copyrename
c662432e 1049Common Report Var(flag_tree_copyrename) Optimization
c85ce869 1050Replace SSA temporaries with better names in copies
6de9cd9a 1051
0bca51f0 1052ftree-copy-prop
c662432e 1053Common Report Var(flag_tree_copy_prop) Optimization
0bca51f0
DN
1054Enable copy propagation on trees
1055
1056ftree-store-copy-prop
324d2217
RG
1057Common
1058This switch is obsolete
0bca51f0 1059
a5828d1e
MM
1060ftree-cselim
1061Common Report Var(flag_tree_cselim) Init(2) Optimization
1062Transform condition stores into unconditional ones
1063
6de9cd9a 1064ftree-dce
c662432e 1065Common Report Var(flag_tree_dce) Optimization
6de9cd9a
DN
1066Enable SSA dead code elimination optimization on trees
1067
1068ftree-dominator-opts
c662432e 1069Common Report Var(flag_tree_dom) Optimization
6de9cd9a
DN
1070Enable dominator optimizations
1071
1072ftree-dse
c662432e 1073Common Report Var(flag_tree_dse) Optimization
6de9cd9a
DN
1074Enable dead store elimination
1075
ff2ad0f7 1076ftree-fre
c662432e 1077Common Report Var(flag_tree_fre) Optimization
ff2ad0f7
DN
1078Enable Full Redundancy Elimination (FRE) on trees
1079
1b08d87d 1080ftree-loop-im
c662432e 1081Common Report Var(flag_tree_loop_im) Init(1) Optimization
a7e5372d
ZD
1082Enable loop invariant motion on trees
1083
599eabdb 1084ftree-loop-linear
c662432e 1085Common Report Var(flag_tree_loop_linear) Optimization
599eabdb
DB
1086Enable linear loop transforms on trees
1087
1b08d87d 1088ftree-loop-ivcanon
c662432e 1089Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1b08d87d
DB
1090Create canonical induction variables in loops
1091
c66b6c66 1092ftree-loop-optimize
c662432e 1093Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
c66b6c66
ZD
1094Enable loop optimizations on tree level
1095
5f40b3cb
ZD
1096ftree-parallelize-loops=
1097Common Report Joined UInteger Var(flag_tree_parallelize_loops) Init(1)
1098Enable automatic parallelization of loops
1099
6de9cd9a 1100ftree-pre
c662432e 1101Common Report Var(flag_tree_pre) Optimization
6de9cd9a
DN
1102Enable SSA-PRE optimization on trees
1103
13c59415
UB
1104ftree-reassoc
1105Common Report Var(flag_tree_reassoc) Init(1) Optimization
1106Enable reassociation on tree level
1107
c75ab022 1108ftree-salias
c662432e 1109Common Report Var(flag_tree_salias) Optimization
c75ab022
DB
1110Perform structural alias analysis
1111
fa555252 1112ftree-sink
c662432e 1113Common Report Var(flag_tree_sink) Optimization
fa555252
DB
1114Enable SSA code sinking on trees
1115
6de9cd9a 1116ftree-sra
c662432e 1117Common Report Var(flag_tree_sra) Optimization
6de9cd9a
DN
1118Perform scalar replacement of aggregates
1119
1120ftree-ter
c662432e 1121Common Report Var(flag_tree_ter) Optimization
6de9cd9a
DN
1122Replace temporary expressions in the SSA->normal pass
1123
c662432e
NC
1124ftree-lrs
1125Common Report Var(flag_tree_live_range_split) Optimization
1126Perform live range splitting during the SSA->normal pass
1127
0bca51f0 1128ftree-vrp
c662432e 1129Common Report Var(flag_tree_vrp) Init(0) Optimization
0bca51f0
DN
1130Perform Value Range Propagation on trees
1131
de32c0cb 1132funit-at-a-time
c662432e 1133Common Report Var(flag_unit_at_a_time) Optimization
f3fdaec4 1134Compile whole compilation unit at a time
de32c0cb
NB
1135
1136funroll-loops
c662432e 1137Common Report Var(flag_unroll_loops) Optimization
f3fdaec4 1138Perform loop unrolling when iteration count is known
de32c0cb
NB
1139
1140funroll-all-loops
c662432e 1141Common Report Var(flag_unroll_all_loops) Optimization
f3fdaec4 1142Perform loop unrolling for all loops
de32c0cb 1143
f9cc1a70
PB
1144; Nonzero means that loop optimizer may assume that the induction variables
1145; that control loops do not overflow and that the loops with nontrivial
1146; exit condition are not infinite
1147funsafe-loop-optimizations
c662432e 1148Common Report Var(flag_unsafe_loop_optimizations) Optimization
f9cc1a70
PB
1149Allow loop optimizations to assume that the loops behave in normal way
1150
a1a82611
RE
1151fassociative-math
1152Common Report Var(flag_associative_math)
1153Allow optimization for floating-point arithmetic which may change the
1154result of the operation due to rounding.
1155
1156freciprocal-math
1157Common Report Var(flag_reciprocal_math)
1158Same as -fassociative-math for expressions which include division.
1159
31b66477
KC
1160; Nonzero means that unsafe floating-point math optimizations are allowed
1161; for the sake of speed. IEEE compliance is not guaranteed, and operations
1162; are allowed to assume that their arguments and results are "normal"
1163; (e.g., nonnegative for SQRT).
6ff3a151 1164funsafe-math-optimizations
c662432e 1165Common Report Var(flag_unsafe_math_optimizations) Optimization
f3fdaec4 1166Allow math optimizations that may violate IEEE or ISO standards
6ff3a151 1167
de32c0cb 1168funswitch-loops
c662432e 1169Common Report Var(flag_unswitch_loops) Optimization
f3fdaec4 1170Perform loop unswitching
de32c0cb 1171
6ff3a151 1172funwind-tables
c662432e 1173Common Report Var(flag_unwind_tables) Optimization
f3fdaec4 1174Just generate unwind tables for exception handling
6ff3a151 1175
014a1138 1176fvar-tracking
c662432e 1177Common Report Var(flag_var_tracking) VarExists Optimization
014a1138
JZ
1178Perform variable tracking
1179
62760ffd
CT
1180fvar-tracking-uninit
1181Common Report Var(flag_var_tracking_uninit) Optimization
1182Perform variable tracking and also tag variables that are uninitialized
1183
79fe1b3b 1184ftree-vectorize
c662432e 1185Common Report Var(flag_tree_vectorize) Optimization
79fe1b3b
DN
1186Enable loop vectorization on trees
1187
792ed98b
HJ
1188fvect-cost-model
1189Common Report Var(flag_vect_cost_model) Optimization
1190Enable use of cost model in vectorization
1191
c12cc930 1192ftree-vect-loop-version
c662432e 1193Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
c12cc930
KB
1194Enable loop versioning when doing loop vectorization on trees
1195
c866976a
LB
1196ftree-vectorizer-verbose=
1197Common RejectNegative Joined
4e994432 1198-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
c866976a 1199
fbf798fc 1200ftree-scev-cprop
21af5cdf 1201Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
fbf798fc
DN
1202Enable copy propagation of scalar-evolution information.
1203
31b66477
KC
1204; -fverbose-asm causes extra commentary information to be produced in
1205; the generated assembly code (to make it more readable). This option
1206; is generally only of use to those who actually need to read the
1207; generated assembly code (perhaps while debugging the compiler itself).
1208; -fno-verbose-asm, the default, causes the extra information
1209; to not be added and is useful when comparing two assembler files.
6ff3a151 1210fverbose-asm
50431bc4 1211Common Report Var(flag_verbose_asm)
f3fdaec4 1212Add extra commentary to assembler output
6ff3a151 1213
d7afec4b
ND
1214fvisibility=
1215Common Joined RejectNegative
1216-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1217
1218
fca9dc00 1219fvpt
c662432e 1220Common Report Var(flag_value_profile_transformations) Optimization
fca9dc00
ZD
1221Use expression value profiles in optimizations
1222
62551c66 1223fweb
c662432e 1224Common Report Var(flag_web) Init(2) Optimization
62551c66
JH
1225Construct webs and split unrelated uses of single variable
1226
ce91e74c 1227fwhole-program
c662432e 1228Common Report Var(flag_whole_program) Init(0) Optimization
ce91e74c
JH
1229Perform whole program optimizations
1230
6ff3a151 1231fwrapv
c662432e 1232Common Report Var(flag_wrapv) Optimization
f3fdaec4 1233Assume signed arithmetic overflow wraps around
6ff3a151 1234
6ff3a151 1235fzero-initialized-in-bss
50431bc4 1236Common Report Var(flag_zero_initialized_in_bss) Init(1)
f3fdaec4 1237Put zero initialized data in the bss section
6ff3a151 1238
e01cc6dc
NB
1239g
1240Common JoinedOrMissing
df38ffef
NB
1241Generate debug information in default format
1242
1243gcoff
14c7833c 1244Common JoinedOrMissing Negative(gdwarf-2)
df38ffef
NB
1245Generate debug information in COFF format
1246
df38ffef 1247gdwarf-2
14c7833c 1248Common JoinedOrMissing Negative(gstabs)
df38ffef
NB
1249Generate debug information in DWARF v2 format
1250
1251ggdb
1252Common JoinedOrMissing
1253Generate debug information in default extended format
1254
1255gstabs
14c7833c 1256Common JoinedOrMissing Negative(gstabs+)
df38ffef
NB
1257Generate debug information in STABS format
1258
1259gstabs+
14c7833c 1260Common JoinedOrMissing Negative(gvms)
df38ffef
NB
1261Generate debug information in extended STABS format
1262
1263gvms
14c7833c 1264Common JoinedOrMissing Negative(gxcoff)
df38ffef
NB
1265Generate debug information in VMS format
1266
1267gxcoff
14c7833c 1268Common JoinedOrMissing Negative(gxcoff+)
df38ffef
NB
1269Generate debug information in XCOFF format
1270
1271gxcoff+
14c7833c 1272Common JoinedOrMissing Negative(gcoff)
df38ffef 1273Generate debug information in extended XCOFF format
e01cc6dc 1274
d185d268
NB
1275o
1276Common Joined Separate
cf03fd63 1277-o <file> Place output into <file>
d185d268
NB
1278
1279p
50431bc4 1280Common Var(profile_flag)
cf03fd63 1281Enable function profiling
d185d268
NB
1282
1283pedantic
50431bc4 1284Common Var(pedantic)
cf03fd63 1285Issue warnings needed for strict compliance to the standard
d185d268
NB
1286
1287pedantic-errors
1288Common
cf03fd63 1289Like -pedantic but issue them as errors
d185d268 1290
d7b42618 1291quiet
50431bc4 1292Common Var(quiet_flag)
cf03fd63 1293Do not display functions compiled or elapsed time
d7b42618 1294
d185d268 1295version
50431bc4 1296Common Var(version_flag)
cf03fd63 1297Display the compiler's version
d185d268
NB
1298
1299w
50431bc4 1300Common Var(inhibit_warnings)
cf03fd63 1301Suppress warnings
d185d268 1302
528dc603
L
1303shared
1304Common RejectNegative Negative(pie)
1305Create a shared library
1306
1307pie
1308Common RejectNegative Negative(shared)
1309Create a position independent executable
1310
d7b42618 1311; This comment is to ensure we retain the blank line above.
This page took 1.350275 seconds and 5 git commands to generate.