OSDN Git Service

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