OSDN Git Service

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