OSDN Git Service

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