OSDN Git Service

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