OSDN Git Service

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