OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / common.opt
1 ; Options for the language- and target-independent parts of the compiler.
2
3 ; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 ; Free Software Foundation, Inc.
5 ;
6 ; This file is part of GCC.
7 ;
8 ; GCC is free software; you can redistribute it and/or modify it under
9 ; the terms of the GNU General Public License as published by the Free
10 ; Software Foundation; either version 3, or (at your option) any later
11 ; version.
12 ;
13 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 ; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16 ; for more details.
17 ;
18 ; You should have received a copy of the GNU General Public License
19 ; along with GCC; see the file COPYING3.  If not see
20 ; <http://www.gnu.org/licenses/>.
21
22 ; See the GCC internals manual (options.texi) for a description of this file's format.
23
24 ; Please try to keep this file in ASCII collating order.
25
26 -help
27 Common
28 Display this information
29
30 -help=
31 Common Report Joined
32 --help=<class>  Display descriptions of a specific class of options.  <class> is one or more of optimizers, target, warnings, undocumented, params
33
34 -target-help
35 Common
36 Alias for --help=target
37
38 ;; The following four 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).
41 fhelp
42 Common Var(help_flag)
43
44 fhelp=
45 Common Joined
46
47 ftarget-help
48 Common
49
50 fversion
51 Common
52
53 -param
54 Common Separate
55 --param <param>=<value> Set parameter <param> to value.  See below for a complete list of parameters
56
57 -version
58 Common
59
60 G
61 Common Joined Separate UInteger
62 -G<number>      Put global and static data smaller than <number> bytes into a special section (on some targets)
63
64 O
65 Common JoinedOrMissing Optimization
66 -O<number>      Set optimization level to <number>
67
68 Os
69 Common Optimization
70 Optimize for space rather than speed
71
72 W
73 Common RejectNegative Var(extra_warnings) Warning
74 This switch is deprecated; use -Wextra instead
75
76 Waggregate-return
77 Common Var(warn_aggregate_return) Warning
78 Warn about returning structures, unions or arrays
79
80 Warray-bounds
81 Common Var(warn_array_bounds) Warning
82 Warn if an array is accessed out of bounds
83
84 Wattributes
85 Common Var(warn_attributes) Init(1) Warning
86 Warn about inappropriate attribute usage
87
88 Wcast-align
89 Common Var(warn_cast_align) Warning
90 Warn about pointer casts which increase alignment
91
92 Wdeprecated-declarations
93 Common Var(warn_deprecated_decl) Init(1) Warning
94 Warn about uses of __attribute__((deprecated)) declarations
95
96 Wdisabled-optimization
97 Common Var(warn_disabled_optimization) Warning
98 Warn when an optimization pass is disabled
99
100 Werror
101 Common Var(warnings_are_errors)
102 Treat all warnings as errors
103
104 Werror=
105 Common Joined
106 Treat specified warning as error
107
108 Wextra
109 Common Var(extra_warnings) Warning
110 Print extra (possibly unwanted) warnings
111
112 Wfatal-errors
113 Common Var(flag_fatal_errors)
114 Exit on the first error occurred
115
116 Wframe-larger-than=
117 Common RejectNegative Joined UInteger
118 -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
119
120 Winline
121 Common Var(warn_inline) Warning
122 Warn when an inlined function cannot be inlined
123
124 Wlarger-than-
125 Common RejectNegative Joined UInteger Warning
126
127 Wlarger-than=
128 Common RejectNegative Joined UInteger Warning
129 -Wlarger-than=<number>  Warn if an object is larger than <number> bytes
130
131 Wunsafe-loop-optimizations
132 Common Var(warn_unsafe_loop_optimizations) Warning
133 Warn if the loop cannot be optimized due to nontrivial assumptions.
134
135 Wmissing-noreturn
136 Common Var(warn_missing_noreturn) Warning
137 Warn about functions which might be candidates for __attribute__((noreturn))
138
139 Wmudflap
140 Common Var(warn_mudflap) Init(1) Warning
141 Warn about constructs not instrumented by -fmudflap
142
143 Woverflow
144 Common Var(warn_overflow) Init(1) Warning
145 Warn about overflow in arithmetic expressions
146
147 Wpacked
148 Common Var(warn_packed) Warning
149 Warn when the packed attribute has no effect on struct layout
150
151 Wpadded
152 Common Var(warn_padded) Warning
153 Warn when padding is required to align structure members
154
155 Wshadow
156 Common Var(warn_shadow) Warning
157 Warn when one local variable shadows another
158
159 Wstack-protector
160 Common Var(warn_stack_protect) Warning
161 Warn when not issuing stack smashing protection for some reason
162
163 Wstrict-aliasing
164 Common Warning
165 Warn about code which might break strict aliasing rules
166
167 Wstrict-aliasing=
168 Common Joined UInteger Var(warn_strict_aliasing) Init(-1) Warning
169 Warn about code which might break strict aliasing rules
170
171 Wstrict-overflow
172 Common Warning
173 Warn about optimizations that assume that signed overflow is undefined
174
175 Wstrict-overflow=
176 Common Joined UInteger Var(warn_strict_overflow) Init(-1) Warning
177 Warn about optimizations that assume that signed overflow is undefined
178
179 Wswitch
180 Common Var(warn_switch) Warning
181 Warn about enumerated switches, with no default, missing a case
182
183 Wswitch-default
184 Common Var(warn_switch_default) Warning
185 Warn about enumerated switches missing a \"default:\" statement
186
187 Wswitch-enum
188 Common Var(warn_switch_enum) Warning
189 Warn about all enumerated switches missing a specific case
190
191 Wsystem-headers
192 Common Var(warn_system_headers) Warning
193 Do not suppress warnings from system headers
194
195 Wtype-limits
196 Common Var(warn_type_limits) Init(-1) Warning
197 Warn if a comparison is always true or always false due to the limited range of the data type
198
199 Wuninitialized
200 Common Var(warn_uninitialized) Init(-1) Warning
201 Warn about uninitialized automatic variables
202
203 Wunreachable-code
204 Common
205 Does nothing. Preserved for backward compatibility.
206
207 Wunused
208 Common Var(warn_unused) Init(0) Warning
209 Enable all -Wunused- warnings
210
211 Wunused-function
212 Common Var(warn_unused_function) Init(-1) Warning
213 Warn when a function is unused
214
215 Wunused-label
216 Common Var(warn_unused_label) Init(-1) Warning
217 Warn when a label is unused
218
219 Wunused-parameter
220 Common Var(warn_unused_parameter) Init(-1) Warning
221 Warn when a function parameter is unused
222
223 Wunused-value
224 Common Var(warn_unused_value) Init(-1) Warning
225 Warn when an expression value is unused
226
227 Wunused-variable
228 Common Var(warn_unused_variable) Init(-1) Warning
229 Warn when a variable is unused
230
231 Wcoverage-mismatch
232 Common RejectNegative Var(warn_coverage_mismatch) Warning
233 Warn instead of error in case profiles in -fprofile-use do not match
234
235 aux-info
236 Common Separate
237 -aux-info <file>        Emit declaration information into <file>
238
239 aux-info=
240 Common Joined
241
242 auxbase
243 Common Separate
244
245 auxbase-strip
246 Common Separate
247
248 d
249 Common Joined
250 -d<letters>     Enable dumps from specific passes of the compiler
251
252 dumpbase
253 Common Separate
254 -dumpbase <file>        Set the file basename to be used for dumps
255
256 dumpdir
257 Common Separate
258 -dumpdir <dir>          Set the directory name to be used for dumps
259
260 ; The version of the C++ ABI in use.  The following values are allowed:
261 ;
262 ; 0: The version of the ABI believed most conformant with the C++ ABI
263 ;    specification.  This ABI may change as bugs are discovered and fixed.
264 ;    Therefore, 0 will not necessarily indicate the same ABI in different
265 ;    versions of G++.
266 ;
267 ; 1: The version of the ABI first used in G++ 3.2.
268 ;
269 ; 2: The version of the ABI first used in G++ 3.4.
270 ;
271 ; Additional positive integers will be assigned as new versions of
272 ; the ABI become the default version of the ABI.
273 fabi-version=
274 Common Joined UInteger Var(flag_abi_version) Init(2)
275
276 falign-functions
277 Common Report Var(align_functions,0) Optimization UInteger
278 Align the start of functions
279
280 falign-functions=
281 Common RejectNegative Joined UInteger
282
283 falign-jumps
284 Common Report Var(align_jumps,0) Optimization UInteger
285 Align labels which are only reached by jumping
286
287 falign-jumps=
288 Common RejectNegative Joined UInteger
289
290 falign-labels
291 Common Report Var(align_labels,0) Optimization UInteger
292 Align all labels
293
294 falign-labels=
295 Common RejectNegative Joined UInteger
296
297 falign-loops
298 Common Report Var(align_loops) Optimization UInteger
299 Align the start of loops
300
301 falign-loops=
302 Common RejectNegative Joined UInteger
303
304 ; This flag is only tested if alias checking is enabled.
305 ; 0 if pointer arguments may alias each other.  True in C.
306 ; 1 if pointer arguments may not alias each other but may alias
307 ;   global variables.
308 ; 2 if pointer arguments may not alias each other and may not
309 ;   alias global variables.
310 ; 3 if pointer arguments may not alias anything.  True in Fortran.
311 ;   Set by the front end.
312 fargument-alias
313 Common Report Var(flag_argument_noalias,0) Optimization
314 Specify that arguments may alias each other and globals
315
316 fargument-noalias
317 Common Report Var(flag_argument_noalias,1) VarExists Optimization
318 Assume arguments may alias globals but not each other
319
320 fargument-noalias-global
321 Common Report Var(flag_argument_noalias,2) VarExists Optimization
322 Assume arguments alias neither each other nor globals
323
324 fargument-noalias-anything
325 Common Report Var(flag_argument_noalias,3) VarExists Optimization
326 Assume arguments alias no other storage
327
328 fasynchronous-unwind-tables
329 Common Report Var(flag_asynchronous_unwind_tables) Optimization
330 Generate unwind tables that are exact at each instruction boundary
331
332 fauto-inc-dec
333 Common Report Var(flag_auto_inc_dec) Init(1)
334 Generate auto-inc/dec instructions
335
336 ; -fcheck-bounds causes gcc to generate array bounds checks.
337 ; For C, C++ and ObjC: defaults off.
338 ; For Java: defaults to on.
339 ; For Fortran: defaults to off.
340 fbounds-check
341 Common Report Var(flag_bounds_check)
342 Generate code to check bounds before indexing arrays
343
344 fbranch-count-reg
345 Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
346 Replace add, compare, branch with branch on count register
347
348 fbranch-probabilities
349 Common Report Var(flag_branch_probabilities) Optimization
350 Use profiling information for branch probabilities
351
352 fbranch-target-load-optimize
353 Common Report Var(flag_branch_target_load_optimize) Optimization
354 Perform branch target load optimization before prologue / epilogue threading
355
356 fbranch-target-load-optimize2
357 Common Report Var(flag_branch_target_load_optimize2) Optimization
358 Perform branch target load optimization after prologue / epilogue threading
359
360 fbtr-bb-exclusive
361 Common Report Var(flag_btr_bb_exclusive) Optimization
362 Restrict target load migration not to re-use registers in any basic block
363
364 fcall-saved-
365 Common Joined RejectNegative
366 -fcall-saved-<register> Mark <register> as being preserved across functions
367
368 fcall-used-
369 Common Joined RejectNegative
370 -fcall-used-<register>  Mark <register> as being corrupted by function calls
371
372 ; Nonzero for -fcaller-saves: allocate values in regs that need to
373 ; be saved across function calls, if that produces overall better code.
374 ; Optional now, so people can test it.
375 fcaller-saves
376 Common Report Var(flag_caller_saves) Optimization
377 Save registers around function calls
378
379 fcheck-data-deps
380 Common Report Var(flag_check_data_deps)
381 Compare the results of several data dependence analyzers.
382
383 fcommon
384 Common Report Var(flag_no_common,0) Optimization
385 Do not put uninitialized globals in the common section
386
387 fcompare-debug=
388 Common JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
389 -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
390
391 fcompare-debug-second
392 Common RejectNegative Var(flag_compare_debug)
393 Run only the second compilation of -fcompare-debug
394
395 fconserve-stack
396 Common Var(flag_conserve_stack) Optimization
397 Do not perform optimizations increasing noticeably stack usage
398
399 fcprop-registers
400 Common Report Var(flag_cprop_registers) Optimization
401 Perform a register copy-propagation optimization pass
402
403 fcrossjumping
404 Common Report Var(flag_crossjumping) Optimization
405 Perform cross-jumping optimization
406
407 fcse-follow-jumps
408 Common Report Var(flag_cse_follow_jumps) Optimization
409 When running CSE, follow jumps to their targets
410
411 fcse-skip-blocks
412 Common
413 Does nothing.  Preserved for backward compatibility.
414
415 fcx-limited-range
416 Common Report Var(flag_cx_limited_range) Optimization
417 Omit range reduction step when performing complex division
418
419 fcx-fortran-rules
420 Common Report Var(flag_cx_fortran_rules) Optimization
421 Complex multiplication and division follow Fortran rules
422
423 fdata-sections
424 Common Report Var(flag_data_sections) Optimization
425 Place data items into their own section
426
427 fdbg-cnt-list
428 Common Report
429 List all available debugging counters with their limits and counts.
430
431 fdbg-cnt=
432 Common RejectNegative Joined
433 -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]    Set the debug counter limit.   
434
435 fdebug-prefix-map=
436 Common Joined RejectNegative
437 Map one directory name to another in debug information
438
439 ; Nonzero for -fdefer-pop: don't pop args after each function call
440 ; instead save them up to pop many calls' args with one insns.
441 fdefer-pop
442 Common Report Var(flag_defer_pop) Optimization
443 Defer popping functions args from stack until later
444
445 fdelayed-branch
446 Common Report Var(flag_delayed_branch) Optimization
447 Attempt to fill delay slots of branch instructions
448
449 fdelete-null-pointer-checks
450 Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
451 Delete useless null pointer checks
452
453 fdiagnostics-show-location=
454 Common Joined RejectNegative
455 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
456
457 fdiagnostics-show-option
458 Common
459 Amend appropriate diagnostic messages with the command line option that controls them
460
461 fdump-
462 Common Joined RejectNegative
463 -fdump-<type>   Dump various compiler internals to a file
464
465 fdump-final-insns=
466 Common RejectNegative Joined Var(flag_dump_final_insns)
467 -fdump-final-insns=filename     Dump to filename the insns at the end of translation
468
469 fdump-noaddr
470 Common Report Var(flag_dump_noaddr)
471 Suppress output of addresses in debugging dumps
472
473 fdump-unnumbered
474 Common Report Var(flag_dump_unnumbered) VarExists
475 Suppress output of instruction numbers, line number notes and addresses in debugging dumps
476
477 fdump-unnumbered-links
478 Common Report Var(flag_dump_unnumbered_links) VarExists
479 Suppress output of previous and next insn numbers in debugging dumps
480
481 fdwarf2-cfi-asm
482 Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
483 Enable CFI tables via GAS assembler directives.
484
485 fearly-inlining
486 Common Report Var(flag_early_inlining) Init(1) Optimization
487 Perform early inlining
488
489 feliminate-dwarf2-dups
490 Common Report Var(flag_eliminate_dwarf2_dups)
491 Perform DWARF2 duplicate elimination
492
493 fipa-sra
494 Common Report Var(flag_ipa_sra) Init(0) Optimization
495 Perform interprocedural reduction of aggregates
496
497 feliminate-unused-debug-symbols
498 Common Report Var(flag_debug_only_used_symbols)
499 Perform unused type elimination in debug info
500
501 feliminate-unused-debug-types
502 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
503 Perform unused type elimination in debug info
504
505 femit-class-debug-always
506 Common Report Var(flag_emit_class_debug_always) Init(0)
507 Do not suppress C++ class debug information.
508
509 fenable-icf-debug
510 Common Report Var(flag_enable_icf_debug)
511 Generate debug information to support Identical Code Folding (ICF)
512
513 fexceptions
514 Common Report Var(flag_exceptions) Optimization
515 Enable exception handling
516
517 fexpensive-optimizations
518 Common Report Var(flag_expensive_optimizations) Optimization
519 Perform a number of minor, expensive optimizations
520
521 fexcess-precision=
522 Common Joined RejectNegative
523 -fexcess-precision=[fast|standard]      Specify handling of excess floating-point precision
524
525 ffast-math
526 Common
527
528 ffinite-math-only
529 Common Report Var(flag_finite_math_only) Optimization
530 Assume no NaNs or infinities are generated
531
532 ffixed-
533 Common Joined RejectNegative
534 -ffixed-<register>      Mark <register> as being unavailable to the compiler
535
536 ffloat-store
537 Common Report Var(flag_float_store) Optimization
538 Don't allocate floats and doubles in extended-precision registers
539
540 fforce-addr
541 Common
542 Does nothing.  Preserved for backward compatibility.
543
544 fforward-propagate
545 Common Report Var(flag_forward_propagate) Optimization
546 Perform a forward propagation pass on RTL
547
548 ; Nonzero means don't put addresses of constant functions in registers.
549 ; Used for compiling the Unix kernel, where strange substitutions are
550 ; done on the assembly output.
551 ffunction-cse
552 Common Report Var(flag_no_function_cse,0)
553 Allow function addresses to be held in registers
554
555 ffunction-sections
556 Common Report Var(flag_function_sections)
557 Place each function into its own section
558
559 fgcse
560 Common Report Var(flag_gcse) Optimization
561 Perform global common subexpression elimination
562
563 fgcse-lm
564 Common Report Var(flag_gcse_lm) Init(1) Optimization
565 Perform enhanced load motion during global common subexpression elimination
566
567 fgcse-sm
568 Common Report Var(flag_gcse_sm) Init(0) Optimization
569 Perform store motion after global common subexpression elimination
570
571 fgcse-las
572 Common Report Var(flag_gcse_las) Init(0) Optimization
573 Perform redundant load after store elimination in global common subexpression
574 elimination
575
576 fgcse-after-reload
577 Common Report Var(flag_gcse_after_reload) Optimization
578 Perform global common subexpression elimination after register allocation
579 has finished
580
581 ; This option is not documented yet as its semantics will change.
582 fgraphite
583 Common Report Var(flag_graphite)
584 Enable in and out of Graphite representation
585
586 fgraphite-identity
587 Common Report Var(flag_graphite_identity) Optimization
588 Enable Graphite Identity transformation
589
590 floop-parallelize-all
591 Common Report Var(flag_loop_parallelize_all) Optimization
592 Mark all loops as parallel
593
594 floop-strip-mine
595 Common Report Var(flag_loop_strip_mine) Optimization
596 Enable Loop Strip Mining transformation
597
598 floop-interchange
599 Common Report Var(flag_loop_interchange) Optimization
600 Enable Loop Interchange transformation
601
602 floop-block
603 Common Report Var(flag_loop_block) Optimization
604 Enable Loop Blocking transformation
605
606 fguess-branch-probability
607 Common Report Var(flag_guess_branch_prob) Optimization
608 Enable guessing of branch probabilities
609
610 ; Nonzero means ignore `#ident' directives.  0 means handle them.
611 ; Generate position-independent code for executables if possible
612 ; On SVR4 targets, it also controls whether or not to emit a
613 ; string identifying the compiler.
614 fident
615 Common Report Var(flag_no_ident,0)
616 Process #ident directives
617
618 fif-conversion
619 Common Report Var(flag_if_conversion) Optimization
620 Perform conversion of conditional jumps to branchless equivalents
621
622 fif-conversion2
623 Common Report Var(flag_if_conversion2) Optimization
624 Perform conversion of conditional jumps to conditional execution
625
626 ; -finhibit-size-directive inhibits output of .size for ELF.
627 ; This is used only for compiling crtstuff.c,
628 ; and it may be extended to other effects
629 ; needed for crtstuff.c on other systems.
630 finhibit-size-directive
631 Common Report Var(flag_inhibit_size_directive)
632 Do not generate .size directives
633
634 findirect-inlining
635 Common Report Var(flag_indirect_inlining)
636 Perform indirect inlining
637
638 ; Nonzero means that functions declared `inline' will be treated
639 ; as `static'.  Prevents generation of zillions of copies of unused
640 ; static inline functions; instead, `inlines' are written out
641 ; only when actually used.  Used in conjunction with -g.  Also
642 ; does the right thing with #pragma interface.
643 finline
644 Common Report Var(flag_no_inline,0) Init(0)
645 Pay attention to the \"inline\" keyword
646
647 finline-small-functions
648 Common Report Var(flag_inline_small_functions) Optimization
649 Integrate simple functions into their callers when code size is known to not growth
650
651 finline-functions
652 Common Report Var(flag_inline_functions) Optimization
653 Integrate simple functions into their callers
654
655 finline-functions-called-once
656 Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
657 Integrate functions called once into their callers
658
659 finline-limit-
660 Common RejectNegative Joined UInteger
661
662 finline-limit=
663 Common RejectNegative Joined UInteger
664 -finline-limit=<number> Limit the size of inlined functions to <number>
665
666 finstrument-functions
667 Common Report Var(flag_instrument_function_entry_exit)
668 Instrument function entry and exit with profiling calls
669
670 finstrument-functions-exclude-function-list=
671 Common RejectNegative Joined
672 -finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions
673
674 finstrument-functions-exclude-file-list=
675 Common RejectNegative Joined
676 -finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files
677
678 fipa-cp
679 Common Report Var(flag_ipa_cp) Optimization
680 Perform Interprocedural constant propagation
681
682 fipa-cp-clone
683 Common Report Var(flag_ipa_cp_clone) Optimization
684 Perform cloning to make Interprocedural constant propagation stronger
685
686 fipa-pure-const
687 Common Report Var(flag_ipa_pure_const) Init(0) Optimization
688 Discover pure and const functions
689
690 fipa-pta
691 Common Report Var(flag_ipa_pta) Init(0) Optimization
692 Perform interprocedural points-to analysis
693
694 fipa-reference
695 Common Report Var(flag_ipa_reference) Init(0) Optimization
696 Discover readonly and non addressable static variables
697
698 fipa-type-escape
699 Common Report Var(flag_ipa_type_escape) Init(0) Optimization
700 Type based escape and alias analysis
701
702 fipa-matrix-reorg
703 Common Report Var(flag_ipa_matrix_reorg) Optimization
704 Perform matrix layout flattening and transposing based
705 on profiling information.
706
707 fipa-struct-reorg
708 Common Report Var(flag_ipa_struct_reorg)
709 Perform structure layout optimizations based
710 on profiling information.
711
712 fira-algorithm=
713 Common Joined RejectNegative
714 -fira-algorithm=[CB|priority] Set the used IRA algorithm
715
716 fira-region=
717 Common Joined RejectNegative
718 -fira-region=[one|all|mixed] Set regions for IRA
719
720 fira-coalesce
721 Common Report Var(flag_ira_coalesce) Init(0)
722 Do optimistic coalescing.
723
724 fira-loop-pressure
725 Common Report Var(flag_ira_loop_pressure)
726 Use IRA based register pressure calculation
727 in RTL loop optimizations.
728
729 fira-share-save-slots
730 Common Report Var(flag_ira_share_save_slots) Init(1)
731 Share slots for saving different hard registers.
732
733 fira-share-spill-slots
734 Common Report Var(flag_ira_share_spill_slots) Init(1)
735 Share stack slots for spilled pseudo-registers.
736
737 fira-verbose=
738 Common RejectNegative Joined UInteger
739 -fira-verbose=<number> Control IRA's level of diagnostic messages.
740
741 fivopts
742 Common Report Var(flag_ivopts) Init(1) Optimization
743 Optimize induction variables on trees
744
745 fjump-tables
746 Common Var(flag_jump_tables) Init(1) Optimization
747 Use jump tables for sufficiently large switch statements
748
749 fkeep-inline-functions
750 Common Report Var(flag_keep_inline_functions)
751 Generate code for functions even if they are fully inlined
752
753 fkeep-static-consts
754 Common Report Var(flag_keep_static_consts) Init(1)
755 Emit static const variables even if they are not used
756
757 fleading-underscore
758 Common Report Var(flag_leading_underscore) Init(-1)
759 Give external symbols a leading underscore
760
761 floop-optimize
762 Common
763 Does nothing.  Preserved for backward compatibility.
764
765 flto
766 Common Var(flag_lto)
767 Enable link-time optimization.
768
769 ; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
770 flto-compression-level=
771 Common Joined UInteger Var(flag_lto_compression_level) Init(-1)
772 -flto-compression-level=<number> Use zlib compression level <number> for IL
773
774 flto-report
775 Common Report Var(flag_lto_report) Init(0) Optimization
776 Report various link-time optimization statistics
777
778 fmath-errno
779 Common Report Var(flag_errno_math) Init(1) Optimization
780 Set errno after built-in math functions
781
782 fmem-report
783 Common Report Var(mem_report)
784 Report on permanent memory allocation
785
786 ; This will attempt to merge constant section constants, if 1 only
787 ; string constants and constants from constant pool, if 2 also constant
788 ; variables.
789 fmerge-all-constants
790 Common Report Var(flag_merge_constants,2) Init(1) Optimization
791 Attempt to merge identical constants and constant variables
792
793 fmerge-constants
794 Common Report Var(flag_merge_constants,1) VarExists Optimization
795 Attempt to merge identical constants across compilation units
796
797 fmerge-debug-strings
798 Common Report Var(flag_merge_debug_strings) Init(1)
799 Attempt to merge identical debug strings across compilation units
800
801 fmessage-length=
802 Common RejectNegative Joined UInteger
803 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
804
805 fmodulo-sched
806 Common Report Var(flag_modulo_sched) Optimization
807 Perform SMS based modulo scheduling before the first scheduling pass
808
809 fmodulo-sched-allow-regmoves
810 Common Report Var(flag_modulo_sched_allow_regmoves)
811 Perform SMS based modulo scheduling with register moves allowed
812
813 fmove-loop-invariants
814 Common Report Var(flag_move_loop_invariants) Init(1) Optimization
815 Move loop invariant computations out of loops
816
817 fmudflap
818 Common RejectNegative Report Var(flag_mudflap)
819 Add mudflap bounds-checking instrumentation for single-threaded program
820
821 fmudflapth
822 Common RejectNegative Report VarExists Var(flag_mudflap,2)
823 Add mudflap bounds-checking instrumentation for multi-threaded program
824
825 fmudflapir
826 Common RejectNegative Report Var(flag_mudflap_ignore_reads)
827 Ignore read operations when inserting mudflap instrumentation
828
829 fdce
830 Common Var(flag_dce) Init(1) Optimization
831 Use the RTL dead code elimination pass
832
833 fdse
834 Common Var(flag_dse) Init(1) Optimization
835 Use the RTL dead store elimination pass
836
837 freschedule-modulo-scheduled-loops
838 Common Report Var(flag_resched_modulo_sched) Optimization
839 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
840
841 fnon-call-exceptions
842 Common Report Var(flag_non_call_exceptions) Optimization
843 Support synchronous non-call exceptions
844
845 fomit-frame-pointer
846 Common Report Var(flag_omit_frame_pointer) Optimization
847 When possible do not generate stack frames
848
849 foptimize-register-move
850 Common Report Var(flag_regmove) Optimization
851 Do the full register move optimization pass
852
853 foptimize-sibling-calls
854 Common Report Var(flag_optimize_sibling_calls) Optimization
855 Optimize sibling and tail recursive calls
856
857 fpre-ipa-mem-report
858 Common Report Var(pre_ipa_mem_report)
859 Report on memory allocation before interprocedural optimization
860
861 fpost-ipa-mem-report
862 Common Report Var(post_ipa_mem_report)
863 Report on memory allocation before interprocedural optimization
864
865 fpack-struct
866 Common Report Var(flag_pack_struct) Optimization
867 Pack structure members together without holes
868
869 fpack-struct=
870 Common RejectNegative Joined UInteger Optimization
871 -fpack-struct=<number>  Set initial maximum structure member alignment
872
873 fpcc-struct-return
874 Common Report Var(flag_pcc_struct_return,1) VarExists
875 Return small aggregates in memory, not registers
876
877 fpeel-loops
878 Common Report Var(flag_peel_loops) Optimization
879 Perform loop peeling
880
881 fpeephole
882 Common Report Var(flag_no_peephole,0) Optimization
883 Enable machine specific peephole optimizations
884
885 fpeephole2
886 Common Report Var(flag_peephole2) Optimization
887 Enable an RTL peephole pass before sched2
888
889 fPIC
890 Common Report Var(flag_pic,2)
891 Generate position-independent code if possible (large mode)
892
893 fPIE
894 Common Report Var(flag_pie,2)
895 Generate position-independent code for executables if possible (large mode)
896
897 fpic
898 Common Report Var(flag_pic,1) VarExists
899 Generate position-independent code if possible (small mode)
900
901 fpie
902 Common Report Var(flag_pie,1) VarExists
903 Generate position-independent code for executables if possible (small mode)
904
905 fplugin=
906 Common Joined RejectNegative
907 Specify a plugin to load
908
909 fplugin-arg-
910 Common Joined RejectNegative
911 -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>
912
913 fpredictive-commoning
914 Common Report Var(flag_predictive_commoning) Optimization
915 Run predictive commoning optimization.
916
917 fprefetch-loop-arrays
918 Common Report Var(flag_prefetch_loop_arrays) Optimization
919 Generate prefetch instructions, if available, for arrays in loops
920
921 fprofile
922 Common Report Var(profile_flag)
923 Enable basic program profiling code
924
925 fprofile-arcs
926 Common Report Var(profile_arc_flag)
927 Insert arc-based program profiling code
928
929 fprofile-dir=
930 Common Joined RejectNegative
931 Set the top-level directory for storing the profile data.
932 The default is 'pwd'.
933
934 fprofile-correction
935 Common Report Var(flag_profile_correction)
936 Enable correction of flow inconsistent profile data input
937
938 fprofile-generate
939 Common
940 Enable common options for generating profile info for profile feedback directed optimizations
941
942 fprofile-generate=
943 Common Joined RejectNegative
944 Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
945
946 fprofile-use
947 Common Var(flag_profile_use)
948 Enable common options for performing profile feedback directed optimizations
949
950 fprofile-use=
951 Common Joined RejectNegative
952 Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
953
954 fprofile-values
955 Common Report Var(flag_profile_values)
956 Insert code to profile values of expressions
957
958 frandom-seed
959 Common
960
961 frandom-seed=
962 Common Joined RejectNegative
963 -frandom-seed=<string>  Make compile reproducible using <string>
964
965 ; This switch causes the command line that was used to create an
966 ; object file to be recorded into the object file.  The exact format
967 ; of this recording is target and binary file format dependent.
968 ; It is related to the -fverbose-asm switch, but that switch only
969 ; records information in the assembler output file as comments, so
970 ; they never reach the object file.
971 frecord-gcc-switches
972 Common Report Var(flag_record_gcc_switches)
973 Record gcc command line switches in the object file.
974
975 freg-struct-return
976 Common Report Var(flag_pcc_struct_return,0) VarExists Optimization
977 Return small aggregates in registers
978
979 fregmove
980 Common Report Var(flag_regmove) Optimization
981 Enables a register move optimization
982
983 frename-registers
984 Common Report Var(flag_rename_registers) Init(2) Optimization
985 Perform a register renaming optimization pass
986
987 freorder-blocks
988 Common Report Var(flag_reorder_blocks) Optimization
989 Reorder basic blocks to improve code placement
990
991 freorder-blocks-and-partition
992 Common Report Var(flag_reorder_blocks_and_partition) Optimization
993 Reorder basic blocks and partition into hot and cold sections
994
995 freorder-functions
996 Common Report Var(flag_reorder_functions) Optimization
997 Reorder functions to improve code placement
998
999 frerun-cse-after-loop
1000 Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
1001 Add a common subexpression elimination pass after loop optimizations
1002
1003 frerun-loop-opt
1004 Common
1005 Does nothing.  Preserved for backward compatibility.
1006
1007 frounding-math
1008 Common Report Var(flag_rounding_math) Optimization
1009 Disable optimizations that assume default FP rounding behavior
1010
1011 fsched-interblock
1012 Common Report Var(flag_schedule_interblock) Init(1) Optimization
1013 Enable scheduling across basic blocks
1014
1015 fsched-pressure
1016 Common Report Var(flag_sched_pressure) Init(0) Optimization
1017 Enable register pressure sensitive insn scheduling
1018
1019 fsched-spec
1020 Common Report Var(flag_schedule_speculative) Init(1) Optimization
1021 Allow speculative motion of non-loads
1022
1023 fsched-spec-load
1024 Common Report Var(flag_schedule_speculative_load) Optimization
1025 Allow speculative motion of some loads
1026
1027 fsched-spec-load-dangerous
1028 Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1029 Allow speculative motion of more loads
1030
1031 fsched-verbose=
1032 Common RejectNegative Joined
1033 -fsched-verbose=<number>        Set the verbosity level of the scheduler
1034
1035 fsched2-use-superblocks
1036 Common Report Var(flag_sched2_use_superblocks) Optimization
1037 If scheduling post reload, do superblock scheduling
1038
1039 fsched2-use-traces
1040 Common Report Var(flag_sched2_use_traces) Optimization
1041 If scheduling post reload, do trace scheduling
1042
1043 fschedule-insns
1044 Common Report Var(flag_schedule_insns) Optimization
1045 Reschedule instructions before register allocation
1046
1047 fschedule-insns2
1048 Common Report Var(flag_schedule_insns_after_reload) Optimization
1049 Reschedule instructions after register allocation
1050
1051 ; This flag should be on when a target implements non-trivial
1052 ; scheduling hooks, maybe saving some information for its own sake.
1053 ; On IA64, for example, this is used for correct bundling. 
1054 fselective-scheduling
1055 Common Report Var(flag_selective_scheduling) Optimization
1056 Schedule instructions using selective scheduling algorithm
1057
1058 fselective-scheduling2
1059 Common Report Var(flag_selective_scheduling2) Optimization 
1060 Run selective scheduling after reload
1061
1062 fsel-sched-pipelining
1063 Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1064 Perform software pipelining of inner loops during selective scheduling
1065
1066 fsel-sched-pipelining-outer-loops
1067 Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1068 Perform software pipelining of outer loops during selective scheduling
1069
1070 fsel-sched-reschedule-pipelined
1071 Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1072 Reschedule pipelined regions without pipelining
1073
1074 ; sched_stalled_insns means that insns can be moved prematurely from the queue
1075 ; of stalled insns into the ready list.
1076 fsched-stalled-insns
1077 Common Report Var(flag_sched_stalled_insns) Optimization UInteger
1078 Allow premature scheduling of queued insns
1079
1080 fsched-stalled-insns=
1081 Common RejectNegative Joined UInteger
1082 -fsched-stalled-insns=<number>  Set number of queued insns that can be prematurely scheduled
1083
1084 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
1085 ; be examined for a dependency on a stalled insn that is candidate for
1086 ; premature removal from the queue of stalled insns into the ready list (has
1087 ; an effect only if the flag 'sched_stalled_insns' is set).
1088 fsched-stalled-insns-dep
1089 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1090 Set dependence distance checking in premature scheduling of queued insns
1091
1092 fsched-stalled-insns-dep=
1093 Common RejectNegative Joined UInteger
1094 -fsched-stalled-insns-dep=<number>      Set dependence distance checking in premature scheduling of queued insns
1095
1096 fsched-group-heuristic
1097 Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1098 Enable the group heuristic in the scheduler
1099
1100 fsched-critical-path-heuristic
1101 Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1102 Enable the critical path heuristic in the scheduler
1103
1104 fsched-spec-insn-heuristic
1105 Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1106 Enable the speculative instruction heuristic in the scheduler
1107
1108 fsched-rank-heuristic
1109 Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1110 Enable the rank heuristic in the scheduler
1111
1112 fsched-last-insn-heuristic
1113 Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1114 Enable the last instruction heuristic in the scheduler
1115
1116 fsched-dep-count-heuristic
1117 Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1118 Enable the dependent count heuristic in the scheduler
1119
1120 fsection-anchors
1121 Common Report Var(flag_section_anchors) Optimization
1122 Access data in the same section from shared anchor points
1123
1124 fsee
1125 Common
1126 Does nothing.  Preserved for backward compatibility.
1127
1128 fshow-column
1129 Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
1130 Show column numbers in diagnostics, when available.  Default on
1131
1132 fsignaling-nans
1133 Common Report Var(flag_signaling_nans) Optimization
1134 Disable optimizations observable by IEEE signaling NaNs
1135
1136 fsigned-zeros
1137 Common Report Var(flag_signed_zeros) Init(1) Optimization
1138 Disable floating point optimizations that ignore the IEEE signedness of zero
1139
1140 fsingle-precision-constant
1141 Common Report Var(flag_single_precision_constant) Optimization
1142 Convert floating point constants to single precision constants
1143
1144 fsplit-ivs-in-unroller
1145 Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1146 Split lifetimes of induction variables when loops are unrolled
1147
1148 fsplit-wide-types
1149 Common Report Var(flag_split_wide_types) Optimization
1150 Split wide types into independent registers
1151
1152 fvariable-expansion-in-unroller
1153 Common Report Var(flag_variable_expansion_in_unroller) Optimization
1154 Apply variable expansion when loops are unrolled
1155
1156 fstack-check=
1157 Common Report RejectNegative Joined
1158 -fstack-check=[no|generic|specific]     Insert stack checking code into the program
1159
1160 fstack-check
1161 Common Report
1162 Insert stack checking code into the program.  Same as -fstack-check=specific
1163
1164 fstack-limit
1165 Common
1166
1167 fstack-limit-register=
1168 Common RejectNegative Joined
1169 -fstack-limit-register=<register>       Trap if the stack goes past <register>
1170
1171 fstack-limit-symbol=
1172 Common RejectNegative Joined
1173 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
1174
1175 fstack-protector
1176 Common Report Var(flag_stack_protect, 1)
1177 Use propolice as a stack protection method
1178
1179 fstack-protector-all
1180 Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
1181 Use a stack protection method for every function
1182
1183 fstrength-reduce
1184 Common
1185 Does nothing.  Preserved for backward compatibility.
1186
1187 ; Nonzero if we should do (language-dependent) alias analysis.
1188 ; Typically, this analysis will assume that expressions of certain
1189 ; types do not alias expressions of certain other types.  Only used
1190 ; if alias analysis (in general) is enabled.
1191 fstrict-aliasing
1192 Common Report Var(flag_strict_aliasing) Optimization
1193 Assume strict aliasing rules apply
1194
1195 fstrict-overflow
1196 Common Report Var(flag_strict_overflow)
1197 Treat signed overflow as undefined
1198
1199 fsyntax-only
1200 Common Report Var(flag_syntax_only)
1201 Check for syntax errors, then stop
1202
1203 ftest-coverage
1204 Common Report Var(flag_test_coverage)
1205 Create data files needed by \"gcov\"
1206
1207 fthread-jumps
1208 Common Report Var(flag_thread_jumps) Optimization
1209 Perform jump threading optimizations
1210
1211 ftime-report
1212 Common Report Var(time_report)
1213 Report the time taken by each compiler pass
1214
1215 ftls-model=
1216 Common Joined RejectNegative
1217 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
1218
1219 ftoplevel-reorder
1220 Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1221 Reorder top level functions, variables, and asms
1222
1223 ftracer
1224 Common Report Var(flag_tracer)
1225 Perform superblock formation via tail duplication
1226
1227 ; Zero means that floating-point math operations cannot generate a
1228 ; (user-visible) trap.  This is the case, for example, in nonstop
1229 ; IEEE 754 arithmetic.
1230 ftrapping-math
1231 Common Report Var(flag_trapping_math) Init(1) Optimization
1232 Assume floating-point operations can trap
1233
1234 ftrapv
1235 Common Report Var(flag_trapv) Optimization
1236 Trap for signed overflow in addition, subtraction and multiplication
1237
1238 ftree-ccp
1239 Common Report Var(flag_tree_ccp) Optimization
1240 Enable SSA-CCP optimization on trees
1241
1242 ftree-store-ccp
1243 Common
1244 Does nothing.  Preserved for backward compatibility.
1245
1246 ftree-ch
1247 Common Report Var(flag_tree_ch) Optimization
1248 Enable loop header copying on trees
1249
1250 ftree-copyrename
1251 Common Report Var(flag_tree_copyrename) Optimization
1252 Replace SSA temporaries with better names in copies
1253
1254 ftree-copy-prop
1255 Common Report Var(flag_tree_copy_prop) Optimization
1256 Enable copy propagation on trees
1257
1258 ftree-store-copy-prop
1259 Common
1260 Does nothing.  Preserved for backward compatibility.
1261
1262 ftree-cselim
1263 Common Report Var(flag_tree_cselim) Init(2) Optimization
1264 Transform condition stores into unconditional ones
1265
1266 ftree-switch-conversion
1267 Common Report Var(flag_tree_switch_conversion) Optimization
1268 Perform conversions of switch initializations.
1269
1270 ftree-dce
1271 Common Report Var(flag_tree_dce) Optimization
1272 Enable SSA dead code elimination optimization on trees
1273
1274 ftree-dominator-opts
1275 Common Report Var(flag_tree_dom) Optimization
1276 Enable dominator optimizations
1277
1278 ftree-dse
1279 Common Report Var(flag_tree_dse) Optimization
1280 Enable dead store elimination
1281
1282 ftree-forwprop
1283 Common Report Var(flag_tree_forwprop) Init(1) Optimization
1284 Enable forward propagation on trees
1285
1286 ftree-fre
1287 Common Report Var(flag_tree_fre) Optimization
1288 Enable Full Redundancy Elimination (FRE) on trees
1289
1290 ftree-loop-distribution
1291 Common Report Var(flag_tree_loop_distribution) Optimization
1292 Enable loop distribution on trees
1293
1294 ftree-loop-im
1295 Common Report Var(flag_tree_loop_im) Init(1) Optimization
1296 Enable loop invariant motion on trees
1297
1298 ftree-loop-linear
1299 Common Report Var(flag_tree_loop_linear) Optimization
1300 Enable linear loop transforms on trees
1301
1302 ftree-loop-ivcanon
1303 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1304 Create canonical induction variables in loops
1305
1306 ftree-loop-optimize
1307 Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1308 Enable loop optimizations on tree level
1309
1310 ftree-parallelize-loops=
1311 Common Report Joined UInteger Var(flag_tree_parallelize_loops) Init(1)
1312 Enable automatic parallelization of loops
1313
1314 ftree-phiprop
1315 Common Report Var(flag_tree_phiprop) Init(1) Optimization
1316 Enable hoisting loads from conditional pointers.
1317
1318 ftree-pre
1319 Common Report Var(flag_tree_pre) Optimization
1320 Enable SSA-PRE optimization on trees
1321
1322 ftree-pta
1323 Common Report Var(flag_tree_pta) Init(1) Optimization
1324 Perform function-local points-to analysis on trees.
1325
1326 ftree-reassoc
1327 Common Report Var(flag_tree_reassoc) Init(1) Optimization
1328 Enable reassociation on tree level
1329
1330 ftree-salias
1331 Common
1332 Does nothing.  Preserved for backward compatibility.
1333
1334 ftree-sink
1335 Common Report Var(flag_tree_sink) Optimization
1336 Enable SSA code sinking on trees
1337
1338 ftree-sra
1339 Common Report Var(flag_tree_sra) Optimization
1340 Perform scalar replacement of aggregates
1341
1342 ftree-ter
1343 Common Report Var(flag_tree_ter) Init(1) Optimization
1344 Replace temporary expressions in the SSA->normal pass
1345
1346 ftree-lrs
1347 Common Report Var(flag_tree_live_range_split) Optimization
1348 Perform live range splitting during the SSA->normal pass
1349
1350 ftree-vrp
1351 Common Report Var(flag_tree_vrp) Init(0) Optimization
1352 Perform Value Range Propagation on trees
1353
1354 funit-at-a-time
1355 Common Report Var(flag_unit_at_a_time) Init(1) Optimization
1356 Compile whole compilation unit at a time
1357
1358 funroll-loops
1359 Common Report Var(flag_unroll_loops) Optimization
1360 Perform loop unrolling when iteration count is known
1361
1362 funroll-all-loops
1363 Common Report Var(flag_unroll_all_loops) Optimization
1364 Perform loop unrolling for all loops
1365
1366 ; Nonzero means that loop optimizer may assume that the induction variables
1367 ; that control loops do not overflow and that the loops with nontrivial
1368 ; exit condition are not infinite
1369 funsafe-loop-optimizations
1370 Common Report Var(flag_unsafe_loop_optimizations) Optimization
1371 Allow loop optimizations to assume that the loops behave in normal way
1372
1373 fassociative-math
1374 Common Report Var(flag_associative_math)
1375 Allow optimization for floating-point arithmetic which may change the
1376 result of the operation due to rounding.
1377
1378 freciprocal-math
1379 Common Report Var(flag_reciprocal_math)
1380 Same as -fassociative-math for expressions which include division.
1381
1382 ; Nonzero means that unsafe floating-point math optimizations are allowed
1383 ; for the sake of speed.  IEEE compliance is not guaranteed, and operations
1384 ; are allowed to assume that their arguments and results are "normal"
1385 ; (e.g., nonnegative for SQRT).
1386 funsafe-math-optimizations
1387 Common Report Var(flag_unsafe_math_optimizations) Optimization
1388 Allow math optimizations that may violate IEEE or ISO standards
1389
1390 funswitch-loops
1391 Common Report Var(flag_unswitch_loops) Optimization
1392 Perform loop unswitching
1393
1394 funwind-tables
1395 Common Report Var(flag_unwind_tables) Optimization
1396 Just generate unwind tables for exception handling
1397
1398 fuse-linker-plugin
1399 Common Undocumented
1400
1401 fvar-tracking
1402 Common Report Var(flag_var_tracking) VarExists Optimization
1403 Perform variable tracking
1404
1405 fvar-tracking-assignments
1406 Common Report Var(flag_var_tracking_assignments) VarExists Optimization
1407 Perform variable tracking by annotating assignments
1408
1409 fvar-tracking-assignments-toggle
1410 Common Report Var(flag_var_tracking_assignments_toggle) VarExists Optimization
1411 Toggle -fvar-tracking-assignments
1412
1413 fvar-tracking-uninit
1414 Common Report Var(flag_var_tracking_uninit) Optimization
1415 Perform variable tracking and also tag variables that are uninitialized
1416
1417 ftree-vectorize
1418 Common Report Var(flag_tree_vectorize) Optimization
1419 Enable loop vectorization on trees
1420
1421 ftree-slp-vectorize
1422 Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
1423 Enable basic block vectorization (SLP) on trees
1424
1425 fvect-cost-model
1426 Common Report Var(flag_vect_cost_model) Optimization
1427 Enable use of cost model in vectorization
1428
1429 ftree-vect-loop-version
1430 Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
1431 Enable loop versioning when doing loop vectorization on trees
1432
1433 ftree-vectorizer-verbose=
1434 Common RejectNegative Joined
1435 -ftree-vectorizer-verbose=<number>      Set the verbosity level of the vectorizer
1436
1437 ftree-scev-cprop
1438 Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
1439 Enable copy propagation of scalar-evolution information.
1440
1441 ; -fverbose-asm causes extra commentary information to be produced in
1442 ; the generated assembly code (to make it more readable).  This option
1443 ; is generally only of use to those who actually need to read the
1444 ; generated assembly code (perhaps while debugging the compiler itself).
1445 ; -fno-verbose-asm, the default, causes the extra information
1446 ; to not be added and is useful when comparing two assembler files.
1447 fverbose-asm
1448 Common Report Var(flag_verbose_asm)
1449 Add extra commentary to assembler output
1450
1451 fvisibility=
1452 Common Joined RejectNegative
1453 -fvisibility=[default|internal|hidden|protected]        Set the default symbol visibility
1454
1455
1456 fvpt
1457 Common Report Var(flag_value_profile_transformations) Optimization
1458 Use expression value profiles in optimizations
1459
1460 fweb
1461 Common Report Var(flag_web) Init(2) Optimization
1462 Construct webs and split unrelated uses of single variable
1463
1464 fwhopr
1465 Common Var(flag_whopr)
1466 Enable partitioned link-time optimization.
1467
1468 ftree-builtin-call-dce
1469 Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
1470 Enable conditional dead code elimination for builtin calls
1471
1472 fwhole-program
1473 Common Report Var(flag_whole_program) Init(0) Optimization
1474 Perform whole program optimizations
1475
1476 fwrapv
1477 Common Report Var(flag_wrapv) Optimization
1478 Assume signed arithmetic overflow wraps around
1479
1480 fzero-initialized-in-bss
1481 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1482 Put zero initialized data in the bss section
1483
1484 g
1485 Common JoinedOrMissing
1486 Generate debug information in default format
1487
1488 gcoff
1489 Common JoinedOrMissing Negative(gdwarf-)
1490 Generate debug information in COFF format
1491
1492 gdwarf-
1493 Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
1494 Generate debug information in DWARF v2 (or later) format
1495
1496 ggdb
1497 Common JoinedOrMissing
1498 Generate debug information in default extended format
1499
1500 gstabs
1501 Common JoinedOrMissing Negative(gstabs+)
1502 Generate debug information in STABS format
1503
1504 gstabs+
1505 Common JoinedOrMissing Negative(gvms)
1506 Generate debug information in extended STABS format
1507
1508 gno-strict-dwarf
1509 Common RejectNegative Var(dwarf_strict,0) Init(-1)
1510 Emit DWARF additions beyond selected version
1511
1512 gstrict-dwarf
1513 Common Report RejectNegative Var(dwarf_strict,1) VarExists
1514 Don't emit DWARF additions beyond selected version
1515
1516 gtoggle
1517 Common Report Var(flag_gtoggle)
1518 Toggle debug information generation
1519
1520 gvms
1521 Common JoinedOrMissing Negative(gxcoff)
1522 Generate debug information in VMS format
1523
1524 gxcoff
1525 Common JoinedOrMissing Negative(gxcoff+)
1526 Generate debug information in XCOFF format
1527
1528 gxcoff+
1529 Common JoinedOrMissing Negative(gcoff)
1530 Generate debug information in extended XCOFF format
1531
1532 o
1533 Common Joined Separate
1534 -o <file>       Place output into <file>
1535
1536 p
1537 Common Var(profile_flag)
1538 Enable function profiling
1539
1540 pedantic
1541 Common Var(pedantic)
1542 Issue warnings needed for strict compliance to the standard
1543
1544 pedantic-errors
1545 Common
1546 Like -pedantic but issue them as errors
1547
1548 quiet
1549 Common Var(quiet_flag)
1550 Do not display functions compiled or elapsed time
1551
1552 version
1553 Common Var(version_flag)
1554 Display the compiler's version
1555
1556 w
1557 Common Var(inhibit_warnings)
1558 Suppress warnings
1559
1560 shared
1561 Common RejectNegative Negative(pie)
1562 Create a shared library
1563
1564 pie
1565 Common RejectNegative Negative(shared)
1566 Create a position independent executable
1567
1568 ; This comment is to ensure we retain the blank line above.