OSDN Git Service

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