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