OSDN Git Service

2010-08-27 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 Var(extra_warnings) Warning
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 UInteger Warning Undocumented
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
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
305
306 auxbase
307 Common Separate RejectDriver
308
309 auxbase-strip
310 Common Separate RejectDriver
311
312 combine
313 Driver Var(combine_flag)
314
315 c
316 Driver
317
318 d
319 Common Joined
320 -d<letters>     Enable dumps from specific passes of the compiler
321
322 dumpbase
323 Common Separate
324 -dumpbase <file>        Set the file basename to be used for dumps
325
326 dumpdir
327 Common Separate
328 -dumpdir <dir>  Set the directory name to be used for dumps
329
330 dumpmachine
331 Driver
332
333 dumpspecs
334 Driver
335
336 dumpversion
337 Driver
338
339 ; The version of the C++ ABI in use.  The following values are allowed:
340 ;
341 ; 0: The version of the ABI believed most conformant with the C++ ABI
342 ;    specification.  This ABI may change as bugs are discovered and fixed.
343 ;    Therefore, 0 will not necessarily indicate the same ABI in different
344 ;    versions of G++.
345 ;
346 ; 1: The version of the ABI first used in G++ 3.2.
347 ;
348 ; 2: The version of the ABI first used in G++ 3.4 (and current default).
349 ;
350 ; 3: The version of the ABI that fixes the missing underscore
351 ;    in template non-type arguments of pointer type.
352 ;
353 ; 4: The version of the ABI that introduces unambiguous mangling of
354 ;    vector types.
355 ;
356 ; Additional positive integers will be assigned as new versions of
357 ; the ABI become the default version of the ABI.
358 fabi-version=
359 Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
360
361 falign-functions
362 Common Report Var(align_functions,0) Optimization UInteger
363 Align the start of functions
364
365 falign-functions=
366 Common RejectNegative Joined UInteger
367
368 falign-jumps
369 Common Report Var(align_jumps,0) Optimization UInteger
370 Align labels which are only reached by jumping
371
372 falign-jumps=
373 Common RejectNegative Joined UInteger
374
375 falign-labels
376 Common Report Var(align_labels,0) Optimization UInteger
377 Align all labels
378
379 falign-labels=
380 Common RejectNegative Joined UInteger
381
382 falign-loops
383 Common Report Var(align_loops) Optimization UInteger
384 Align the start of loops
385
386 falign-loops=
387 Common RejectNegative Joined UInteger
388
389 fargument-alias
390 Common
391 Does nothing. Preserved for backward compatibility.
392
393 fargument-noalias
394 Common
395 Does nothing. Preserved for backward compatibility.
396
397 fargument-noalias-global
398 Common
399 Does nothing. Preserved for backward compatibility.
400
401 fargument-noalias-anything
402 Common
403 Does nothing. Preserved for backward compatibility.
404
405 fasynchronous-unwind-tables
406 Common Report Var(flag_asynchronous_unwind_tables) Optimization
407 Generate unwind tables that are exact at each instruction boundary
408
409 fauto-inc-dec
410 Common Report Var(flag_auto_inc_dec) Init(1)
411 Generate auto-inc/dec instructions
412
413 ; -fcheck-bounds causes gcc to generate array bounds checks.
414 ; For C, C++ and ObjC: defaults off.
415 ; For Java: defaults to on.
416 ; For Fortran: defaults to off.
417 fbounds-check
418 Common Report Var(flag_bounds_check)
419 Generate code to check bounds before indexing arrays
420
421 fbranch-count-reg
422 Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
423 Replace add, compare, branch with branch on count register
424
425 fbranch-probabilities
426 Common Report Var(flag_branch_probabilities) Optimization
427 Use profiling information for branch probabilities
428
429 fbranch-target-load-optimize
430 Common Report Var(flag_branch_target_load_optimize) Optimization
431 Perform branch target load optimization before prologue / epilogue threading
432
433 fbranch-target-load-optimize2
434 Common Report Var(flag_branch_target_load_optimize2) Optimization
435 Perform branch target load optimization after prologue / epilogue threading
436
437 fbtr-bb-exclusive
438 Common Report Var(flag_btr_bb_exclusive) Optimization
439 Restrict target load migration not to re-use registers in any basic block
440
441 fcall-saved-
442 Common Joined RejectNegative
443 -fcall-saved-<register> Mark <register> as being preserved across functions
444
445 fcall-used-
446 Common Joined RejectNegative
447 -fcall-used-<register>  Mark <register> as being corrupted by function calls
448
449 ; Nonzero for -fcaller-saves: allocate values in regs that need to
450 ; be saved across function calls, if that produces overall better code.
451 ; Optional now, so people can test it.
452 fcaller-saves
453 Common Report Var(flag_caller_saves) Optimization
454 Save registers around function calls
455
456 fcheck-data-deps
457 Common Report Var(flag_check_data_deps)
458 Compare the results of several data dependence analyzers.
459
460 fcommon
461 Common Report Var(flag_no_common,0) Optimization
462 Do not put uninitialized globals in the common section
463
464 fcompare-debug
465 Driver
466 ; Converted by the driver to -fcompare-debug= options.
467
468 fcompare-debug=
469 Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
470 -fcompare-debug[=<opts>]        Compile with and without e.g. -gtoggle, and compare the final-insns dump
471
472 fcompare-debug-second
473 Common Driver RejectNegative Var(flag_compare_debug)
474 Run only the second compilation of -fcompare-debug
475
476 fconserve-stack
477 Common Var(flag_conserve_stack) Optimization
478 Do not perform optimizations increasing noticeably stack usage
479
480 fcprop-registers
481 Common Report Var(flag_cprop_registers) Optimization
482 Perform a register copy-propagation optimization pass
483
484 fcrossjumping
485 Common Report Var(flag_crossjumping) Optimization
486 Perform cross-jumping optimization
487
488 fcse-follow-jumps
489 Common Report Var(flag_cse_follow_jumps) Optimization
490 When running CSE, follow jumps to their targets
491
492 fcse-skip-blocks
493 Common
494 Does nothing.  Preserved for backward compatibility.
495
496 fcx-limited-range
497 Common Report Var(flag_cx_limited_range) Optimization
498 Omit range reduction step when performing complex division
499
500 fcx-fortran-rules
501 Common Report Var(flag_cx_fortran_rules) Optimization
502 Complex multiplication and division follow Fortran rules
503
504 fdata-sections
505 Common Report Var(flag_data_sections) Optimization
506 Place data items into their own section
507
508 fdbg-cnt-list
509 Common Report
510 List all available debugging counters with their limits and counts.
511
512 fdbg-cnt=
513 Common RejectNegative Joined
514 -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]     Set the debug counter limit.   
515
516 fdebug-prefix-map=
517 Common Joined RejectNegative
518 Map one directory name to another in debug information
519
520 ; Nonzero for -fdefer-pop: don't pop args after each function call
521 ; instead save them up to pop many calls' args with one insns.
522 fdefer-pop
523 Common Report Var(flag_defer_pop) Optimization
524 Defer popping functions args from stack until later
525
526 fdelayed-branch
527 Common Report Var(flag_delayed_branch) Optimization
528 Attempt to fill delay slots of branch instructions
529
530 fdelete-null-pointer-checks
531 Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
532 Delete useless null pointer checks
533
534 fdiagnostics-show-location=
535 Common Joined RejectNegative
536 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
537
538 fdiagnostics-show-option
539 Common Var(flag_diagnostics_show_option) Init(1)
540 Amend appropriate diagnostic messages with the command line option that controls them
541
542 fdump-
543 Common Joined RejectNegative
544 -fdump-<type>   Dump various compiler internals to a file
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
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 UInteger
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
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
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
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
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 Report
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 fstrength-reduce
1285 Common
1286 Does nothing.  Preserved for backward compatibility.
1287
1288 ; Nonzero if we should do (language-dependent) alias analysis.
1289 ; Typically, this analysis will assume that expressions of certain
1290 ; types do not alias expressions of certain other types.  Only used
1291 ; if alias analysis (in general) is enabled.
1292 fstrict-aliasing
1293 Common Report Var(flag_strict_aliasing) Optimization
1294 Assume strict aliasing rules apply
1295
1296 fstrict-overflow
1297 Common Report Var(flag_strict_overflow)
1298 Treat signed overflow as undefined
1299
1300 fsyntax-only
1301 Common Report Var(flag_syntax_only)
1302 Check for syntax errors, then stop
1303
1304 ftest-coverage
1305 Common Report Var(flag_test_coverage)
1306 Create data files needed by \"gcov\"
1307
1308 fthread-jumps
1309 Common Report Var(flag_thread_jumps) Optimization
1310 Perform jump threading optimizations
1311
1312 ftime-report
1313 Common Report Var(time_report)
1314 Report the time taken by each compiler pass
1315
1316 ftls-model=
1317 Common Joined RejectNegative
1318 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
1319
1320 ftoplevel-reorder
1321 Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1322 Reorder top level functions, variables, and asms
1323
1324 ftracer
1325 Common Report Var(flag_tracer)
1326 Perform superblock formation via tail duplication
1327
1328 ; Zero means that floating-point math operations cannot generate a
1329 ; (user-visible) trap.  This is the case, for example, in nonstop
1330 ; IEEE 754 arithmetic.
1331 ftrapping-math
1332 Common Report Var(flag_trapping_math) Init(1) Optimization
1333 Assume floating-point operations can trap
1334
1335 ftrapv
1336 Common Report Var(flag_trapv) Optimization
1337 Trap for signed overflow in addition, subtraction and multiplication
1338
1339 ftree-ccp
1340 Common Report Var(flag_tree_ccp) Optimization
1341 Enable SSA-CCP optimization on trees
1342
1343 ftree-bit-ccp
1344 Common Report Var(flag_tree_bit_ccp) Optimization
1345 Enable SSA-BIT-CCP optimization on trees
1346
1347 ftree-store-ccp
1348 Common
1349 Does nothing.  Preserved for backward compatibility.
1350
1351 ftree-ch
1352 Common Report Var(flag_tree_ch) Optimization
1353 Enable loop header copying on trees
1354
1355 ftree-copyrename
1356 Common Report Var(flag_tree_copyrename) Optimization
1357 Replace SSA temporaries with better names in copies
1358
1359 ftree-copy-prop
1360 Common Report Var(flag_tree_copy_prop) Optimization
1361 Enable copy propagation on trees
1362
1363 ftree-store-copy-prop
1364 Common
1365 Does nothing.  Preserved for backward compatibility.
1366
1367 ftree-cselim
1368 Common Report Var(flag_tree_cselim) Init(2) Optimization
1369 Transform condition stores into unconditional ones
1370
1371 ftree-switch-conversion
1372 Common Report Var(flag_tree_switch_conversion) Optimization
1373 Perform conversions of switch initializations.
1374
1375 ftree-dce
1376 Common Report Var(flag_tree_dce) Optimization
1377 Enable SSA dead code elimination optimization on trees
1378
1379 ftree-dominator-opts
1380 Common Report Var(flag_tree_dom) Optimization
1381 Enable dominator optimizations
1382
1383 ftree-dse
1384 Common Report Var(flag_tree_dse) Optimization
1385 Enable dead store elimination
1386
1387 ftree-forwprop
1388 Common Report Var(flag_tree_forwprop) Init(1) Optimization
1389 Enable forward propagation on trees
1390
1391 ftree-fre
1392 Common Report Var(flag_tree_fre) Optimization
1393 Enable Full Redundancy Elimination (FRE) on trees
1394
1395 ftree-loop-distribution
1396 Common Report Var(flag_tree_loop_distribution) Optimization
1397 Enable loop distribution on trees
1398
1399 ftree-loop-distribute-patterns
1400 Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1401 Enable loop distribution for patterns transformed into a library call
1402
1403 ftree-loop-im
1404 Common Report Var(flag_tree_loop_im) Init(1) Optimization
1405 Enable loop invariant motion on trees
1406
1407 ftree-loop-linear
1408 Common Report Var(flag_tree_loop_linear) Optimization
1409 Enable linear loop transforms on trees
1410
1411 ftree-loop-ivcanon
1412 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1413 Create canonical induction variables in loops
1414
1415 ftree-loop-optimize
1416 Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1417 Enable loop optimizations on tree level
1418
1419 ftree-parallelize-loops=
1420 Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
1421 Enable automatic parallelization of loops
1422
1423 ftree-phiprop
1424 Common Report Var(flag_tree_phiprop) Init(1) Optimization
1425 Enable hoisting loads from conditional pointers.
1426
1427 ftree-pre
1428 Common Report Var(flag_tree_pre) Optimization
1429 Enable SSA-PRE optimization on trees
1430
1431 ftree-pta
1432 Common Report Var(flag_tree_pta) Init(1) Optimization
1433 Perform function-local points-to analysis on trees.
1434
1435 ftree-reassoc
1436 Common Report Var(flag_tree_reassoc) Init(1) Optimization
1437 Enable reassociation on tree level
1438
1439 ftree-salias
1440 Common
1441 Does nothing.  Preserved for backward compatibility.
1442
1443 ftree-sink
1444 Common Report Var(flag_tree_sink) Optimization
1445 Enable SSA code sinking on trees
1446
1447 ftree-sra
1448 Common Report Var(flag_tree_sra) Optimization
1449 Perform scalar replacement of aggregates
1450
1451 ftree-ter
1452 Common Report Var(flag_tree_ter) Init(1) Optimization
1453 Replace temporary expressions in the SSA->normal pass
1454
1455 ftree-lrs
1456 Common Report Var(flag_tree_live_range_split) Optimization
1457 Perform live range splitting during the SSA->normal pass
1458
1459 ftree-vrp
1460 Common Report Var(flag_tree_vrp) Init(0) Optimization
1461 Perform Value Range Propagation on trees
1462
1463 funit-at-a-time
1464 Common Report Var(flag_unit_at_a_time) Init(1) Optimization
1465 Compile whole compilation unit at a time
1466
1467 funroll-loops
1468 Common Report Var(flag_unroll_loops) Optimization
1469 Perform loop unrolling when iteration count is known
1470
1471 funroll-all-loops
1472 Common Report Var(flag_unroll_all_loops) Optimization
1473 Perform loop unrolling for all loops
1474
1475 ; Nonzero means that loop optimizer may assume that the induction variables
1476 ; that control loops do not overflow and that the loops with nontrivial
1477 ; exit condition are not infinite
1478 funsafe-loop-optimizations
1479 Common Report Var(flag_unsafe_loop_optimizations) Optimization
1480 Allow loop optimizations to assume that the loops behave in normal way
1481
1482 fassociative-math
1483 Common Report Var(flag_associative_math)
1484 Allow optimization for floating-point arithmetic which may change the
1485 result of the operation due to rounding.
1486
1487 freciprocal-math
1488 Common Report Var(flag_reciprocal_math)
1489 Same as -fassociative-math for expressions which include division.
1490
1491 ; Nonzero means that unsafe floating-point math optimizations are allowed
1492 ; for the sake of speed.  IEEE compliance is not guaranteed, and operations
1493 ; are allowed to assume that their arguments and results are "normal"
1494 ; (e.g., nonnegative for SQRT).
1495 funsafe-math-optimizations
1496 Common Report Var(flag_unsafe_math_optimizations) Optimization
1497 Allow math optimizations that may violate IEEE or ISO standards
1498
1499 funswitch-loops
1500 Common Report Var(flag_unswitch_loops) Optimization
1501 Perform loop unswitching
1502
1503 funwind-tables
1504 Common Report Var(flag_unwind_tables) Optimization
1505 Just generate unwind tables for exception handling
1506
1507 fuse-linker-plugin
1508 Common Undocumented
1509
1510 fvar-tracking
1511 Common Report Var(flag_var_tracking) VarExists Optimization
1512 Perform variable tracking
1513
1514 fvar-tracking-assignments
1515 Common Report Var(flag_var_tracking_assignments) VarExists Optimization
1516 Perform variable tracking by annotating assignments
1517
1518 fvar-tracking-assignments-toggle
1519 Common Report Var(flag_var_tracking_assignments_toggle) VarExists Optimization
1520 Toggle -fvar-tracking-assignments
1521
1522 fvar-tracking-uninit
1523 Common Report Var(flag_var_tracking_uninit) Optimization
1524 Perform variable tracking and also tag variables that are uninitialized
1525
1526 ftree-vectorize
1527 Common Report Var(flag_tree_vectorize) Optimization
1528 Enable loop vectorization on trees
1529
1530 ftree-slp-vectorize
1531 Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
1532 Enable basic block vectorization (SLP) on trees
1533
1534 fvect-cost-model
1535 Common Report Var(flag_vect_cost_model) Optimization
1536 Enable use of cost model in vectorization
1537
1538 ftree-vect-loop-version
1539 Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
1540 Enable loop versioning when doing loop vectorization on trees
1541
1542 ftree-vectorizer-verbose=
1543 Common RejectNegative Joined
1544 -ftree-vectorizer-verbose=<number>      Set the verbosity level of the vectorizer
1545
1546 ftree-scev-cprop
1547 Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
1548 Enable copy propagation of scalar-evolution information.
1549
1550 ; -fverbose-asm causes extra commentary information to be produced in
1551 ; the generated assembly code (to make it more readable).  This option
1552 ; is generally only of use to those who actually need to read the
1553 ; generated assembly code (perhaps while debugging the compiler itself).
1554 ; -fno-verbose-asm, the default, causes the extra information
1555 ; to not be added and is useful when comparing two assembler files.
1556 fverbose-asm
1557 Common Report Var(flag_verbose_asm)
1558 Add extra commentary to assembler output
1559
1560 fvisibility=
1561 Common Joined RejectNegative
1562 -fvisibility=[default|internal|hidden|protected]        Set the default symbol visibility
1563
1564
1565 fvpt
1566 Common Report Var(flag_value_profile_transformations) Optimization
1567 Use expression value profiles in optimizations
1568
1569 fweb
1570 Common Report Var(flag_web) Init(2) Optimization
1571 Construct webs and split unrelated uses of single variable
1572
1573 fwhopr
1574 Common
1575 Enable partitioned link-time optimization
1576
1577 fwhopr=
1578 Common RejectNegative UInteger Joined Var(flag_whopr)
1579 Enable partitioned link-time optimization with specified number of parallel jobs
1580
1581 ftree-builtin-call-dce
1582 Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
1583 Enable conditional dead code elimination for builtin calls
1584
1585 fwhole-program
1586 Common Report Var(flag_whole_program) Init(0) Optimization
1587 Perform whole program optimizations
1588
1589 fwrapv
1590 Common Report Var(flag_wrapv) Optimization
1591 Assume signed arithmetic overflow wraps around
1592
1593 fzero-initialized-in-bss
1594 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1595 Put zero initialized data in the bss section
1596
1597 g
1598 Common JoinedOrMissing
1599 Generate debug information in default format
1600
1601 gcoff
1602 Common JoinedOrMissing Negative(gdwarf-)
1603 Generate debug information in COFF format
1604
1605 gdwarf-
1606 Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
1607 Generate debug information in DWARF v2 (or later) format
1608
1609 ggdb
1610 Common JoinedOrMissing
1611 Generate debug information in default extended format
1612
1613 gstabs
1614 Common JoinedOrMissing Negative(gstabs+)
1615 Generate debug information in STABS format
1616
1617 gstabs+
1618 Common JoinedOrMissing Negative(gvms)
1619 Generate debug information in extended STABS format
1620
1621 gno-strict-dwarf
1622 Common RejectNegative Var(dwarf_strict,0) Init(-1)
1623 Emit DWARF additions beyond selected version
1624
1625 gstrict-dwarf
1626 Common Report RejectNegative Var(dwarf_strict,1) VarExists
1627 Don't emit DWARF additions beyond selected version
1628
1629 gtoggle
1630 Common Report Var(flag_gtoggle)
1631 Toggle debug information generation
1632
1633 gvms
1634 Common JoinedOrMissing Negative(gxcoff)
1635 Generate debug information in VMS format
1636
1637 gxcoff
1638 Common JoinedOrMissing Negative(gxcoff+)
1639 Generate debug information in XCOFF format
1640
1641 gxcoff+
1642 Common JoinedOrMissing Negative(gcoff)
1643 Generate debug information in extended XCOFF format
1644
1645 iplugindir=
1646 Common Joined Var(plugindir_string) Init(0)
1647 -iplugindir=<dir>       Set <dir> to be the default plugin directory
1648
1649 l
1650 Driver Joined Separate
1651
1652 no-canonical-prefixes
1653 Driver
1654
1655 nodefaultlibs
1656 Driver
1657
1658 nostdlib
1659 Driver
1660
1661 o
1662 Common Driver Joined Separate MissingArgError(missing filename after %qs)
1663 -o <file>       Place output into <file>
1664
1665 p
1666 Common Var(profile_flag)
1667 Enable function profiling
1668
1669 pass-exit-codes
1670 Driver Var(pass_exit_codes)
1671
1672 pedantic
1673 Common Var(pedantic)
1674 Issue warnings needed for strict compliance to the standard
1675
1676 pedantic-errors
1677 Common
1678 Like -pedantic but issue them as errors
1679
1680 pg
1681 Driver
1682
1683 pipe
1684 Driver Var(use_pipes)
1685
1686 print-file-name=
1687 Driver JoinedOrMissing Var(print_file_name)
1688
1689 print-libgcc-file-name
1690 Driver
1691
1692 print-multi-directory
1693 Driver Var(print_multi_directory)
1694
1695 print-multi-lib
1696 Driver Var(print_multi_lib)
1697
1698 print-multi-os-directory
1699 Driver Var(print_multi_os_directory)
1700
1701 print-prog-name=
1702 Driver JoinedOrMissing Var(print_prog_name)
1703
1704 print-search-dirs
1705 Driver Var(print_search_dirs)
1706
1707 print-sysroot
1708 Driver Var(print_sysroot)
1709
1710 print-sysroot-headers-suffix
1711 Driver Var(print_sysroot_headers_suffix)
1712
1713 quiet
1714 Common Var(quiet_flag) RejectDriver
1715 Do not display functions compiled or elapsed time
1716
1717 save-temps
1718 Driver
1719
1720 save-temps=
1721 Driver Joined
1722
1723 time
1724 Driver Var(report_times)
1725
1726 time=
1727 Driver JoinedOrMissing
1728
1729 v
1730 Driver
1731
1732 version
1733 Common Var(version_flag) RejectDriver
1734 Display the compiler's version
1735
1736 w
1737 Common Var(inhibit_warnings)
1738 Suppress warnings
1739
1740 wrapper
1741 Driver Separate Var(wrapper_string)
1742
1743 x
1744 Driver Joined Separate
1745
1746 shared
1747 Common RejectNegative Negative(pie)
1748 Create a shared library
1749
1750 shared-libgcc
1751 Driver
1752
1753 specs
1754 Driver Separate
1755
1756 specs=
1757 Driver Joined
1758
1759 static
1760 Driver
1761
1762 static-libgcc
1763 Driver
1764
1765 static-libgfortran
1766 Driver
1767 ; Documented for Fortran, but always accepted by driver.
1768
1769 static-libstdc++
1770 Driver
1771
1772 pie
1773 Common RejectNegative Negative(shared)
1774 Create a position independent executable
1775
1776 ; This comment is to ensure we retain the blank line above.