Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / common.opt
blobcea40d5d9e26db75258c10e2deb6b494c4a56baa
1 ; Options for the language- and target-independent parts of the compiler.
3 ; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 2, or (at your option) any later
10 ; version.
11
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 ; for more details.
16
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING.  If not, write to the Free
19 ; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
20 ; 02110-1301, USA.
22 ; See the GCC internals manual for a description of this file's format.
24 ; Please try to keep this file in ASCII collating order.
26 -help
27 Common
28 Display this information
30 -param
31 Common Separate
32 --param <param>=<value> Set parameter <param> to value.  See below for a complete list of parameters
34 -target-help
35 Common
37 -version
38 Common
41 Common Joined Separate UInteger
42 -G<number>      Put global and static data smaller than <number> bytes into a special section (on some targets)
45 Common JoinedOrMissing
46 -O<number>      Set optimization level to <number>
49 Common
50 Optimize for space rather than speed
53 Common RejectNegative
54 This switch is deprecated; use -Wextra instead
56 Waggregate-return
57 Common Var(warn_aggregate_return)
58 Warn about returning structures, unions or arrays
60 Walways-true
61 Common Var(warn_always_true)
62 Warn about comparisons that always evaluate to true
64 Wattributes
65 Common Var(warn_attributes) Init(1)
66 Warn about inappropriate attribute usage
68 Wcast-align
69 Common Var(warn_cast_align)
70 Warn about pointer casts which increase alignment
72 Wdeprecated-declarations
73 Common Var(warn_deprecated_decl) Init(1)
74 Warn about uses of __attribute__((deprecated)) declarations
76 Wdisabled-optimization
77 Common Var(warn_disabled_optimization)
78 Warn when an optimization pass is disabled
80 Werror
81 Common Var(warnings_are_errors)
82 Treat all warnings as errors
84 Wextra
85 Common
86 Print extra (possibly unwanted) warnings
88 Wfatal-errors
89 Common Var(flag_fatal_errors)
90 Exit on the first error occurred
92 Winline
93 Common Var(warn_inline)
94 Warn when an inlined function cannot be inlined
96 Wlarger-than-
97 Common RejectNegative Joined UInteger
98 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
100 Wunsafe-loop-optimizations
101 Common Var(warn_unsafe_loop_optimizations)
102 Warn if the loop cannot be optimized due to nontrivial assumptions.
104 Wmissing-noreturn
105 Common Var(warn_missing_noreturn)
106 Warn about functions which might be candidates for __attribute__((noreturn))
108 Wpacked
109 Common Var(warn_packed)
110 Warn when the packed attribute has no effect on struct layout
112 Wpadded
113 Common Var(warn_padded)
114 Warn when padding is required to align structure members
116 Wshadow
117 Common Var(warn_shadow)
118 Warn when one local variable shadows another
120 Wstack-protector
121 Common Var(warn_stack_protect)
122 Warn when not issuing stack smashing protection for some reason
124 Wstrict-aliasing
125 Common
126 Warn about code which might break strict aliasing rules
128 Wstrict-aliasing=
129 Common Joined UInteger
130 Warn about code which might break strict aliasing rules
132 Wstring-literal-comparison
133 Common Var(warn_string_literal_comparison)
134 Warn about comparisons to constant string literals
136 Wswitch
137 Common Var(warn_switch)
138 Warn about enumerated switches, with no default, missing a case
140 Wswitch-default
141 Common Var(warn_switch_default)
142 Warn about enumerated switches missing a \"default:\" statement
144 Wswitch-enum
145 Common Var(warn_switch_enum)
146 Warn about all enumerated switches missing a specific case
148 Wsystem-headers
149 Common Var(warn_system_headers)
150 Do not suppress warnings from system headers
152 Wuninitialized
153 Common Var(warn_uninitialized)
154 Warn about uninitialized automatic variables
156 Wunreachable-code
157 Common Var(warn_notreached)
158 Warn about code that will never be executed
160 Wunused
161 Common
162 Enable all -Wunused- warnings
164 Wunused-function
165 Common Var(warn_unused_function)
166 Warn when a function is unused
168 Wunused-label
169 Common Var(warn_unused_label)
170 Warn when a label is unused
172 Wunused-parameter
173 Common Var(warn_unused_parameter)
174 Warn when a function parameter is unused
176 Wunused-value
177 Common Var(warn_unused_value)
178 Warn when an expression value is unused
180 Wunused-variable
181 Common Var(warn_unused_variable)
182 Warn when a variable is unused
184 Wvolatile-register-var
185 Common Var(warn_register_var)
186 Warn when a register variable is declared volatile
188 aux-info
189 Common Separate
190 -aux-info <file>        Emit declaration information into <file>
192 aux-info=
193 Common Joined
195 auxbase
196 Common Separate
198 auxbase-strip
199 Common Separate
202 Common Joined
203 -d<letters>     Enable dumps from specific passes of the compiler
205 dumpbase
206 Common Separate
207 -dumpbase <file>        Set the file basename to be used for dumps
209 ; The version of the C++ ABI in use.  The following values are allowed:
211 ; 0: The version of the ABI believed most conformant with the C++ ABI
212 ;    specification.  This ABI may change as bugs are discovered and fixed.
213 ;    Therefore, 0 will not necessarily indicate the same ABI in different
214 ;    versions of G++.
216 ; 1: The version of the ABI first used in G++ 3.2.
218 ; Additional positive integers will be assigned as new versions of
219 ; the ABI become the default version of the ABI.
220 fabi-version=
221 Common Joined UInteger Var(flag_abi_version) Init(2)
223 falign-functions
224 Common Report Var(align_functions,0)
225 Align the start of functions
227 falign-functions=
228 Common RejectNegative Joined UInteger
230 falign-jumps
231 Common Report Var(align_jumps,0)
232 Align labels which are only reached by jumping
234 falign-jumps=
235 Common RejectNegative Joined UInteger
237 falign-labels
238 Common Report Var(align_labels,0)
239 Align all labels
241 falign-labels=
242 Common RejectNegative Joined UInteger
244 falign-loops
245 Common Report Var(align_loops)
246 Align the start of loops
248 falign-loops=
249 Common RejectNegative Joined UInteger
251 ; This flag is only tested if alias checking is enabled.
252 ; 0 if pointer arguments may alias each other.  True in C.
253 ; 1 if pointer arguments may not alias each other but may alias
254 ;   global variables.
255 ; 2 if pointer arguments may not alias each other and may not
256 ;   alias global variables.  True in Fortran.
257 fargument-alias
258 Common Report Var(flag_argument_noalias,0)
259 Specify that arguments may alias each other and globals
261 fargument-noalias
262 Common Report Var(flag_argument_noalias,1) VarExists
263 Assume arguments may alias globals but not each other
265 fargument-noalias-global
266 Common Report Var(flag_argument_noalias,2) VarExists
267 Assume arguments alias neither each other nor globals
269 fasynchronous-unwind-tables
270 Common Report Var(flag_asynchronous_unwind_tables)
271 Generate unwind tables that are exact at each instruction boundary
273 ; -fcheck-bounds causes gcc to generate array bounds checks.
274 ; For C, C++ and ObjC: defaults off.
275 ; For Java: defaults to on.
276 ; For Fortran: defaults to off.
277 fbounds-check
278 Common Report Var(flag_bounds_check)
279 Generate code to check bounds before indexing arrays
281 fbranch-count-reg
282 Common Report Var(flag_branch_on_count_reg) Init(1)
283 Replace add, compare, branch with branch on count register
285 fbranch-probabilities
286 Common Report Var(flag_branch_probabilities)
287 Use profiling information for branch probabilities
289 fbranch-target-load-optimize
290 Common Report Var(flag_branch_target_load_optimize)
291 Perform branch target load optimization before prologue / epilogue threading
293 fbranch-target-load-optimize2
294 Common Report Var(flag_branch_target_load_optimize2)
295 Perform branch target load optimization after prologue / epilogue threading
297 fbtr-bb-exclusive
298 Common Report Var(flag_btr_bb_exclusive)
299 Restrict target load migration not to re-use registers in any basic block
301 fcall-saved-
302 Common Joined RejectNegative
303 -fcall-saved-<register> Mark <register> as being preserved across functions
305 fcall-used-
306 Common Joined RejectNegative
307 -fcall-used-<register>  Mark <register> as being corrupted by function calls
309 ; Nonzero for -fcaller-saves: allocate values in regs that need to
310 ; be saved across function calls, if that produces overall better code.
311 ; Optional now, so people can test it.
312 fcaller-saves
313 Common Report Var(flag_caller_saves)
314 Save registers around function calls
316 fcheck-data-deps
317 Common Report Var(flag_check_data_deps)
318 Compare the results of several data dependence analyzers.
320 fcommon
321 Common Report Var(flag_no_common,0)
322 Do not put uninitialized globals in the common section
324 fcprop-registers
325 Common Report Var(flag_cprop_registers)
326 Perform a register copy-propagation optimization pass
328 fcrossjumping
329 Common Report Var(flag_crossjumping)
330 Perform cross-jumping optimization
332 fcse-follow-jumps
333 Common Report Var(flag_cse_follow_jumps)
334 When running CSE, follow jumps to their targets
336 fcse-skip-blocks
337 Common Report Var(flag_cse_skip_blocks)
338 When running CSE, follow conditional jumps
340 fcx-limited-range
341 Common Report Var(flag_cx_limited_range)
342 Omit range reduction step when performing complex division
344 fdata-sections
345 Common Report Var(flag_data_sections)
346 Place data items into their own section
348 ; Nonzero for -fdefer-pop: don't pop args after each function call
349 ; instead save them up to pop many calls' args with one insns.
350 fdefer-pop
351 Common Report Var(flag_defer_pop)
352 Defer popping functions args from stack until later
354 fdelayed-branch
355 Common Report Var(flag_delayed_branch)
356 Attempt to fill delay slots of branch instructions
358 fdelete-null-pointer-checks
359 Common Report Var(flag_delete_null_pointer_checks)
360 Delete useless null pointer checks
362 fdiagnostics-show-location=
363 Common Joined RejectNegative
364 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
366 fdiagnostics-show-option
367 Common
368 Amend appropriate diagnostic messages with the command line option that controls them
370 fdump-
371 Common Joined RejectNegative
372 -fdump-<type>   Dump various compiler internals to a file
374 fdump-unnumbered
375 Common Report Var(flag_dump_unnumbered) VarExists
376 Suppress output of instruction numbers and line number notes in debugging dumps
378 fearly-inlining
379 Common Report Var(flag_early_inlining) Init(1)
380 Perform early inlining
382 ftree-early-loop
383 Common Report Var(flag_tree_early_loop_optimize)
387 feliminate-dwarf2-dups
388 Common Report Var(flag_eliminate_dwarf2_dups)
389 Perform DWARF2 duplicate elimination
391 feliminate-unused-debug-symbols
392 Common Report Var(flag_debug_only_used_symbols)
393 Perform unused type elimination in debug info
395 feliminate-unused-debug-types
396 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
397 Perform unused type elimination in debug info
399 fexceptions
400 Common Report Var(flag_exceptions)
401 Enable exception handling
403 fexpensive-optimizations
404 Common Report Var(flag_expensive_optimizations)
405 Perform a number of minor, expensive optimizations
407 ffast-math
408 Common
410 ffinite-math-only
411 Common Report Var(flag_finite_math_only)
412 Assume no NaNs or infinities are generated
414 ffixed-
415 Common Joined RejectNegative
416 -ffixed-<register>      Mark <register> as being unavailable to the compiler
418 ffloat-store
419 Common Report Var(flag_float_store)
420 Don't allocate floats and doubles in extended-precision registers
422 ; Nonzero for -fforce-addr: load memory address into a register before
423 ; reference to memory.  This makes better cse but slower compilation.
424 fforce-addr
425 Common Report Var(flag_force_addr)
426 Copy memory address constants into registers before use
428 ; Nonzero for -fforce-mem: load memory value into a register
429 ; before arithmetic on it.  This makes better cse but slower compilation.
430 fforce-mem
431 Common Report Var(flag_force_mem)
432 Copy memory operands into registers before use
434 ; Nonzero means don't put addresses of constant functions in registers.
435 ; Used for compiling the Unix kernel, where strange substitutions are
436 ; done on the assembly output.
437 ffunction-cse
438 Common Report Var(flag_no_function_cse,0)
439 Allow function addresses to be held in registers
441 ffunction-sections
442 Common Report Var(flag_function_sections)
443 Place each function into its own section
445 fgcse
446 Common Report Var(flag_gcse)
447 Perform global common subexpression elimination
449 fgcse-lm
450 Common Report Var(flag_gcse_lm) Init(1)
451 Perform enhanced load motion during global common subexpression elimination
453 fgcse-sm
454 Common Report Var(flag_gcse_sm) Init(0)
455 Perform store motion after global common subexpression elimination
457 fgcse-las
458 Common Report Var(flag_gcse_las) Init(0)
459 Perform redundant load after store elimination in global common subexpression
460 elimination
462 fgcse-after-reload
463 Common Report Var(flag_gcse_after_reload)
464 Perform global common subexpression elimination after register allocation
465 has finished
467 fguess-branch-probability
468 Common Report Var(flag_guess_branch_prob)
469 Enable guessing of branch probabilities
471 ; Nonzero means ignore `#ident' directives.  0 means handle them.
472 ; Generate position-independent code for executables if possible
473 ; On SVR4 targets, it also controls whether or not to emit a
474 ; string identifying the compiler.
475 fident
476 Common Report Var(flag_no_ident,0)
477 Process #ident directives
479 fif-conversion
480 Common Report Var(flag_if_conversion)
481 Perform conversion of conditional jumps to branchless equivalents
483 fif-conversion2
484 Common Report Var(flag_if_conversion2)
485 Perform conversion of conditional jumps to conditional execution
487 ; -finhibit-size-directive inhibits output of .size for ELF.
488 ; This is used only for compiling crtstuff.c,
489 ; and it may be extended to other effects
490 ; needed for crtstuff.c on other systems.
491 finhibit-size-directive
492 Common Report Var(flag_inhibit_size_directive)
493 Do not generate .size directives
495 ; Nonzero means that functions declared `inline' will be treated
496 ; as `static'.  Prevents generation of zillions of copies of unused
497 ; static inline functions; instead, `inlines' are written out
498 ; only when actually used.  Used in conjunction with -g.  Also
499 ; does the right thing with #pragma interface.
500 finline
501 Common Report Var(flag_no_inline,0) Init(2)
502 Pay attention to the \"inline\" keyword
504 finline-functions
505 Common Report Var(flag_inline_functions)
506 Integrate simple functions into their callers
508 finline-functions-called-once
509 Common Report Var(flag_inline_functions_called_once) Init(1)
510 Integrate functions called once into their callers
512 finline-limit-
513 Common RejectNegative Joined UInteger
515 finline-limit=
516 Common RejectNegative Joined UInteger
517 -finline-limit=<number> Limit the size of inlined functions to <number>
519 finstrument-functions
520 Common Report Var(flag_instrument_function_entry_exit)
521 Instrument function entry and exit with profiling calls
524 Common Report Var(flag_cv)
525 Perform call versioning
527 fipa-cp
528 Common Report Var(flag_ipa_cp)
529 Perform Interprocedural constant propagation
531 fipa-pure-const
532 Common Report Var(flag_ipa_pure_const) Init(0)
533 Discover pure and const functions
535 fipa-reference
536 Common Report Var(flag_ipa_reference) Init(0)
537 Discover readonly and non addressable static variables
539 fipa-type-escape
540 Common Report Var(flag_ipa_type_escape) Init(0)
541 Type based escape and alias analysis
543 fivopts
544 Common Report Var(flag_ivopts) Init(1)
545 Optimize induction variables on trees
547 fjump-tables
548 Common Var(flag_jump_tables) Init(1)
549 Use jump tables for sufficiently large switch statements
551 fkeep-inline-functions
552 Common Report Var(flag_keep_inline_functions)
553 Generate code for functions even if they are fully inlined
555 fkeep-static-consts
556 Common Report Var(flag_keep_static_consts) Init(1)
557 Emit static const variables even if they are not used
559 fleading-underscore
560 Common Report Var(flag_leading_underscore) Init(-1)
561 Give external symbols a leading underscore
563 floop-optimize
564 Common Report Var(flag_loop_optimize)
565 Perform loop optimizations
567 floop-optimize2
568 Common Report Var(flag_loop_optimize2)
569 Perform loop optimizations using the new loop optimizer
571 fmath-errno
572 Common Report Var(flag_errno_math) Init(1)
573 Set errno after built-in math functions
575 fmem-report
576 Common Report Var(mem_report)
577 Report on permanent memory allocation
579 ; This will attempt to merge constant section constants, if 1 only
580 ; string constants and constants from constant pool, if 2 also constant
581 ; variables.
582 fmerge-all-constants
583 Common Report Var(flag_merge_constants,2) Init(1)
584 Attempt to merge identical constants and constant variables
586 fmerge-constants
587 Common Report Var(flag_merge_constants,1) VarExists
588 Attempt to merge identical constants across compilation units
590 fmessage-length=
591 Common RejectNegative Joined UInteger
592 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
594 fmodulo-sched
595 Common Report Var(flag_modulo_sched)
596 Perform SMS based modulo scheduling before the first scheduling pass
598 frtl-loop-hc
599 Common Report Var(flag_rtl_loop_hc)
600 Perform loop header copying at RTL level.
602 fmove-loop-invariants
603 Common Report Var(flag_move_loop_invariants)
604 Move loop invariant computations out of loops
606 fmudflap
607 Common RejectNegative Report Var(flag_mudflap)
608 Add mudflap bounds-checking instrumentation for single-threaded program
610 fmudflapth
611 Common RejectNegative Report Var(flag_mudflap_threads)
612 Add mudflap bounds-checking instrumentation for multi-threaded program
614 fmudflapir
615 Common RejectNegative Report Var(flag_mudflap_ignore_reads)
616 Ignore read operations when inserting mudflap instrumentation
618 freschedule-modulo-scheduled-loops
619 Common Report Var(flag_resched_modulo_sched)
620 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
622 fnon-call-exceptions
623 Common Report Var(flag_non_call_exceptions)
624 Support synchronous non-call exceptions
626 fomit-frame-pointer
627 Common Report Var(flag_omit_frame_pointer)
628 When possible do not generate stack frames
630 foptimize-register-move
631 Common Report Var(flag_regmove)
632 Do the full register move optimization pass
634 foptimize-sibling-calls
635 Common Report Var(flag_optimize_sibling_calls)
636 Optimize sibling and tail recursive calls
638 fpack-struct
639 Common Report Var(flag_pack_struct)
640 Pack structure members together without holes
642 fpack-struct=
643 Common RejectNegative Joined UInteger
644 -fpack-struct=<number>  Set initial maximum structure member alignment
646 fpcc-struct-return
647 Common Report Var(flag_pcc_struct_return,1) VarExists
648 Return small aggregates in memory, not registers
650 fpeel-loops
651 Common Report Var(flag_peel_loops)
652 Perform loop peeling
654 fpeephole
655 Common Report Var(flag_no_peephole,0)
656 Enable machine specific peephole optimizations
658 fpeephole2
659 Common Report Var(flag_peephole2)
660 Enable an RTL peephole pass before sched2
662 fPIC
663 Common Report Var(flag_pic,2)
664 Generate position-independent code if possible (large mode)
666 fPIE
667 Common Report Var(flag_pie,2)
668 Generate position-independent code for executables if possible (large mode)
670 fpic
671 Common Report Var(flag_pic,1) VarExists
672 Generate position-independent code if possible (small mode)
674 fpie
675 Common Report Var(flag_pie,1) VarExists
676 Generate position-independent code for executables if possible (small mode)
678 fprefetch-loop-arrays
679 Common Report Var(flag_prefetch_loop_arrays)
680 Generate prefetch instructions, if available, for arrays in loops
682 fprofile
683 Common Report Var(profile_flag)
684 Enable basic program profiling code
686 fprofile-arcs
687 Common Report Var(profile_arc_flag)
688 Insert arc-based program profiling code
690 fprofile-generate
691 Common
692 Enable common options for generating profile info for profile feedback directed optimizations
694 fprofile-use
695 Common
696 Enable common options for performing profile feedback directed optimizations
698 fprofile-values
699 Common Report Var(flag_profile_values)
700 Insert code to profile values of expressions
702 frandom-seed
703 Common
705 frandom-seed=
706 Common Joined RejectNegative
707 -frandom-seed=<string>  Make compile reproducible using <string>
709 freg-struct-return
710 Common Report Var(flag_pcc_struct_return,0) VarExists
711 Return small aggregates in registers
713 fregmove
714 Common Report Var(flag_regmove)
715 Enables a register move optimization
717 frename-registers
718 Common Report Var(flag_rename_registers) Init(2)
719 Perform a register renaming optimization pass
721 freorder-blocks
722 Common Report Var(flag_reorder_blocks)
723 Reorder basic blocks to improve code placement
725 freorder-blocks-and-partition
726 Common Report Var(flag_reorder_blocks_and_partition)
727 Reorder basic blocks and partition into hot and cold sections
729 freorder-functions
730 Common Report Var(flag_reorder_functions)
731 Reorder functions to improve code placement
733 frerun-cse-after-loop
734 Common Report Var(flag_rerun_cse_after_loop) Init(2)
735 Add a common subexpression elimination pass after loop optimizations
737 frerun-loop-opt
738 Common Report Var(flag_rerun_loop_opt)
739 Run the loop optimizer twice
741 frounding-math
742 Common Report Var(flag_rounding_math)
743 Disable optimizations that assume default FP rounding behavior
745 fsched-interblock
746 Common Report Var(flag_schedule_interblock) Init(1)
747 Enable scheduling across basic blocks
749 fsched-spec
750 Common Report Var(flag_schedule_speculative) Init(1)
751 Allow speculative motion of non-loads
753 fsched-spec-load
754 Common Report Var(flag_schedule_speculative_load)
755 Allow speculative motion of some loads
757 fsched-spec-load-dangerous
758 Common Report Var(flag_schedule_speculative_load_dangerous)
759 Allow speculative motion of more loads
761 fsched-verbose=
762 Common RejectNegative Joined
763 -fsched-verbose=<number>        Set the verbosity level of the scheduler
765 fsched2-use-superblocks
766 Common Report Var(flag_sched2_use_superblocks)
767 If scheduling post reload, do superblock scheduling
769 fsched2-use-traces
770 Common Report Var(flag_sched2_use_traces)
771 If scheduling post reload, do trace scheduling
773 fschedule-insns
774 Common Report Var(flag_schedule_insns)
775 Reschedule instructions before register allocation
777 fschedule-insns2
778 Common Report Var(flag_schedule_insns_after_reload)
779 Reschedule instructions after register allocation
781 ; sched_stalled_insns means that insns can be moved prematurely from the queue
782 ; of stalled insns into the ready list.
783 fsched-stalled-insns
784 Common Report Var(flag_sched_stalled_insns)
785 Allow premature scheduling of queued insns
787 fsched-stalled-insns=
788 Common RejectNegative Joined UInteger 
789 -fsched-stalled-insns=<number>  Set number of queued insns that can be prematurely scheduled
791 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
792 ; be examined for a dependency on a stalled insn that is candidate for
793 ; premature removal from the queue of stalled insns into the ready list (has
794 ; an effect only if the flag 'sched_stalled_insns' is set).
795 fsched-stalled-insns-dep
796 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1)
797 Set dependence distance checking in premature scheduling of queued insns
799 fsched-stalled-insns-dep=
800 Common RejectNegative Joined UInteger
801 -fsched-stalled-insns-dep=<number>      Set dependence distance checking in premature scheduling of queued insns
803 fshared-data
804 Common Report Var(flag_shared_data)
805 Mark data as shared rather than private
807 fshow-column
808 Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
809 Show column numbers in diagnostics, when available.  Default on
811 fsignaling-nans
812 Common Report Var(flag_signaling_nans)
813 Disable optimizations observable by IEEE signaling NaNs
815 fsingle-precision-constant
816 Common Report Var(flag_single_precision_constant)
817 Convert floating point constants to single precision constants
819 fsplit-ivs-in-unroller
820 Common Report Var(flag_split_ivs_in_unroller) Init(1)
821 Split lifetimes of induction variables when loops are unrolled
823 fvariable-expansion-in-unroller
824 Common Report Var(flag_variable_expansion_in_unroller) 
825 Apply variable expansion when loops are unrolled
827 ; Emit code to probe the stack, to help detect stack overflow; also
828 ; may cause large objects to be allocated dynamically.
829 fstack-check
830 Common Report Var(flag_stack_check)
831 Insert stack checking code into the program
833 fstack-limit
834 Common
836 fstack-limit-register=
837 Common RejectNegative Joined
838 -fstack-limit-register=<register>       Trap if the stack goes past <register>
840 fstack-limit-symbol=
841 Common RejectNegative Joined
842 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
844 fstack-protector
845 Common Report Var(flag_stack_protect, 1)
846 Use propolice as a stack protection method
848 fstack-protector-all
849 Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
850 Use a stack protection method for every function
852 fstrength-reduce
853 Common Report Var(flag_strength_reduce)
854 Perform strength reduction optimizations
856 ; Nonzero if we should do (language-dependent) alias analysis.
857 ; Typically, this analysis will assume that expressions of certain
858 ; types do not alias expressions of certain other types.  Only used
859 ; if alias analysis (in general) is enabled.
860 fstrict-aliasing
861 Common Report Var(flag_strict_aliasing)
862 Assume strict aliasing rules apply
864 fsyntax-only
865 Common Report Var(flag_syntax_only)
866 Check for syntax errors, then stop
868 ftest-coverage
869 Common Report Var(flag_test_coverage)
870 Create data files needed by \"gcov\"
872 fthread-jumps
873 Common Report Var(flag_thread_jumps)
874 Perform jump threading optimizations
876 ftime-report
877 Common Report Var(time_report)
878 Report the time taken by each compiler pass
880 ftls-model=
881 Common Joined RejectNegative
882 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
884 ftracer
885 Common Report Var(flag_tracer)
886 Perform superblock formation via tail duplication
888 ; Zero means that floating-point math operations cannot generate a
889 ; (user-visible) trap.  This is the case, for example, in nonstop
890 ; IEEE 754 arithmetic.
891 ftrapping-math
892 Common Report Var(flag_trapping_math) Init(1)
893 Assume floating-point operations can trap
895 ftrapv
896 Common Report Var(flag_trapv)
897 Trap for signed overflow in addition, subtraction and multiplication
899 ftree-ccp
900 Common Report Var(flag_tree_ccp)
901 Enable SSA-CCP optimization on trees
903 ftree-store-ccp
904 Common Report Var(flag_tree_store_ccp)
905 Enable SSA-CCP optimization for stores and loads
907 ftree-ch
908 Common Report Var(flag_tree_ch)
909 Enable loop header copying on trees
911 ftree-combine-temps
912 Common Report Var(flag_tree_combine_temps)
913 Coalesce memory temporaries in the SSA->normal pass
915 ftree-copyrename
916 Common Report Var(flag_tree_copyrename)
917 Replace SSA temporaries with better names in copies
919 ftree-copy-prop
920 Common Report Var(flag_tree_copy_prop)
921 Enable copy propagation on trees
923 ftree-store-copy-prop
924 Common Report Var(flag_tree_store_copy_prop)
925 Enable copy propagation for stores and loads
927 ftree-dce
928 Common Report Var(flag_tree_dce)
929 Enable SSA dead code elimination optimization on trees
931 ftree-dominator-opts
932 Common Report Var(flag_tree_dom)
933 Enable dominator optimizations
935 ftree-dse
936 Common Report Var(flag_tree_dse)
937 Enable dead store elimination
939 ftree-elim-checks
940 Common Report Var(flag_tree_elim_checks)
941 Enable Redundant Checks Elimination
943 ftree-reassoc
944 Common Report Var(flag_tree_reassoc)
945 Enable reassociation on trees
947 ftree-fre
948 Common Report Var(flag_tree_fre)
949 Enable Full Redundancy Elimination (FRE) on trees
951 ftree-loop-im
952 Common Report Var(flag_tree_loop_im) Init(1)
953 Enable loop invariant motion on trees
955 ftree-loop-linear
956 Common Report Var(flag_tree_loop_linear)
957 Enable linear loop transforms on trees
959 ftree-loop-ivcanon
960 Common Report Var(flag_tree_loop_ivcanon) Init(1)
961 Create canonical induction variables in loops
963 ftree-loop-optimize
964 Common Report Var(flag_tree_loop_optimize) Init(1)
965 Enable loop optimizations on tree level
967 ftree-pre
968 Common Report Var(flag_tree_pre)
969 Enable SSA-PRE optimization on trees
971 ftree-salias
972 Common Report Var(flag_tree_salias)
973 Perform structural alias analysis
975 ftree-sink
976 Common Report Var(flag_tree_sink)
977 Enable SSA code sinking on trees
979 ftree-sra
980 Common Report Var(flag_tree_sra)
981 Perform scalar replacement of aggregates
983 ftree-ter
984 Common Report Var(flag_tree_ter)
985 Replace temporary expressions in the SSA->normal pass
987 ftree-lrs
988 Common Report Var(flag_tree_live_range_split)
989 Perform live range splitting during the SSA->normal pass
991 ftree-vrp
992 Common Report Var(flag_tree_vrp) Init(0)
993 Perform Value Range Propagation on trees
995 funit-at-a-time
996 Common Report Var(flag_unit_at_a_time)
997 Compile whole compilation unit at a time
999 funroll-loops
1000 Common Report Var(flag_unroll_loops)
1001 Perform loop unrolling when iteration count is known
1003 funroll-all-loops
1004 Common Report Var(flag_unroll_all_loops)
1005 Perform loop unrolling for all loops
1007 ; Nonzero means that loop optimizer may assume that the induction variables
1008 ; that control loops do not overflow and that the loops with nontrivial
1009 ; exit condition are not infinite
1010 funsafe-loop-optimizations
1011 Common Report Var(flag_unsafe_loop_optimizations)
1012 Allow loop optimizations to assume that the loops behave in normal way
1014 ; Nonzero means that unsafe floating-point math optimizations are allowed
1015 ; for the sake of speed.  IEEE compliance is not guaranteed, and operations
1016 ; are allowed to assume that their arguments and results are "normal"
1017 ; (e.g., nonnegative for SQRT).
1018 funsafe-math-optimizations
1019 Common Report Var(flag_unsafe_math_optimizations)
1020 Allow math optimizations that may violate IEEE or ISO standards
1022 funswitch-loops
1023 Common Report Var(flag_unswitch_loops)
1024 Perform loop unswitching
1026 funwind-tables
1027 Common Report Var(flag_unwind_tables)
1028 Just generate unwind tables for exception handling
1030 fvar-tracking
1031 Common Report Var(flag_var_tracking) VarExists
1032 Perform variable tracking
1034 ftree-vectorize
1035 Common Report Var(flag_tree_vectorize)
1036 Enable loop vectorization on trees
1038 ftree-vect-loop-version
1039 Common Report Var(flag_tree_vect_loop_version) Init(1)
1040 Enable loop versioning when doing loop vectorization on trees
1042 ftree-vectorizer-verbose=
1043 Common RejectNegative Joined
1044 -ftree-vectorizer-verbose=<number>      Set the verbosity level of the vectorizer
1046 ; -fverbose-asm causes extra commentary information to be produced in
1047 ; the generated assembly code (to make it more readable).  This option
1048 ; is generally only of use to those who actually need to read the
1049 ; generated assembly code (perhaps while debugging the compiler itself).
1050 ; -fno-verbose-asm, the default, causes the extra information
1051 ; to not be added and is useful when comparing two assembler files.
1052 fverbose-asm
1053 Common Report Var(flag_verbose_asm)
1054 Add extra commentary to assembler output
1056 fvisibility=
1057 Common Joined RejectNegative
1058 -fvisibility=[default|internal|hidden|protected]        Set the default symbol visibility
1061 fvpt
1062 Common Report Var(flag_value_profile_transformations)
1063 Use expression value profiles in optimizations
1065 fweb
1066 Common Report Var(flag_web) Init(2)
1067 Construct webs and split unrelated uses of single variable
1069 fwhole-program
1070 Common Report Var(flag_whole_program) Init(0)
1071 Perform whole program optimizations
1073 fwrapv
1074 Common Report Var(flag_wrapv)
1075 Assume signed arithmetic overflow wraps around
1077 fzero-initialized-in-bss
1078 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1079 Put zero initialized data in the bss section
1082 Common JoinedOrMissing
1083 Generate debug information in default format
1085 gcoff
1086 Common JoinedOrMissing
1087 Generate debug information in COFF format
1089 gdwarf-2
1090 Common JoinedOrMissing
1091 Generate debug information in DWARF v2 format
1093 ggdb
1094 Common JoinedOrMissing
1095 Generate debug information in default extended format
1097 gstabs
1098 Common JoinedOrMissing
1099 Generate debug information in STABS format
1101 gstabs+
1102 Common JoinedOrMissing
1103 Generate debug information in extended STABS format
1105 gvms
1106 Common JoinedOrMissing
1107 Generate debug information in VMS format
1109 gxcoff
1110 Common JoinedOrMissing
1111 Generate debug information in XCOFF format
1113 gxcoff+
1114 Common JoinedOrMissing
1115 Generate debug information in extended XCOFF format
1118 Common Joined Separate
1119 -o <file>       Place output into <file>
1122 Common Var(profile_flag)
1123 Enable function profiling
1125 pedantic
1126 Common Var(pedantic)
1127 Issue warnings needed for strict compliance to the standard
1129 pedantic-errors
1130 Common
1131 Like -pedantic but issue them as errors
1133 quiet
1134 Common Var(quiet_flag)
1135 Do not display functions compiled or elapsed time
1137 version
1138 Common Var(version_flag)
1139 Display the compiler's version
1142 Common Var(inhibit_warnings)
1143 Suppress warnings
1145 ; This comment is to ensure we retain the blank line above.