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