1 ; Options for the language- and target-independent parts of the compiler.
3 ; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 ; Free Software Foundation, Inc.
6 ; This file is part of GCC.
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
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
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/>.
22 ; See the GCC internals manual (options.texi) for a description of this file's format.
24 ; Please try to keep this file in ASCII collating order.
35 ; 0 means straightforward implementation of complex divide acceptable.
36 ; 1 means wide ranges of inputs must work for complex divide.
37 ; 2 means C99-like requirements for complex multiply and divide.
39 int flag_complex_method = 1
41 ; Nonzero if subexpressions must be evaluated from left-to-right.
43 int flag_evaluation_order = 0
45 ; Set the default region and algorithm for the integrated register
49 enum ira_algorithm flag_ira_algorithm = IRA_ALGORITHM_CB
52 enum ira_region flag_ira_region = IRA_REGION_MIXED
54 ; Language specific warning pass for unused results.
56 bool flag_warn_unused_result = false
68 Driver Alias(coverage)
74 Common Separate Alias(d)
77 Common Joined Alias(d)
80 Common Separate Alias(dumpbase)
83 Common Separate Alias(dumpdir)
86 Driver Separate Alias(e)
89 Driver Joined Alias(e)
92 Common Warning Alias(Wextra)
95 Driver Separate Alias(Xassembler)
98 Driver JoinedOrMissing Alias(Xassembler)
101 Driver Separate Alias(Xlinker)
104 Driver JoinedOrMissing Alias(Xlinker)
107 Driver Separate Alias(u)
110 Driver Joined Alias(u)
113 Common Driver Var(help_flag)
114 Display this information
117 Common Driver Report Joined
118 --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
121 Driver Separate Alias(x)
124 Driver Joined Alias(x)
127 Driver Separate Alias(L)
130 Driver Joined Alias(L)
132 -no-canonical-prefixes
133 Driver Alias(no-canonical-prefixes)
135 -no-standard-libraries
136 Driver Alias(nostdlib)
145 Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
148 Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
151 Driver Alias(pass-exit-codes)
154 Common Alias(pedantic)
157 Common Alias(pedantic-errors)
166 Driver Separate Alias(B)
169 Driver JoinedOrMissing Alias(B)
175 Driver Separate Alias(print-file-name=)
178 Driver JoinedOrMissing Alias(print-file-name=)
180 -print-libgcc-file-name
181 Driver Alias(print-libgcc-file-name)
183 -print-multi-directory
184 Driver Alias(print-multi-directory)
187 Driver Alias(print-multi-lib)
189 -print-multi-os-directory
190 Driver Alias(print-multi-os-directory)
193 Driver Separate Alias(print-prog-name=)
196 Driver JoinedOrMissing Alias(print-prog-name=)
199 Driver Alias(print-search-dirs)
202 Driver Alias(print-sysroot)
204 -print-sysroot-headers-suffix
205 Driver Alias(print-sysroot-headers-suffix)
211 Driver Alias(save-temps)
217 Driver Separate Alias(specs=)
220 Driver Joined Alias(specs=)
226 Driver Alias(symbolic)
230 Alias for --help=target
238 ;; The driver used to convert options such as --help into forms such
239 ;; as -fhelp; the following four entries are for compatibility with
240 ;; any direct uses of those (undocumented) -f forms
242 Common Driver Alias(-help)
245 Common Driver Joined Alias(-help=)
248 Common Driver Alias(-target-help)
251 Common Driver Alias(-version)
255 --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
258 Common Joined Alias(-param)
261 Driver Separate Alias(-sysroot=)
264 Driver JoinedOrMissing
270 Driver Joined Separate
276 Driver Joined Separate
279 Common JoinedOrMissing Optimization
280 -O<number> Set optimization level to <number>
284 Optimize for space rather than speed
288 Optimize for speed disregarding exact standards compliance
294 Common RejectNegative Warning Alias(Wextra)
295 This switch is deprecated; use -Wextra instead
298 Driver JoinedOrMissing
301 Driver JoinedOrMissing
304 Driver JoinedOrMissing
307 Common Var(warn_aggregate_return) Warning
308 Warn about returning structures, unions or arrays
311 Common Var(warn_array_bounds) Warning
312 Warn if an array is accessed out of bounds
315 Common Var(warn_attributes) Init(1) Warning
316 Warn about inappropriate attribute usage
319 Common Var(warn_cast_align) Warning
320 Warn about pointer casts which increase alignment
323 Common Var(warn_cpp) Init(1) Warning
324 Warn when a #warning directive is encountered
326 Wdeprecated-declarations
327 Common Var(warn_deprecated_decl) Init(1) Warning
328 Warn about uses of __attribute__((deprecated)) declarations
330 Wdisabled-optimization
331 Common Var(warn_disabled_optimization) Warning
332 Warn when an optimization pass is disabled
335 Common Var(warnings_are_errors)
336 Treat all warnings as errors
340 Treat specified warning as error
343 Common Var(extra_warnings) Warning
344 Print extra (possibly unwanted) warnings
347 Common Var(flag_fatal_errors)
348 Exit on the first error occurred
351 Common RejectNegative Joined UInteger
352 -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
355 Common Var(warn_inline) Warning
356 Warn when an inlined function cannot be inlined
359 Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
362 Common RejectNegative Joined UInteger Warning
363 -Wlarger-than=<number> Warn if an object is larger than <number> bytes
365 Wunsafe-loop-optimizations
366 Common Var(warn_unsafe_loop_optimizations) Warning
367 Warn if the loop cannot be optimized due to nontrivial assumptions.
370 Common Var(warn_missing_noreturn) Warning
371 Warn about functions which might be candidates for __attribute__((noreturn))
374 Common Var(warn_mudflap) Init(1) Warning
375 Warn about constructs not instrumented by -fmudflap
378 Common Var(warn_overflow) Init(1) Warning
379 Warn about overflow in arithmetic expressions
382 Common Var(warn_packed) Warning
383 Warn when the packed attribute has no effect on struct layout
386 Common Var(warn_padded) Warning
387 Warn when padding is required to align structure members
390 Common Var(warn_shadow) Warning
391 Warn when one local variable shadows another
394 Common Var(warn_stack_protect) Warning
395 Warn when not issuing stack smashing protection for some reason
399 Warn about code which might break strict aliasing rules
402 Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
403 Warn about code which might break strict aliasing rules
407 Warn about optimizations that assume that signed overflow is undefined
410 Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
411 Warn about optimizations that assume that signed overflow is undefined
413 Wsuggest-attribute=const
414 Common Var(warn_suggest_attribute_const) Warning
415 Warn about functions which might be candidates for __attribute__((const))
417 Wsuggest-attribute=pure
418 Common Var(warn_suggest_attribute_pure) Warning
419 Warn about functions which might be candidates for __attribute__((pure))
421 Wsuggest-attribute=noreturn
422 Common Var(warn_suggest_attribute_noreturn) Warning
423 Warn about functions which might be candidates for __attribute__((noreturn))
426 Common Var(warn_switch) Warning
427 Warn about enumerated switches, with no default, missing a case
430 Common Var(warn_switch_default) Warning
431 Warn about enumerated switches missing a \"default:\" statement
434 Common Var(warn_switch_enum) Warning
435 Warn about all enumerated switches missing a specific case
438 Common Var(warn_system_headers) Warning
439 Do not suppress warnings from system headers
442 Common Var(warn_trampolines) Warning
443 Warn whenever a trampoline is generated
446 Common Var(warn_type_limits) Init(-1) Warning
447 Warn if a comparison is always true or always false due to the limited range of the data type
450 Common Var(warn_uninitialized) Init(-1) Warning
451 Warn about uninitialized automatic variables
455 Does nothing. Preserved for backward compatibility.
458 Common Var(warn_unused) Init(0) Warning
459 Enable all -Wunused- warnings
461 Wunused-but-set-parameter
462 Common Var(warn_unused_but_set_parameter) Init(-1) Warning
463 Warn when a function parameter is only set, otherwise unused
465 Wunused-but-set-variable
466 Common Var(warn_unused_but_set_variable) Init(-1) Warning
467 Warn when a variable is only set, otherwise unused
470 Common Var(warn_unused_function) Init(-1) Warning
471 Warn when a function is unused
474 Common Var(warn_unused_label) Init(-1) Warning
475 Warn when a label is unused
478 Common Var(warn_unused_parameter) Init(-1) Warning
479 Warn when a function parameter is unused
482 Common Var(warn_unused_value) Init(-1) Warning
483 Warn when an expression value is unused
486 Common Var(warn_unused_variable) Init(-1) Warning
487 Warn when a variable is unused
490 Common Var(warn_coverage_mismatch) Init(1) Warning
491 Warn in case profiles in -fprofile-use do not match
504 -aux-info <file> Emit declaration information into <file>
507 Common Joined Alias(aux-info)
510 Common Separate RejectDriver
513 Common Separate RejectDriver
523 -d<letters> Enable dumps from specific passes of the compiler
527 -dumpbase <file> Set the file basename to be used for dumps
531 -dumpdir <dir> Set the directory name to be used for dumps
543 Driver Joined Separate
545 ; The version of the C++ ABI in use. The following values are allowed:
547 ; 0: The version of the ABI believed most conformant with the C++ ABI
548 ; specification. This ABI may change as bugs are discovered and fixed.
549 ; Therefore, 0 will not necessarily indicate the same ABI in different
552 ; 1: The version of the ABI first used in G++ 3.2.
554 ; 2: The version of the ABI first used in G++ 3.4 (and current default).
556 ; 3: The version of the ABI that fixes the missing underscore
557 ; in template non-type arguments of pointer type.
559 ; 4: The version of the ABI that introduces unambiguous mangling of
562 ; Additional positive integers will be assigned as new versions of
563 ; the ABI become the default version of the ABI.
565 Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
568 Common Report Var(align_functions,0) Optimization UInteger
569 Align the start of functions
572 Common RejectNegative Joined UInteger
575 Common Report Var(align_jumps,0) Optimization UInteger
576 Align labels which are only reached by jumping
579 Common RejectNegative Joined UInteger
582 Common Report Var(align_labels,0) Optimization UInteger
586 Common RejectNegative Joined UInteger
589 Common Report Var(align_loops) Optimization UInteger
590 Align the start of loops
593 Common RejectNegative Joined UInteger
597 Does nothing. Preserved for backward compatibility.
601 Does nothing. Preserved for backward compatibility.
603 fargument-noalias-global
605 Does nothing. Preserved for backward compatibility.
607 fargument-noalias-anything
609 Does nothing. Preserved for backward compatibility.
611 fasynchronous-unwind-tables
612 Common Report Var(flag_asynchronous_unwind_tables) Optimization
613 Generate unwind tables that are exact at each instruction boundary
616 Common Report Var(flag_auto_inc_dec) Init(1)
617 Generate auto-inc/dec instructions
619 ; -fcheck-bounds causes gcc to generate array bounds checks.
620 ; For C, C++ and ObjC: defaults off.
621 ; For Java: defaults to on.
622 ; For Fortran: defaults to off.
624 Common Report Var(flag_bounds_check)
625 Generate code to check bounds before indexing arrays
628 Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
629 Replace add, compare, branch with branch on count register
631 fbranch-probabilities
632 Common Report Var(flag_branch_probabilities) Optimization
633 Use profiling information for branch probabilities
635 fbranch-target-load-optimize
636 Common Report Var(flag_branch_target_load_optimize) Optimization
637 Perform branch target load optimization before prologue / epilogue threading
639 fbranch-target-load-optimize2
640 Common Report Var(flag_branch_target_load_optimize2) Optimization
641 Perform branch target load optimization after prologue / epilogue threading
644 Common Report Var(flag_btr_bb_exclusive) Optimization
645 Restrict target load migration not to re-use registers in any basic block
648 Common Joined RejectNegative
649 -fcall-saved-<register> Mark <register> as being preserved across functions
652 Common Joined RejectNegative
653 -fcall-used-<register> Mark <register> as being corrupted by function calls
655 ; Nonzero for -fcaller-saves: allocate values in regs that need to
656 ; be saved across function calls, if that produces overall better code.
657 ; Optional now, so people can test it.
659 Common Report Var(flag_caller_saves) Optimization
660 Save registers around function calls
663 Common Report Var(flag_check_data_deps)
664 Compare the results of several data dependence analyzers.
666 fcombine-stack-adjustments
667 Common Report Var(flag_combine_stack_adjustments) Optimization
668 Looks for opportunities to reduce stack adjustments and stack references.
671 Common Report Var(flag_no_common,0) Optimization
672 Do not put uninitialized globals in the common section
676 ; Converted by the driver to -fcompare-debug= options.
679 Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
680 -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
682 fcompare-debug-second
683 Common Driver RejectNegative
684 Run only the second compilation of -fcompare-debug
687 Common Var(flag_conserve_stack) Optimization
688 Do not perform optimizations increasing noticeably stack usage
691 Common Report Var(flag_cprop_registers) Optimization
692 Perform a register copy-propagation optimization pass
695 Common Report Var(flag_crossjumping) Optimization
696 Perform cross-jumping optimization
699 Common Report Var(flag_cse_follow_jumps) Optimization
700 When running CSE, follow jumps to their targets
704 Does nothing. Preserved for backward compatibility.
707 Common Report Var(flag_cx_limited_range) Optimization
708 Omit range reduction step when performing complex division
711 Common Report Var(flag_cx_fortran_rules) Optimization
712 Complex multiplication and division follow Fortran rules
715 Common Report Var(flag_data_sections) Optimization
716 Place data items into their own section
720 List all available debugging counters with their limits and counts.
723 Common RejectNegative Joined
724 -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
727 Common Joined RejectNegative
728 Map one directory name to another in debug information
730 ; Nonzero for -fdefer-pop: don't pop args after each function call
731 ; instead save them up to pop many calls' args with one insns.
733 Common Report Var(flag_defer_pop) Optimization
734 Defer popping functions args from stack until later
737 Common Report Var(flag_delayed_branch) Optimization
738 Attempt to fill delay slots of branch instructions
740 fdelete-null-pointer-checks
741 Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
742 Delete useless null pointer checks
744 fdiagnostics-show-location=
745 Common Joined RejectNegative
746 -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
748 fdiagnostics-show-option
749 Common Var(flag_diagnostics_show_option) Init(1)
750 Amend appropriate diagnostic messages with the command line option that controls them
753 Common Joined RejectNegative
754 -fdump-<type> Dump various compiler internals to a file
757 Driver RejectNegative
760 Common RejectNegative Joined Var(flag_dump_final_insns)
761 -fdump-final-insns=filename Dump to filename the insns at the end of translation
764 Common Report Var(flag_dump_noaddr)
765 Suppress output of addresses in debugging dumps
768 Common Report Var(flag_dump_unnumbered)
769 Suppress output of instruction numbers, line number notes and addresses in debugging dumps
771 fdump-unnumbered-links
772 Common Report Var(flag_dump_unnumbered_links)
773 Suppress output of previous and next insn numbers in debugging dumps
776 Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
777 Enable CFI tables via GAS assembler directives.
780 Common Report Var(flag_early_inlining) Init(1) Optimization
781 Perform early inlining
783 feliminate-dwarf2-dups
784 Common Report Var(flag_eliminate_dwarf2_dups)
785 Perform DWARF2 duplicate elimination
788 Common Report Var(flag_ipa_sra) Init(0) Optimization
789 Perform interprocedural reduction of aggregates
791 feliminate-unused-debug-symbols
792 Common Report Var(flag_debug_only_used_symbols)
793 Perform unused type elimination in debug info
795 feliminate-unused-debug-types
796 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
797 Perform unused type elimination in debug info
799 femit-class-debug-always
800 Common Report Var(flag_emit_class_debug_always) Init(0)
801 Do not suppress C++ class debug information.
804 Common Report Var(flag_enable_icf_debug)
805 Generate debug information to support Identical Code Folding (ICF)
808 Common Report Var(flag_exceptions) Optimization
809 Enable exception handling
811 fexpensive-optimizations
812 Common Report Var(flag_expensive_optimizations) Optimization
813 Perform a number of minor, expensive optimizations
816 Common Joined RejectNegative
817 -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision
823 Common Report Var(flag_finite_math_only) Optimization
824 Assume no NaNs or infinities are generated
827 Common Joined RejectNegative
828 -ffixed-<register> Mark <register> as being unavailable to the compiler
831 Common Report Var(flag_float_store) Optimization
832 Don't allocate floats and doubles in extended-precision registers
836 Does nothing. Preserved for backward compatibility.
839 Common Report Var(flag_forward_propagate) Optimization
840 Perform a forward propagation pass on RTL
842 ; Nonzero means don't put addresses of constant functions in registers.
843 ; Used for compiling the Unix kernel, where strange substitutions are
844 ; done on the assembly output.
846 Common Report Var(flag_no_function_cse,0)
847 Allow function addresses to be held in registers
850 Common Report Var(flag_function_sections)
851 Place each function into its own section
854 Common Report Var(flag_gcse) Optimization
855 Perform global common subexpression elimination
858 Common Report Var(flag_gcse_lm) Init(1) Optimization
859 Perform enhanced load motion during global common subexpression elimination
862 Common Report Var(flag_gcse_sm) Init(0) Optimization
863 Perform store motion after global common subexpression elimination
866 Common Report Var(flag_gcse_las) Init(0) Optimization
867 Perform redundant load after store elimination in global common subexpression
871 Common Report Var(flag_gcse_after_reload) Optimization
872 Perform global common subexpression elimination after register allocation
875 ; This option is not documented yet as its semantics will change.
877 Common Report Var(flag_graphite)
878 Enable in and out of Graphite representation
881 Common Report Var(flag_graphite_identity) Optimization
882 Enable Graphite Identity transformation
884 floop-parallelize-all
885 Common Report Var(flag_loop_parallelize_all) Optimization
886 Mark all loops as parallel
889 Common Report Var(flag_loop_strip_mine) Optimization
890 Enable Loop Strip Mining transformation
893 Common Report Var(flag_loop_interchange) Optimization
894 Enable Loop Interchange transformation
897 Common Report Var(flag_loop_block) Optimization
898 Enable Loop Blocking transformation
901 Common Report Var(flag_loop_flatten) Optimization
902 Enable Loop Flattening transformation
904 fstrict-volatile-bitfields
905 Common Report Var(flag_strict_volatile_bitfields) Init(-1)
906 Force bitfield accesses to match their type width
908 fguess-branch-probability
909 Common Report Var(flag_guess_branch_prob) Optimization
910 Enable guessing of branch probabilities
912 ; Nonzero means ignore `#ident' directives. 0 means handle them.
913 ; Generate position-independent code for executables if possible
914 ; On SVR4 targets, it also controls whether or not to emit a
915 ; string identifying the compiler.
917 Common Report Var(flag_no_ident,0)
918 Process #ident directives
921 Common Report Var(flag_if_conversion) Optimization
922 Perform conversion of conditional jumps to branchless equivalents
925 Common Report Var(flag_if_conversion2) Optimization
926 Perform conversion of conditional jumps to conditional execution
928 ftree-loop-if-convert
929 Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
930 Convert conditional jumps in innermost loops to branchless equivalents
932 ftree-loop-if-convert-stores
933 Common Report Var(flag_tree_loop_if_convert_stores) Optimization
934 Also if-convert conditional jumps containing memory writes
936 ; -finhibit-size-directive inhibits output of .size for ELF.
937 ; This is used only for compiling crtstuff.c,
938 ; and it may be extended to other effects
939 ; needed for crtstuff.c on other systems.
940 finhibit-size-directive
941 Common Report Var(flag_inhibit_size_directive)
942 Do not generate .size directives
945 Common Report Var(flag_indirect_inlining)
946 Perform indirect inlining
948 ; Nonzero means that functions declared `inline' will be treated
949 ; as `static'. Prevents generation of zillions of copies of unused
950 ; static inline functions; instead, `inlines' are written out
951 ; only when actually used. Used in conjunction with -g. Also
952 ; does the right thing with #pragma interface.
954 Common Report Var(flag_no_inline,0) Init(0)
955 Pay attention to the \"inline\" keyword
957 finline-small-functions
958 Common Report Var(flag_inline_small_functions) Optimization
959 Integrate simple functions into their callers when code size is known to not growth
962 Common Report Var(flag_inline_functions) Optimization
963 Integrate simple functions into their callers
965 finline-functions-called-once
966 Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
967 Integrate functions called once into their callers
970 Common RejectNegative Joined Alias(finline-limit=)
973 Common RejectNegative Joined UInteger
974 -finline-limit=<number> Limit the size of inlined functions to <number>
976 finstrument-functions
977 Common Report Var(flag_instrument_function_entry_exit)
978 Instrument function entry and exit with profiling calls
980 finstrument-functions-exclude-function-list=
981 Common RejectNegative Joined
982 -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions
984 finstrument-functions-exclude-file-list=
985 Common RejectNegative Joined
986 -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files
989 Common Report Var(flag_ipa_cp) Optimization
990 Perform Interprocedural constant propagation
993 Common Report Var(flag_ipa_cp_clone) Optimization
994 Perform cloning to make Interprocedural constant propagation stronger
997 Common Report Var(flag_ipa_profile) Init(0) Optimization
998 Perform interprocedural profile propagation
1001 Common Report Var(flag_ipa_pta) Init(0) Optimization
1002 Perform interprocedural points-to analysis
1005 Common Report Var(flag_ipa_pure_const) Init(0) Optimization
1006 Discover pure and const functions
1009 Common Report Var(flag_ipa_reference) Init(0) Optimization
1010 Discover readonly and non addressable static variables
1013 Common Report Var(flag_ipa_matrix_reorg) Optimization
1014 Perform matrix layout flattening and transposing based
1015 on profiling information.
1018 Common Report Var(flag_ipa_struct_reorg)
1019 Perform structure layout optimizations based
1020 on profiling information.
1023 Common Joined RejectNegative
1024 -fira-algorithm=[CB|priority] Set the used IRA algorithm
1027 Common Joined RejectNegative
1028 -fira-region=[one|all|mixed] Set regions for IRA
1031 Common Report Var(flag_ira_loop_pressure)
1032 Use IRA based register pressure calculation
1033 in RTL loop optimizations.
1035 fira-share-save-slots
1036 Common Report Var(flag_ira_share_save_slots) Init(1)
1037 Share slots for saving different hard registers.
1039 fira-share-spill-slots
1040 Common Report Var(flag_ira_share_spill_slots) Init(1)
1041 Share stack slots for spilled pseudo-registers.
1044 Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1045 -fira-verbose=<number> Control IRA's level of diagnostic messages.
1048 Common Report Var(flag_ivopts) Init(1) Optimization
1049 Optimize induction variables on trees
1052 Common Var(flag_jump_tables) Init(1) Optimization
1053 Use jump tables for sufficiently large switch statements
1055 fkeep-inline-functions
1056 Common Report Var(flag_keep_inline_functions)
1057 Generate code for functions even if they are fully inlined
1060 Common Report Var(flag_keep_static_consts) Init(1)
1061 Emit static const variables even if they are not used
1064 Common Report Var(flag_leading_underscore) Init(-1)
1065 Give external symbols a leading underscore
1069 Does nothing. Preserved for backward compatibility.
1072 Common Var(flag_lto)
1073 Enable link-time optimization.
1076 Common Var(flag_lto_partition_1to1)
1077 Partition functions and vars at linktime based on object files they originate from
1079 flto-partition=balanced
1080 Common Var(flag_lto_partition_balanced)
1081 Partition functions and vars at linktime into approximately same sized buckets
1083 ; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1084 flto-compression-level=
1085 Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1086 -flto-compression-level=<number> Use zlib compression level <number> for IL
1089 Common Report Var(flag_lto_report) Init(0) Optimization
1090 Report various link-time optimization statistics
1093 Common Report Var(flag_errno_math) Init(1) Optimization
1094 Set errno after built-in math functions
1097 Common Report Var(mem_report)
1098 Report on permanent memory allocation
1100 ; This will attempt to merge constant section constants, if 1 only
1101 ; string constants and constants from constant pool, if 2 also constant
1103 fmerge-all-constants
1104 Common Report Var(flag_merge_constants,2) Init(1) Optimization
1105 Attempt to merge identical constants and constant variables
1108 Common Report Var(flag_merge_constants,1) Optimization
1109 Attempt to merge identical constants across compilation units
1111 fmerge-debug-strings
1112 Common Report Var(flag_merge_debug_strings) Init(1)
1113 Attempt to merge identical debug strings across compilation units
1116 Common RejectNegative Joined UInteger
1117 -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
1120 Common Report Var(flag_modulo_sched) Optimization
1121 Perform SMS based modulo scheduling before the first scheduling pass
1123 fmodulo-sched-allow-regmoves
1124 Common Report Var(flag_modulo_sched_allow_regmoves)
1125 Perform SMS based modulo scheduling with register moves allowed
1127 fmove-loop-invariants
1128 Common Report Var(flag_move_loop_invariants) Init(1) Optimization
1129 Move loop invariant computations out of loops
1132 Common RejectNegative Report Var(flag_mudflap)
1133 Add mudflap bounds-checking instrumentation for single-threaded program
1136 Common RejectNegative Report Var(flag_mudflap,2)
1137 Add mudflap bounds-checking instrumentation for multi-threaded program
1140 Common RejectNegative Report Var(flag_mudflap_ignore_reads)
1141 Ignore read operations when inserting mudflap instrumentation
1144 Common Var(flag_dce) Init(1) Optimization
1145 Use the RTL dead code elimination pass
1148 Common Var(flag_dse) Init(1) Optimization
1149 Use the RTL dead store elimination pass
1151 freschedule-modulo-scheduled-loops
1152 Common Report Var(flag_resched_modulo_sched) Optimization
1153 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
1155 fnon-call-exceptions
1156 Common Report Var(flag_non_call_exceptions) Optimization
1157 Support synchronous non-call exceptions
1160 Common Report Var(flag_omit_frame_pointer) Optimization
1161 When possible do not generate stack frames
1163 foptimize-register-move
1164 Common Report Var(flag_regmove) Optimization
1165 Do the full register move optimization pass
1167 foptimize-sibling-calls
1168 Common Report Var(flag_optimize_sibling_calls) Optimization
1169 Optimize sibling and tail recursive calls
1172 Common Report Var(flag_partial_inlining)
1173 Perform partial inlining
1176 Common Report Var(pre_ipa_mem_report)
1177 Report on memory allocation before interprocedural optimization
1179 fpost-ipa-mem-report
1180 Common Report Var(post_ipa_mem_report)
1181 Report on memory allocation before interprocedural optimization
1184 Common Report Var(flag_pack_struct) Optimization
1185 Pack structure members together without holes
1188 Common RejectNegative Joined UInteger Optimization
1189 -fpack-struct=<number> Set initial maximum structure member alignment
1192 Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1193 Return small aggregates in memory, not registers
1196 Common Report Var(flag_peel_loops) Optimization
1197 Perform loop peeling
1200 Common Report Var(flag_no_peephole,0) Optimization
1201 Enable machine specific peephole optimizations
1204 Common Report Var(flag_peephole2) Optimization
1205 Enable an RTL peephole pass before sched2
1208 Common Report Var(flag_pic,2)
1209 Generate position-independent code if possible (large mode)
1212 Common Report Var(flag_pie,2)
1213 Generate position-independent code for executables if possible (large mode)
1216 Common Report Var(flag_pic,1)
1217 Generate position-independent code if possible (small mode)
1220 Common Report Var(flag_pie,1)
1221 Generate position-independent code for executables if possible (small mode)
1224 Common Joined RejectNegative
1225 Specify a plugin to load
1228 Common Joined RejectNegative
1229 -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>
1231 fpredictive-commoning
1232 Common Report Var(flag_predictive_commoning) Optimization
1233 Run predictive commoning optimization.
1235 fprefetch-loop-arrays
1236 Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1237 Generate prefetch instructions, if available, for arrays in loops
1240 Common Report Var(profile_flag)
1241 Enable basic program profiling code
1244 Common Report Var(profile_arc_flag)
1245 Insert arc-based program profiling code
1248 Common Joined RejectNegative
1249 Set the top-level directory for storing the profile data.
1250 The default is 'pwd'.
1253 Common Report Var(flag_profile_correction)
1254 Enable correction of flow inconsistent profile data input
1258 Enable common options for generating profile info for profile feedback directed optimizations
1261 Common Joined RejectNegative
1262 Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1265 Common Var(flag_profile_use)
1266 Enable common options for performing profile feedback directed optimizations
1269 Common Joined RejectNegative
1270 Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1273 Common Report Var(flag_profile_values)
1274 Insert code to profile values of expressions
1280 Common Joined RejectNegative
1281 -frandom-seed=<string> Make compile reproducible using <string>
1283 ; This switch causes the command line that was used to create an
1284 ; object file to be recorded into the object file. The exact format
1285 ; of this recording is target and binary file format dependent.
1286 ; It is related to the -fverbose-asm switch, but that switch only
1287 ; records information in the assembler output file as comments, so
1288 ; they never reach the object file.
1289 frecord-gcc-switches
1290 Common Report Var(flag_record_gcc_switches)
1291 Record gcc command line switches in the object file.
1294 Common Report Var(flag_pcc_struct_return,0) Optimization
1295 Return small aggregates in registers
1298 Common Report Var(flag_regmove) Optimization
1299 Enables a register move optimization
1302 Common Report Var(flag_rename_registers) Init(2) Optimization
1303 Perform a register renaming optimization pass
1306 Common Report Var(flag_reorder_blocks) Optimization
1307 Reorder basic blocks to improve code placement
1309 freorder-blocks-and-partition
1310 Common Report Var(flag_reorder_blocks_and_partition) Optimization
1311 Reorder basic blocks and partition into hot and cold sections
1314 Common Report Var(flag_reorder_functions) Optimization
1315 Reorder functions to improve code placement
1317 frerun-cse-after-loop
1318 Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
1319 Add a common subexpression elimination pass after loop optimizations
1323 Does nothing. Preserved for backward compatibility.
1326 Common Report Var(flag_rounding_math) Optimization
1327 Disable optimizations that assume default FP rounding behavior
1330 Common Report Var(flag_schedule_interblock) Init(1) Optimization
1331 Enable scheduling across basic blocks
1334 Common Report Var(flag_sched_pressure) Init(0) Optimization
1335 Enable register pressure sensitive insn scheduling
1338 Common Report Var(flag_schedule_speculative) Init(1) Optimization
1339 Allow speculative motion of non-loads
1342 Common Report Var(flag_schedule_speculative_load) Optimization
1343 Allow speculative motion of some loads
1345 fsched-spec-load-dangerous
1346 Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1347 Allow speculative motion of more loads
1350 Common RejectNegative Joined
1351 -fsched-verbose=<number> Set the verbosity level of the scheduler
1353 fsched2-use-superblocks
1354 Common Report Var(flag_sched2_use_superblocks) Optimization
1355 If scheduling post reload, do superblock scheduling
1359 Does nothing. Preserved for backward compatibility.
1362 Common Report Var(flag_schedule_insns) Optimization
1363 Reschedule instructions before register allocation
1366 Common Report Var(flag_schedule_insns_after_reload) Optimization
1367 Reschedule instructions after register allocation
1369 ; This flag should be on when a target implements non-trivial
1370 ; scheduling hooks, maybe saving some information for its own sake.
1371 ; On IA64, for example, this is used for correct bundling.
1372 fselective-scheduling
1373 Common Report Var(flag_selective_scheduling) Optimization
1374 Schedule instructions using selective scheduling algorithm
1376 fselective-scheduling2
1377 Common Report Var(flag_selective_scheduling2) Optimization
1378 Run selective scheduling after reload
1380 fsel-sched-pipelining
1381 Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1382 Perform software pipelining of inner loops during selective scheduling
1384 fsel-sched-pipelining-outer-loops
1385 Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1386 Perform software pipelining of outer loops during selective scheduling
1388 fsel-sched-reschedule-pipelined
1389 Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1390 Reschedule pipelined regions without pipelining
1392 ; sched_stalled_insns means that insns can be moved prematurely from the queue
1393 ; of stalled insns into the ready list.
1394 fsched-stalled-insns
1395 Common Report Var(flag_sched_stalled_insns) Optimization UInteger
1396 Allow premature scheduling of queued insns
1398 fsched-stalled-insns=
1399 Common RejectNegative Joined UInteger
1400 -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
1402 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
1403 ; be examined for a dependency on a stalled insn that is candidate for
1404 ; premature removal from the queue of stalled insns into the ready list (has
1405 ; an effect only if the flag 'sched_stalled_insns' is set).
1406 fsched-stalled-insns-dep
1407 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1408 Set dependence distance checking in premature scheduling of queued insns
1410 fsched-stalled-insns-dep=
1411 Common RejectNegative Joined UInteger
1412 -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
1414 fsched-group-heuristic
1415 Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1416 Enable the group heuristic in the scheduler
1418 fsched-critical-path-heuristic
1419 Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1420 Enable the critical path heuristic in the scheduler
1422 fsched-spec-insn-heuristic
1423 Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1424 Enable the speculative instruction heuristic in the scheduler
1426 fsched-rank-heuristic
1427 Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1428 Enable the rank heuristic in the scheduler
1430 fsched-last-insn-heuristic
1431 Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1432 Enable the last instruction heuristic in the scheduler
1434 fsched-dep-count-heuristic
1435 Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1436 Enable the dependent count heuristic in the scheduler
1439 Common Report Var(flag_section_anchors) Optimization
1440 Access data in the same section from shared anchor points
1444 Does nothing. Preserved for backward compatibility.
1447 Common Report Var(flag_zee) Init(0)
1448 Eliminate redundant zero extensions on targets that support implicit extensions.
1451 Common Report Var(flag_show_column) Init(1)
1452 Show column numbers in diagnostics, when available. Default on
1455 Common Report Var(flag_signaling_nans) Optimization
1456 Disable optimizations observable by IEEE signaling NaNs
1459 Common Report Var(flag_signed_zeros) Init(1) Optimization
1460 Disable floating point optimizations that ignore the IEEE signedness of zero
1462 fsingle-precision-constant
1463 Common Report Var(flag_single_precision_constant) Optimization
1464 Convert floating point constants to single precision constants
1466 fsplit-ivs-in-unroller
1467 Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1468 Split lifetimes of induction variables when loops are unrolled
1471 Common Report Var(flag_split_stack) Init(-1)
1472 Generate discontiguous stack frames
1475 Common Report Var(flag_split_wide_types) Optimization
1476 Split wide types into independent registers
1478 fvariable-expansion-in-unroller
1479 Common Report Var(flag_variable_expansion_in_unroller) Optimization
1480 Apply variable expansion when loops are unrolled
1483 Common Report RejectNegative Joined
1484 -fstack-check=[no|generic|specific] Insert stack checking code into the program
1487 Common Alias(fstack-check=, specific, no)
1488 Insert stack checking code into the program. Same as -fstack-check=specific
1493 fstack-limit-register=
1494 Common RejectNegative Joined
1495 -fstack-limit-register=<register> Trap if the stack goes past <register>
1497 fstack-limit-symbol=
1498 Common RejectNegative Joined
1499 -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
1502 Common Report Var(flag_stack_protect, 1)
1503 Use propolice as a stack protection method
1505 fstack-protector-all
1506 Common Report RejectNegative Var(flag_stack_protect, 2)
1507 Use a stack protection method for every function
1510 Common RejectNegative Var(flag_stack_usage)
1511 Output stack usage information on a per-function basis
1515 Does nothing. Preserved for backward compatibility.
1517 ; Nonzero if we should do (language-dependent) alias analysis.
1518 ; Typically, this analysis will assume that expressions of certain
1519 ; types do not alias expressions of certain other types. Only used
1520 ; if alias analysis (in general) is enabled.
1522 Common Report Var(flag_strict_aliasing) Optimization
1523 Assume strict aliasing rules apply
1526 Common Report Var(flag_strict_overflow)
1527 Treat signed overflow as undefined
1530 Common Report Var(flag_syntax_only)
1531 Check for syntax errors, then stop
1534 Common Report Var(flag_test_coverage)
1535 Create data files needed by \"gcov\"
1538 Common Report Var(flag_thread_jumps) Optimization
1539 Perform jump threading optimizations
1542 Common Report Var(time_report)
1543 Report the time taken by each compiler pass
1546 Common Joined RejectNegative
1547 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
1550 Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1551 Reorder top level functions, variables, and asms
1554 Common Report Var(flag_tracer)
1555 Perform superblock formation via tail duplication
1557 ; Zero means that floating-point math operations cannot generate a
1558 ; (user-visible) trap. This is the case, for example, in nonstop
1559 ; IEEE 754 arithmetic.
1561 Common Report Var(flag_trapping_math) Init(1) Optimization
1562 Assume floating-point operations can trap
1565 Common Report Var(flag_trapv) Optimization
1566 Trap for signed overflow in addition, subtraction and multiplication
1569 Common Report Var(flag_tree_ccp) Optimization
1570 Enable SSA-CCP optimization on trees
1573 Common Report Var(flag_tree_bit_ccp) Optimization
1574 Enable SSA-BIT-CCP optimization on trees
1578 Does nothing. Preserved for backward compatibility.
1581 Common Report Var(flag_tree_ch) Optimization
1582 Enable loop header copying on trees
1585 Common Report Var(flag_tree_copyrename) Optimization
1586 Replace SSA temporaries with better names in copies
1589 Common Report Var(flag_tree_copy_prop) Optimization
1590 Enable copy propagation on trees
1592 ftree-store-copy-prop
1594 Does nothing. Preserved for backward compatibility.
1597 Common Report Var(flag_tree_cselim) Init(2) Optimization
1598 Transform condition stores into unconditional ones
1600 ftree-switch-conversion
1601 Common Report Var(flag_tree_switch_conversion) Optimization
1602 Perform conversions of switch initializations.
1605 Common Report Var(flag_tree_dce) Optimization
1606 Enable SSA dead code elimination optimization on trees
1608 ftree-dominator-opts
1609 Common Report Var(flag_tree_dom) Optimization
1610 Enable dominator optimizations
1613 Common Report Var(flag_tree_dse) Optimization
1614 Enable dead store elimination
1617 Common Report Var(flag_tree_forwprop) Init(1) Optimization
1618 Enable forward propagation on trees
1621 Common Report Var(flag_tree_fre) Optimization
1622 Enable Full Redundancy Elimination (FRE) on trees
1624 ftree-loop-distribution
1625 Common Report Var(flag_tree_loop_distribution) Optimization
1626 Enable loop distribution on trees
1628 ftree-loop-distribute-patterns
1629 Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1630 Enable loop distribution for patterns transformed into a library call
1633 Common Report Var(flag_tree_loop_im) Init(1) Optimization
1634 Enable loop invariant motion on trees
1637 Common Report Var(flag_tree_loop_linear) Optimization
1638 Enable linear loop transforms on trees
1641 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1642 Create canonical induction variables in loops
1645 Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1646 Enable loop optimizations on tree level
1648 ftree-parallelize-loops=
1649 Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
1650 Enable automatic parallelization of loops
1653 Common Report Var(flag_tree_phiprop) Init(1) Optimization
1654 Enable hoisting loads from conditional pointers.
1657 Common Report Var(flag_tree_pre) Optimization
1658 Enable SSA-PRE optimization on trees
1661 Common Report Var(flag_tree_pta) Init(1) Optimization
1662 Perform function-local points-to analysis on trees.
1665 Common Report Var(flag_tree_reassoc) Init(1) Optimization
1666 Enable reassociation on tree level
1670 Does nothing. Preserved for backward compatibility.
1673 Common Report Var(flag_tree_sink) Optimization
1674 Enable SSA code sinking on trees
1677 Common Report Var(flag_tree_sra) Optimization
1678 Perform scalar replacement of aggregates
1681 Common Report Var(flag_tree_ter) Init(1) Optimization
1682 Replace temporary expressions in the SSA->normal pass
1685 Common Report Var(flag_tree_live_range_split) Optimization
1686 Perform live range splitting during the SSA->normal pass
1689 Common Report Var(flag_tree_vrp) Init(0) Optimization
1690 Perform Value Range Propagation on trees
1693 Common Report Var(flag_unit_at_a_time) Init(1) Optimization
1694 Compile whole compilation unit at a time
1697 Common Report Var(flag_unroll_loops) Optimization
1698 Perform loop unrolling when iteration count is known
1701 Common Report Var(flag_unroll_all_loops) Optimization
1702 Perform loop unrolling for all loops
1704 ; Nonzero means that loop optimizer may assume that the induction variables
1705 ; that control loops do not overflow and that the loops with nontrivial
1706 ; exit condition are not infinite
1707 funsafe-loop-optimizations
1708 Common Report Var(flag_unsafe_loop_optimizations) Optimization
1709 Allow loop optimizations to assume that the loops behave in normal way
1712 Common Report Var(flag_associative_math)
1713 Allow optimization for floating-point arithmetic which may change the
1714 result of the operation due to rounding.
1717 Common Report Var(flag_reciprocal_math)
1718 Same as -fassociative-math for expressions which include division.
1720 ; Nonzero means that unsafe floating-point math optimizations are allowed
1721 ; for the sake of speed. IEEE compliance is not guaranteed, and operations
1722 ; are allowed to assume that their arguments and results are "normal"
1723 ; (e.g., nonnegative for SQRT).
1724 funsafe-math-optimizations
1725 Common Report Var(flag_unsafe_math_optimizations) Optimization
1726 Allow math optimizations that may violate IEEE or ISO standards
1729 Common Report Var(flag_unswitch_loops) Optimization
1730 Perform loop unswitching
1733 Common Report Var(flag_unwind_tables) Optimization
1734 Just generate unwind tables for exception handling
1739 ; Positive if we should track variables, negative if we should run
1740 ; the var-tracking pass only to discard debug annotations, zero if
1741 ; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
1742 ; will be set according to optimize, debug_info_level and debug_hooks
1743 ; in process_options ().
1745 Common Report Var(flag_var_tracking) Init(2) Optimization
1746 Perform variable tracking
1748 ; Positive if we should track variables at assignments, negative if
1749 ; we should run the var-tracking pass only to discard debug
1750 ; annotations. When flag_var_tracking_assignments ==
1751 ; AUTODETECT_VALUE it will be set according to flag_var_tracking.
1752 fvar-tracking-assignments
1753 Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
1754 Perform variable tracking by annotating assignments
1756 ; Nonzero if we should toggle flag_var_tracking_assignments after
1757 ; processing options and computing its default. */
1758 fvar-tracking-assignments-toggle
1759 Common Report Var(flag_var_tracking_assignments_toggle) Optimization
1760 Toggle -fvar-tracking-assignments
1762 fvar-tracking-uninit
1763 Common Report Var(flag_var_tracking_uninit) Optimization
1764 Perform variable tracking and also tag variables that are uninitialized
1767 Common Report Var(flag_tree_vectorize) Optimization
1768 Enable loop vectorization on trees
1771 Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
1772 Enable basic block vectorization (SLP) on trees
1775 Common Report Var(flag_vect_cost_model) Optimization
1776 Enable use of cost model in vectorization
1778 ftree-vect-loop-version
1779 Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
1780 Enable loop versioning when doing loop vectorization on trees
1782 ftree-vectorizer-verbose=
1783 Common RejectNegative Joined
1784 -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
1787 Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
1788 Enable copy propagation of scalar-evolution information.
1790 ; -fverbose-asm causes extra commentary information to be produced in
1791 ; the generated assembly code (to make it more readable). This option
1792 ; is generally only of use to those who actually need to read the
1793 ; generated assembly code (perhaps while debugging the compiler itself).
1794 ; -fno-verbose-asm, the default, causes the extra information
1795 ; to not be added and is useful when comparing two assembler files.
1797 Common Report Var(flag_verbose_asm)
1798 Add extra commentary to assembler output
1801 Common Joined RejectNegative
1802 -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1806 Common Report Var(flag_value_profile_transformations) Optimization
1807 Use expression value profiles in optimizations
1810 Common Report Var(flag_web) Init(2) Optimization
1811 Construct webs and split unrelated uses of single variable
1815 Enable partitioned link-time optimization
1818 Common RejectNegative Joined Var(flag_whopr)
1819 Partitioned link-time optimization with number of parallel jobs or jobserver.
1821 ftree-builtin-call-dce
1822 Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
1823 Enable conditional dead code elimination for builtin calls
1826 Common Report Var(flag_whole_program) Init(0) Optimization
1827 Perform whole program optimizations
1830 Common Report Var(flag_wrapv) Optimization
1831 Assume signed arithmetic overflow wraps around
1833 fzero-initialized-in-bss
1834 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1835 Put zero initialized data in the bss section
1838 Common JoinedOrMissing
1839 Generate debug information in default format
1842 Common JoinedOrMissing Negative(gdwarf-)
1843 Generate debug information in COFF format
1846 Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
1847 Generate debug information in DWARF v2 (or later) format
1850 Common JoinedOrMissing
1851 Generate debug information in default extended format
1854 Common JoinedOrMissing Negative(gstabs+)
1855 Generate debug information in STABS format
1858 Common JoinedOrMissing Negative(gvms)
1859 Generate debug information in extended STABS format
1862 Common RejectNegative Var(dwarf_strict,0) Init(-1)
1863 Emit DWARF additions beyond selected version
1866 Common Report RejectNegative Var(dwarf_strict,1)
1867 Don't emit DWARF additions beyond selected version
1870 Common Report Var(flag_gtoggle)
1871 Toggle debug information generation
1874 Common JoinedOrMissing Negative(gxcoff)
1875 Generate debug information in VMS format
1878 Common JoinedOrMissing Negative(gxcoff+)
1879 Generate debug information in XCOFF format
1882 Common JoinedOrMissing Negative(gcoff)
1883 Generate debug information in extended XCOFF format
1886 Common Joined Var(plugindir_string) Init(0)
1887 -iplugindir=<dir> Set <dir> to be the default plugin directory
1890 Driver Joined Separate
1892 no-canonical-prefixes
1902 Common Driver Joined Separate MissingArgError(missing filename after %qs)
1903 -o <file> Place output into <file>
1906 Common Var(profile_flag)
1907 Enable function profiling
1910 Driver Var(pass_exit_codes)
1913 Common Var(pedantic)
1914 Issue warnings needed for strict compliance to the standard
1918 Like -pedantic but issue them as errors
1924 Driver Var(use_pipes)
1927 Driver JoinedOrMissing Var(print_file_name)
1929 print-libgcc-file-name
1932 print-multi-directory
1933 Driver Var(print_multi_directory)
1936 Driver Var(print_multi_lib)
1938 print-multi-os-directory
1939 Driver Var(print_multi_os_directory)
1942 Driver JoinedOrMissing Var(print_prog_name)
1945 Driver Var(print_search_dirs)
1948 Driver Var(print_sysroot)
1950 print-sysroot-headers-suffix
1951 Driver Var(print_sysroot_headers_suffix)
1954 Common Var(quiet_flag) RejectDriver
1955 Do not display functions compiled or elapsed time
1964 Driver Var(report_times)
1967 Driver JoinedOrMissing
1970 Driver Joined Separate
1974 ; C option, but driver must not handle as "-u ndef".
1980 Common Var(version_flag) RejectDriver
1981 Display the compiler's version
1984 Common Var(inhibit_warnings)
1988 Driver Separate Var(wrapper_string)
1991 Driver Joined Separate
1994 Common RejectNegative Negative(pie)
1995 Create a shared library
2001 Driver Separate Alias(specs=)
2014 ; Documented for Fortran, but always accepted by driver.
2023 Common RejectNegative Negative(shared)
2024 Create a position independent executable
2026 ; This comment is to ensure we retain the blank line above.