]> gcc.gnu.org Git - gcc.git/blame - gcc/common.opt
simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don...
[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
CD
458femit-class-debug-always
459Common Report Var(flag_emit_class_debug_always) Init(1)
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
8b11a64c 621fivopts
c662432e 622Common Report Var(flag_ivopts) Init(1) Optimization
8b11a64c
ZD
623Optimize induction variables on trees
624
82c0180d 625fjump-tables
c662432e 626Common Var(flag_jump_tables) Init(1) Optimization
82c0180d
JM
627Use jump tables for sufficiently large switch statements
628
de32c0cb 629fkeep-inline-functions
50431bc4 630Common Report Var(flag_keep_inline_functions)
f3fdaec4 631Generate code for functions even if they are fully inlined
de32c0cb
NB
632
633fkeep-static-consts
50431bc4 634Common Report Var(flag_keep_static_consts) Init(1)
f3fdaec4 635Emit static const variables even if they are not used
de32c0cb 636
6ff3a151 637fleading-underscore
50431bc4 638Common Report Var(flag_leading_underscore) Init(-1)
f3fdaec4 639Give external symbols a leading underscore
6ff3a151 640
efa1cdf0
ZD
641floop-optimize
642Common
c0220ea4 643Does nothing. Preserved for backward compatibility.
efa1cdf0 644
6ff3a151 645fmath-errno
50431bc4 646Common Report Var(flag_errno_math) Init(1)
f3fdaec4 647Set errno after built-in math functions
6ff3a151
NB
648
649fmem-report
50431bc4 650Common Report Var(mem_report)
f3fdaec4 651Report on permanent memory allocation
6ff3a151 652
31b66477
KC
653; This will attempt to merge constant section constants, if 1 only
654; string constants and constants from constant pool, if 2 also constant
655; variables.
6ff3a151 656fmerge-all-constants
c662432e 657Common Report Var(flag_merge_constants,2) Init(1) Optimization
f3fdaec4 658Attempt to merge identical constants and constant variables
6ff3a151
NB
659
660fmerge-constants
c662432e 661Common Report Var(flag_merge_constants,1) VarExists Optimization
f3fdaec4 662Attempt to merge identical constants across compilation units
6ff3a151 663
de32c0cb
NB
664fmessage-length=
665Common RejectNegative Joined UInteger
cf03fd63 666-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
de32c0cb 667
e5626198 668fmodulo-sched
c662432e 669Common Report Var(flag_modulo_sched) Optimization
e5626198
AZ
670Perform SMS based modulo scheduling before the first scheduling pass
671
517d76fa
VY
672fmodulo-sched-allow-regmoves
673Common Report Var(flag_modulo_sched_allow_regmoves)
674Perform SMS based modulo scheduling with register moves allowed
675
5e962776 676fmove-loop-invariants
c662432e 677Common Report Var(flag_move_loop_invariants) Init(1) Optimization
5e962776
ZD
678Move loop invariant computations out of loops
679
6de9cd9a 680fmudflap
50431bc4 681Common RejectNegative Report Var(flag_mudflap)
c85ce869 682Add mudflap bounds-checking instrumentation for single-threaded program
6de9cd9a
DN
683
684fmudflapth
110c4563 685Common RejectNegative Report VarExists Var(flag_mudflap,2)
c85ce869 686Add mudflap bounds-checking instrumentation for multi-threaded program
6de9cd9a
DN
687
688fmudflapir
50431bc4 689Common RejectNegative Report Var(flag_mudflap_ignore_reads)
c85ce869 690Ignore read operations when inserting mudflap instrumentation
6de9cd9a 691
6fb5fa3c 692fdce
6ae4be32 693Common Var(flag_dce) Init(1) Optimization
6fb5fa3c
DB
694Use the RTL dead code elimination pass
695
696fdse
6ae4be32 697Common Var(flag_dse) Init(1) Optimization
6fb5fa3c
DB
698Use the RTL dead store elimination pass
699
d72372e4 700freschedule-modulo-scheduled-loops
c662432e 701Common Report Var(flag_resched_modulo_sched) Optimization
d72372e4
MH
702Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
703
6ff3a151 704fnon-call-exceptions
c662432e 705Common Report Var(flag_non_call_exceptions) Optimization
f3fdaec4 706Support synchronous non-call exceptions
6ff3a151 707
de32c0cb 708fomit-frame-pointer
c662432e 709Common Report Var(flag_omit_frame_pointer) Optimization
f3fdaec4 710When possible do not generate stack frames
de32c0cb 711
917948d3
ZD
712fopenmp-ssa
713Common Report Var(flag_openmp_ssa)
714Expand OpenMP operations on SSA form
715
6ff3a151 716foptimize-register-move
c662432e 717Common Report Var(flag_regmove) Optimization
f3fdaec4 718Do the full register move optimization pass
6ff3a151 719
de32c0cb 720foptimize-sibling-calls
c662432e 721Common Report Var(flag_optimize_sibling_calls) Optimization
f3fdaec4 722Optimize sibling and tail recursive calls
de32c0cb 723
a5573239
JH
724fpre-ipa-mem-report
725Common Report Var(pre_ipa_mem_report)
726Report on memory allocation before interprocedural optimization
727
728fpost-ipa-mem-report
729Common Report Var(post_ipa_mem_report)
730Report on memory allocation before interprocedural optimization
731
6ff3a151 732fpack-struct
c662432e 733Common Report Var(flag_pack_struct) Optimization
f3fdaec4 734Pack structure members together without holes
6ff3a151 735
467cecf3 736fpack-struct=
c662432e 737Common RejectNegative Joined UInteger Optimization
467cecf3
JB
738-fpack-struct=<number> Set initial maximum structure member alignment
739
de32c0cb 740fpcc-struct-return
50431bc4 741Common Report Var(flag_pcc_struct_return,1) VarExists
f3fdaec4 742Return small aggregates in memory, not registers
de32c0cb
NB
743
744fpeel-loops
c662432e 745Common Report Var(flag_peel_loops) Optimization
f3fdaec4 746Perform loop peeling
de32c0cb
NB
747
748fpeephole
c662432e 749Common Report Var(flag_no_peephole,0) Optimization
f3fdaec4 750Enable machine specific peephole optimizations
de32c0cb 751
6ff3a151 752fpeephole2
c662432e 753Common Report Var(flag_peephole2) Optimization
f3fdaec4 754Enable an RTL peephole pass before sched2
6ff3a151 755
31b66477
KC
756fPIC
757Common Report Var(flag_pic,2)
758Generate position-independent code if possible (large mode)
759
760fPIE
761Common Report Var(flag_pie,2)
762Generate position-independent code for executables if possible (large mode)
763
6ff3a151 764fpic
50431bc4 765Common Report Var(flag_pic,1) VarExists
31b66477 766Generate position-independent code if possible (small mode)
6ff3a151
NB
767
768fpie
50431bc4 769Common Report Var(flag_pie,1) VarExists
31b66477 770Generate position-independent code for executables if possible (small mode)
6ff3a151 771
bbc8a8dc 772fpredictive-commoning
6ae4be32 773Common Report Var(flag_predictive_commoning) Optimization
bbc8a8dc
ZD
774Run predictive commoning optimization.
775
de32c0cb 776fprefetch-loop-arrays
c662432e 777Common Report Var(flag_prefetch_loop_arrays) Optimization
f3fdaec4 778Generate prefetch instructions, if available, for arrays in loops
de32c0cb 779
6ff3a151 780fprofile
50431bc4 781Common Report Var(profile_flag)
f3fdaec4 782Enable basic program profiling code
6ff3a151
NB
783
784fprofile-arcs
50431bc4 785Common Report Var(profile_arc_flag)
f3fdaec4 786Insert arc-based program profiling code
6ff3a151 787
a8a5f53a
JH
788fprofile-generate
789Common
790Enable common options for generating profile info for profile feedback directed optimizations
791
792fprofile-use
793Common
794Enable common options for performing profile feedback directed optimizations
795
fca9dc00 796fprofile-values
50431bc4 797Common Report Var(flag_profile_values)
fca9dc00
ZD
798Insert code to profile values of expressions
799
de32c0cb
NB
800frandom-seed
801Common
802
803frandom-seed=
804Common Joined RejectNegative
cf03fd63 805-frandom-seed=<string> Make compile reproducible using <string>
de32c0cb 806
e0d9d0dd
NC
807; This switch causes the command line that was used to create an
808; object file to be recorded into the object file. The exact format
809; of this recording is target and binary file format dependent.
810; It is related to the -fverbose-asm switch, but that switch only
811; records information in the assembler output file as comments, so
812; they never reach the object file.
813frecord-gcc-switches
814Common Report Var(flag_record_gcc_switches)
815Record gcc command line switches in the object file.
816
de32c0cb 817freg-struct-return
c662432e 818Common Report Var(flag_pcc_struct_return,0) VarExists Optimization
f3fdaec4 819Return small aggregates in registers
de32c0cb 820
6ff3a151 821fregmove
c662432e 822Common Report Var(flag_regmove) Optimization
f3fdaec4 823Enables a register move optimization
6ff3a151
NB
824
825frename-registers
c662432e 826Common Report Var(flag_rename_registers) Init(2) Optimization
f3fdaec4 827Perform a register renaming optimization pass
6ff3a151
NB
828
829freorder-blocks
c662432e 830Common Report Var(flag_reorder_blocks) Optimization
f3fdaec4 831Reorder basic blocks to improve code placement
6ff3a151 832
750054a2 833freorder-blocks-and-partition
c662432e 834Common Report Var(flag_reorder_blocks_and_partition) Optimization
750054a2
CT
835Reorder basic blocks and partition into hot and cold sections
836
6ff3a151 837freorder-functions
c662432e 838Common Report Var(flag_reorder_functions) Optimization
f3fdaec4 839Reorder functions to improve code placement
6ff3a151 840
de32c0cb 841frerun-cse-after-loop
c662432e 842Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
f3fdaec4 843Add a common subexpression elimination pass after loop optimizations
de32c0cb 844
efa1cdf0
ZD
845frerun-loop-opt
846Common
c0220ea4 847Does nothing. Preserved for backward compatibility.
efa1cdf0 848
039c3d42 849frounding-math
c662432e 850Common Report Var(flag_rounding_math) Optimization
039c3d42
RS
851Disable optimizations that assume default FP rounding behavior
852
6ff3a151 853fsched-interblock
c662432e 854Common Report Var(flag_schedule_interblock) Init(1) Optimization
f3fdaec4 855Enable scheduling across basic blocks
6ff3a151
NB
856
857fsched-spec
c662432e 858Common Report Var(flag_schedule_speculative) Init(1) Optimization
f3fdaec4 859Allow speculative motion of non-loads
6ff3a151
NB
860
861fsched-spec-load
c662432e 862Common Report Var(flag_schedule_speculative_load) Optimization
f3fdaec4 863Allow speculative motion of some loads
6ff3a151
NB
864
865fsched-spec-load-dangerous
c662432e 866Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
f3fdaec4 867Allow speculative motion of more loads
6ff3a151 868
de32c0cb
NB
869fsched-verbose=
870Common RejectNegative Joined
cf03fd63 871-fsched-verbose=<number> Set the verbosity level of the scheduler
de32c0cb 872
6ff3a151 873fsched2-use-superblocks
c662432e 874Common Report Var(flag_sched2_use_superblocks) Optimization
f3fdaec4 875If scheduling post reload, do superblock scheduling
6ff3a151
NB
876
877fsched2-use-traces
c662432e 878Common Report Var(flag_sched2_use_traces) Optimization
f3fdaec4 879If scheduling post reload, do trace scheduling
6ff3a151 880
de32c0cb 881fschedule-insns
c662432e 882Common Report Var(flag_schedule_insns) Optimization
f3fdaec4 883Reschedule instructions before register allocation
de32c0cb
NB
884
885fschedule-insns2
c662432e 886Common Report Var(flag_schedule_insns_after_reload) Optimization
f3fdaec4 887Reschedule instructions after register allocation
de32c0cb 888
31b66477
KC
889; sched_stalled_insns means that insns can be moved prematurely from the queue
890; of stalled insns into the ready list.
569fa502 891fsched-stalled-insns
c662432e 892Common Report Var(flag_sched_stalled_insns) Optimization
569fa502
DN
893Allow premature scheduling of queued insns
894
895fsched-stalled-insns=
c22cacf3 896Common RejectNegative Joined UInteger
4e994432 897-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
569fa502 898
31b66477
KC
899; sched_stalled_insns_dep controls how many recently scheduled cycles will
900; be examined for a dependency on a stalled insn that is candidate for
901; premature removal from the queue of stalled insns into the ready list (has
902; an effect only if the flag 'sched_stalled_insns' is set).
569fa502 903fsched-stalled-insns-dep
c662432e 904Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization
569fa502
DN
905Set dependence distance checking in premature scheduling of queued insns
906
907fsched-stalled-insns-dep=
908Common RejectNegative Joined UInteger
4e994432 909-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
569fa502 910
aacd3885 911fsection-anchors
c662432e 912Common Report Var(flag_section_anchors) Optimization
aacd3885
RS
913Access data in the same section from shared anchor points
914
38109dab 915frtl-abstract-sequences
c662432e 916Common Report Var(flag_rtl_seqabstr) Optimization
38109dab
GL
917Perform sequence abstraction optimization on RTL
918
8cd37d0b
RL
919fsee
920Common Report Var(flag_see) Init(0)
921Eliminate redundant sign extensions using LCM.
922
8abb6b22
PB
923fshow-column
924Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
c85ce869 925Show column numbers in diagnostics, when available. Default on
8abb6b22 926
6ff3a151 927fsignaling-nans
c662432e 928Common Report Var(flag_signaling_nans) Optimization
f3fdaec4 929Disable optimizations observable by IEEE signaling NaNs
6ff3a151 930
db02da79 931fsigned-zeros
21af5cdf 932Common Report Var(flag_signed_zeros) Init(1) Optimization
db02da79
RS
933Disable floating point optimizations that ignore the IEEE signedness of zero
934
6ff3a151 935fsingle-precision-constant
c662432e 936Common Report Var(flag_single_precision_constant) Optimization
f3fdaec4 937Convert floating point constants to single precision constants
6ff3a151 938
113d659a 939fsplit-ivs-in-unroller
c662432e 940Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
c85ce869 941Split lifetimes of induction variables when loops are unrolled
113d659a 942
e53a16e7 943fsplit-wide-types
21af5cdf 944Common Report Var(flag_split_wide_types) Optimization
e53a16e7
ILT
945Split wide types into independent registers
946
f37a4f14 947fvariable-expansion-in-unroller
c662432e 948Common Report Var(flag_variable_expansion_in_unroller) Optimization
c85ce869 949Apply variable expansion when loops are unrolled
f37a4f14 950
31b66477
KC
951; Emit code to probe the stack, to help detect stack overflow; also
952; may cause large objects to be allocated dynamically.
6ff3a151 953fstack-check
50431bc4 954Common Report Var(flag_stack_check)
f3fdaec4 955Insert stack checking code into the program
6ff3a151 956
de32c0cb
NB
957fstack-limit
958Common
959
058de654
NB
960fstack-limit-register=
961Common RejectNegative Joined
cf03fd63 962-fstack-limit-register=<register> Trap if the stack goes past <register>
058de654
NB
963
964fstack-limit-symbol=
965Common RejectNegative Joined
cf03fd63 966-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
058de654 967
7d69de61
RH
968fstack-protector
969Common Report Var(flag_stack_protect, 1)
970Use propolice as a stack protection method
971
972fstack-protector-all
973Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
974Use a stack protection method for every function
975
de32c0cb 976fstrength-reduce
efa1cdf0 977Common
c0220ea4 978Does nothing. Preserved for backward compatibility.
de32c0cb 979
31b66477
KC
980; Nonzero if we should do (language-dependent) alias analysis.
981; Typically, this analysis will assume that expressions of certain
982; types do not alias expressions of certain other types. Only used
983; if alias analysis (in general) is enabled.
6ff3a151 984fstrict-aliasing
c662432e 985Common Report Var(flag_strict_aliasing) Optimization
f3fdaec4 986Assume strict aliasing rules apply
6ff3a151 987
eeef0e45
ILT
988fstrict-overflow
989Common Report Var(flag_strict_overflow)
990Treat signed overflow as undefined
991
de32c0cb 992fsyntax-only
50431bc4 993Common Report Var(flag_syntax_only)
f3fdaec4 994Check for syntax errors, then stop
de32c0cb 995
6ff3a151 996ftest-coverage
50431bc4 997Common Report Var(flag_test_coverage)
f3fdaec4 998Create data files needed by \"gcov\"
6ff3a151 999
de32c0cb 1000fthread-jumps
c662432e 1001Common Report Var(flag_thread_jumps) Optimization
f3fdaec4 1002Perform jump threading optimizations
de32c0cb 1003
6ff3a151 1004ftime-report
50431bc4 1005Common Report Var(time_report)
f3fdaec4 1006Report the time taken by each compiler pass
6ff3a151 1007
058de654
NB
1008ftls-model=
1009Common Joined RejectNegative
cf03fd63 1010-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
058de654 1011
474eccc6 1012ftoplevel-reorder
c662432e 1013Common Report Var(flag_toplevel_reorder) Init(1) Optimization
474eccc6
ILT
1014Reorder top level functions, variables, and asms
1015
de32c0cb 1016ftracer
50431bc4 1017Common Report Var(flag_tracer)
f3fdaec4 1018Perform superblock formation via tail duplication
de32c0cb 1019
31b66477
KC
1020; Zero means that floating-point math operations cannot generate a
1021; (user-visible) trap. This is the case, for example, in nonstop
1022; IEEE 754 arithmetic.
6ff3a151 1023ftrapping-math
c662432e 1024Common Report Var(flag_trapping_math) Init(1) Optimization
f3fdaec4 1025Assume floating-point operations can trap
6ff3a151
NB
1026
1027ftrapv
c662432e 1028Common Report Var(flag_trapv) Optimization
f3fdaec4 1029Trap for signed overflow in addition, subtraction and multiplication
6ff3a151 1030
6de9cd9a 1031ftree-ccp
c662432e 1032Common Report Var(flag_tree_ccp) Optimization
6de9cd9a
DN
1033Enable SSA-CCP optimization on trees
1034
0bca51f0 1035ftree-store-ccp
c662432e 1036Common Report Var(flag_tree_store_ccp) Optimization
0bca51f0
DN
1037Enable SSA-CCP optimization for stores and loads
1038
6de9cd9a 1039ftree-ch
c662432e 1040Common Report Var(flag_tree_ch) Optimization
6de9cd9a
DN
1041Enable loop header copying on trees
1042
6de9cd9a 1043ftree-copyrename
c662432e 1044Common Report Var(flag_tree_copyrename) Optimization
c85ce869 1045Replace SSA temporaries with better names in copies
6de9cd9a 1046
0bca51f0 1047ftree-copy-prop
c662432e 1048Common Report Var(flag_tree_copy_prop) Optimization
0bca51f0
DN
1049Enable copy propagation on trees
1050
1051ftree-store-copy-prop
c662432e 1052Common Report Var(flag_tree_store_copy_prop) Optimization
0bca51f0
DN
1053Enable copy propagation for stores and loads
1054
6de9cd9a 1055ftree-dce
c662432e 1056Common Report Var(flag_tree_dce) Optimization
6de9cd9a
DN
1057Enable SSA dead code elimination optimization on trees
1058
1059ftree-dominator-opts
c662432e 1060Common Report Var(flag_tree_dom) Optimization
6de9cd9a
DN
1061Enable dominator optimizations
1062
1063ftree-dse
c662432e 1064Common Report Var(flag_tree_dse) Optimization
6de9cd9a
DN
1065Enable dead store elimination
1066
ff2ad0f7 1067ftree-fre
c662432e 1068Common Report Var(flag_tree_fre) Optimization
ff2ad0f7
DN
1069Enable Full Redundancy Elimination (FRE) on trees
1070
1b08d87d 1071ftree-loop-im
c662432e 1072Common Report Var(flag_tree_loop_im) Init(1) Optimization
a7e5372d
ZD
1073Enable loop invariant motion on trees
1074
599eabdb 1075ftree-loop-linear
c662432e 1076Common Report Var(flag_tree_loop_linear) Optimization
599eabdb
DB
1077Enable linear loop transforms on trees
1078
1b08d87d 1079ftree-loop-ivcanon
c662432e 1080Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1b08d87d
DB
1081Create canonical induction variables in loops
1082
c66b6c66 1083ftree-loop-optimize
c662432e 1084Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
c66b6c66
ZD
1085Enable loop optimizations on tree level
1086
6de9cd9a 1087ftree-pre
c662432e 1088Common Report Var(flag_tree_pre) Optimization
6de9cd9a
DN
1089Enable SSA-PRE optimization on trees
1090
13c59415
UB
1091ftree-reassoc
1092Common Report Var(flag_tree_reassoc) Init(1) Optimization
1093Enable reassociation on tree level
1094
c75ab022 1095ftree-salias
c662432e 1096Common Report Var(flag_tree_salias) Optimization
c75ab022
DB
1097Perform structural alias analysis
1098
fa555252 1099ftree-sink
c662432e 1100Common Report Var(flag_tree_sink) Optimization
fa555252
DB
1101Enable SSA code sinking on trees
1102
6de9cd9a 1103ftree-sra
c662432e 1104Common Report Var(flag_tree_sra) Optimization
6de9cd9a
DN
1105Perform scalar replacement of aggregates
1106
1107ftree-ter
c662432e 1108Common Report Var(flag_tree_ter) Optimization
6de9cd9a
DN
1109Replace temporary expressions in the SSA->normal pass
1110
c662432e
NC
1111ftree-lrs
1112Common Report Var(flag_tree_live_range_split) Optimization
1113Perform live range splitting during the SSA->normal pass
1114
0bca51f0 1115ftree-vrp
c662432e 1116Common Report Var(flag_tree_vrp) Init(0) Optimization
0bca51f0
DN
1117Perform Value Range Propagation on trees
1118
de32c0cb 1119funit-at-a-time
c662432e 1120Common Report Var(flag_unit_at_a_time) Optimization
f3fdaec4 1121Compile whole compilation unit at a time
de32c0cb
NB
1122
1123funroll-loops
c662432e 1124Common Report Var(flag_unroll_loops) Optimization
f3fdaec4 1125Perform loop unrolling when iteration count is known
de32c0cb
NB
1126
1127funroll-all-loops
c662432e 1128Common Report Var(flag_unroll_all_loops) Optimization
f3fdaec4 1129Perform loop unrolling for all loops
de32c0cb 1130
f9cc1a70
PB
1131; Nonzero means that loop optimizer may assume that the induction variables
1132; that control loops do not overflow and that the loops with nontrivial
1133; exit condition are not infinite
1134funsafe-loop-optimizations
c662432e 1135Common Report Var(flag_unsafe_loop_optimizations) Optimization
f9cc1a70
PB
1136Allow loop optimizations to assume that the loops behave in normal way
1137
a1a82611
RE
1138fassociative-math
1139Common Report Var(flag_associative_math)
1140Allow optimization for floating-point arithmetic which may change the
1141result of the operation due to rounding.
1142
1143freciprocal-math
1144Common Report Var(flag_reciprocal_math)
1145Same as -fassociative-math for expressions which include division.
1146
31b66477
KC
1147; Nonzero means that unsafe floating-point math optimizations are allowed
1148; for the sake of speed. IEEE compliance is not guaranteed, and operations
1149; are allowed to assume that their arguments and results are "normal"
1150; (e.g., nonnegative for SQRT).
6ff3a151 1151funsafe-math-optimizations
c662432e 1152Common Report Var(flag_unsafe_math_optimizations) Optimization
f3fdaec4 1153Allow math optimizations that may violate IEEE or ISO standards
6ff3a151 1154
de32c0cb 1155funswitch-loops
c662432e 1156Common Report Var(flag_unswitch_loops) Optimization
f3fdaec4 1157Perform loop unswitching
de32c0cb 1158
6ff3a151 1159funwind-tables
c662432e 1160Common Report Var(flag_unwind_tables) Optimization
f3fdaec4 1161Just generate unwind tables for exception handling
6ff3a151 1162
014a1138 1163fvar-tracking
c662432e 1164Common Report Var(flag_var_tracking) VarExists Optimization
014a1138
JZ
1165Perform variable tracking
1166
62760ffd
CT
1167fvar-tracking-uninit
1168Common Report Var(flag_var_tracking_uninit) Optimization
1169Perform variable tracking and also tag variables that are uninitialized
1170
79fe1b3b 1171ftree-vectorize
c662432e 1172Common Report Var(flag_tree_vectorize) Optimization
79fe1b3b
DN
1173Enable loop vectorization on trees
1174
792ed98b
HJ
1175fvect-cost-model
1176Common Report Var(flag_vect_cost_model) Optimization
1177Enable use of cost model in vectorization
1178
c12cc930 1179ftree-vect-loop-version
c662432e 1180Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
c12cc930
KB
1181Enable loop versioning when doing loop vectorization on trees
1182
c866976a
LB
1183ftree-vectorizer-verbose=
1184Common RejectNegative Joined
4e994432 1185-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
c866976a 1186
fbf798fc 1187ftree-scev-cprop
21af5cdf 1188Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
fbf798fc
DN
1189Enable copy propagation of scalar-evolution information.
1190
31b66477
KC
1191; -fverbose-asm causes extra commentary information to be produced in
1192; the generated assembly code (to make it more readable). This option
1193; is generally only of use to those who actually need to read the
1194; generated assembly code (perhaps while debugging the compiler itself).
1195; -fno-verbose-asm, the default, causes the extra information
1196; to not be added and is useful when comparing two assembler files.
6ff3a151 1197fverbose-asm
50431bc4 1198Common Report Var(flag_verbose_asm)
f3fdaec4 1199Add extra commentary to assembler output
6ff3a151 1200
d7afec4b
ND
1201fvisibility=
1202Common Joined RejectNegative
1203-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1204
1205
fca9dc00 1206fvpt
c662432e 1207Common Report Var(flag_value_profile_transformations) Optimization
fca9dc00
ZD
1208Use expression value profiles in optimizations
1209
62551c66 1210fweb
c662432e 1211Common Report Var(flag_web) Init(2) Optimization
62551c66
JH
1212Construct webs and split unrelated uses of single variable
1213
ce91e74c 1214fwhole-program
c662432e 1215Common Report Var(flag_whole_program) Init(0) Optimization
ce91e74c
JH
1216Perform whole program optimizations
1217
6ff3a151 1218fwrapv
c662432e 1219Common Report Var(flag_wrapv) Optimization
f3fdaec4 1220Assume signed arithmetic overflow wraps around
6ff3a151 1221
6ff3a151 1222fzero-initialized-in-bss
50431bc4 1223Common Report Var(flag_zero_initialized_in_bss) Init(1)
f3fdaec4 1224Put zero initialized data in the bss section
6ff3a151 1225
e01cc6dc
NB
1226g
1227Common JoinedOrMissing
df38ffef
NB
1228Generate debug information in default format
1229
1230gcoff
14c7833c 1231Common JoinedOrMissing Negative(gdwarf-2)
df38ffef
NB
1232Generate debug information in COFF format
1233
df38ffef 1234gdwarf-2
14c7833c 1235Common JoinedOrMissing Negative(gstabs)
df38ffef
NB
1236Generate debug information in DWARF v2 format
1237
1238ggdb
1239Common JoinedOrMissing
1240Generate debug information in default extended format
1241
1242gstabs
14c7833c 1243Common JoinedOrMissing Negative(gstabs+)
df38ffef
NB
1244Generate debug information in STABS format
1245
1246gstabs+
14c7833c 1247Common JoinedOrMissing Negative(gvms)
df38ffef
NB
1248Generate debug information in extended STABS format
1249
1250gvms
14c7833c 1251Common JoinedOrMissing Negative(gxcoff)
df38ffef
NB
1252Generate debug information in VMS format
1253
1254gxcoff
14c7833c 1255Common JoinedOrMissing Negative(gxcoff+)
df38ffef
NB
1256Generate debug information in XCOFF format
1257
1258gxcoff+
14c7833c 1259Common JoinedOrMissing Negative(gcoff)
df38ffef 1260Generate debug information in extended XCOFF format
e01cc6dc 1261
d185d268
NB
1262o
1263Common Joined Separate
cf03fd63 1264-o <file> Place output into <file>
d185d268
NB
1265
1266p
50431bc4 1267Common Var(profile_flag)
cf03fd63 1268Enable function profiling
d185d268
NB
1269
1270pedantic
50431bc4 1271Common Var(pedantic)
cf03fd63 1272Issue warnings needed for strict compliance to the standard
d185d268
NB
1273
1274pedantic-errors
1275Common
cf03fd63 1276Like -pedantic but issue them as errors
d185d268 1277
d7b42618 1278quiet
50431bc4 1279Common Var(quiet_flag)
cf03fd63 1280Do not display functions compiled or elapsed time
d7b42618 1281
d185d268 1282version
50431bc4 1283Common Var(version_flag)
cf03fd63 1284Display the compiler's version
d185d268
NB
1285
1286w
50431bc4 1287Common Var(inhibit_warnings)
cf03fd63 1288Suppress warnings
d185d268 1289
d7b42618 1290; This comment is to ensure we retain the blank line above.
This page took 1.275309 seconds and 5 git commands to generate.