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
71 Driver Alias(coverage)
77 Common Separate Alias(d)
80 Common Joined Alias(d)
83 Common Separate Alias(dumpbase)
86 Common Separate Alias(dumpdir)
89 Driver Separate Alias(e)
92 Driver Joined Alias(e)
95 Common Warning Alias(Wextra)
98 Driver Separate Alias(Xassembler)
101 Driver JoinedOrMissing Alias(Xassembler)
104 Driver Separate Alias(Xlinker)
107 Driver JoinedOrMissing Alias(Xlinker)
110 Driver Separate Alias(u)
113 Driver Joined Alias(u)
116 Common Driver Var(help_flag)
117 Display this information
120 Common Driver Report Joined
121 --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
124 Driver Separate Alias(x)
127 Driver Joined Alias(x)
130 Driver Separate Alias(L)
133 Driver Joined Alias(L)
135 -no-canonical-prefixes
136 Driver Alias(no-canonical-prefixes)
138 -no-standard-libraries
139 Driver Alias(nostdlib)
148 Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
151 Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
154 Driver Alias(pass-exit-codes)
157 Common Alias(pedantic)
160 Common Alias(pedantic-errors)
169 Driver Separate Alias(B)
172 Driver JoinedOrMissing Alias(B)
178 Driver Separate Alias(print-file-name=)
181 Driver JoinedOrMissing Alias(print-file-name=)
183 -print-libgcc-file-name
184 Driver Alias(print-libgcc-file-name)
186 -print-multi-directory
187 Driver Alias(print-multi-directory)
190 Driver Alias(print-multi-lib)
192 -print-multi-os-directory
193 Driver Alias(print-multi-os-directory)
196 Driver Separate Alias(print-prog-name=)
199 Driver JoinedOrMissing Alias(print-prog-name=)
202 Driver Alias(print-search-dirs)
205 Driver Alias(print-sysroot)
207 -print-sysroot-headers-suffix
208 Driver Alias(print-sysroot-headers-suffix)
214 Driver Alias(save-temps)
220 Driver Separate Alias(specs=)
223 Driver Joined Alias(specs=)
229 Driver Alias(symbolic)
233 Alias for --help=target
241 ;; The driver used to convert options such as --help into forms such
242 ;; as -fhelp; the following four entries are for compatibility with
243 ;; any direct uses of those (undocumented) -f forms
245 Common Driver Alias(-help)
248 Common Driver Joined Alias(-help=)
251 Common Driver Alias(-target-help)
254 Common Driver Alias(-version)
258 --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
261 Common Joined Alias(-param)
264 Driver Separate Alias(-sysroot=)
267 Driver JoinedOrMissing
273 Driver Joined Separate
279 Driver Joined Separate
282 Common JoinedOrMissing Optimization
283 -O<number> Set optimization level to <number>
287 Optimize for space rather than speed
291 Optimize for speed disregarding exact standards compliance
297 Common RejectNegative Warning Alias(Wextra)
298 This switch is deprecated; use -Wextra instead
301 Driver JoinedOrMissing
304 Driver JoinedOrMissing
307 Driver JoinedOrMissing
310 Common Var(warn_aggregate_return) Warning
311 Warn about returning structures, unions or arrays
314 Common Var(warn_array_bounds) Warning
315 Warn if an array is accessed out of bounds
318 Common Var(warn_attributes) Init(1) Warning
319 Warn about inappropriate attribute usage
322 Common Var(warn_cast_align) Warning
323 Warn about pointer casts which increase alignment
326 Common Var(warn_cpp) Init(1) Warning
327 Warn when a #warning directive is encountered
329 Wdeprecated-declarations
330 Common Var(warn_deprecated_decl) Init(1) Warning
331 Warn about uses of __attribute__((deprecated)) declarations
333 Wdisabled-optimization
334 Common Var(warn_disabled_optimization) Warning
335 Warn when an optimization pass is disabled
338 Common Var(warnings_are_errors)
339 Treat all warnings as errors
343 Treat specified warning as error
346 Common Var(extra_warnings) Warning
347 Print extra (possibly unwanted) warnings
350 Common Var(flag_fatal_errors)
351 Exit on the first error occurred
354 Common RejectNegative Joined UInteger
355 -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
358 Common Var(warn_inline) Warning
359 Warn when an inlined function cannot be inlined
362 Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
365 Common RejectNegative Joined UInteger Warning
366 -Wlarger-than=<number> Warn if an object is larger than <number> bytes
368 Wunsafe-loop-optimizations
369 Common Var(warn_unsafe_loop_optimizations) Warning
370 Warn if the loop cannot be optimized due to nontrivial assumptions.
373 Common Var(warn_missing_noreturn) Warning
374 Warn about functions which might be candidates for __attribute__((noreturn))
377 Common Var(warn_mudflap) Init(1) Warning
378 Warn about constructs not instrumented by -fmudflap
381 Common Var(warn_overflow) Init(1) Warning
382 Warn about overflow in arithmetic expressions
385 Common Var(warn_packed) Warning
386 Warn when the packed attribute has no effect on struct layout
389 Common Var(warn_padded) Warning
390 Warn when padding is required to align structure members
393 Common Var(warn_shadow) Warning
394 Warn when one local variable shadows another
397 Common Var(warn_stack_protect) Warning
398 Warn when not issuing stack smashing protection for some reason
402 Warn about code which might break strict aliasing rules
405 Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
406 Warn about code which might break strict aliasing rules
410 Warn about optimizations that assume that signed overflow is undefined
413 Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
414 Warn about optimizations that assume that signed overflow is undefined
416 Wsuggest-attribute=const
417 Common Var(warn_suggest_attribute_const) Warning
418 Warn about functions which might be candidates for __attribute__((const))
420 Wsuggest-attribute=pure
421 Common Var(warn_suggest_attribute_pure) Warning
422 Warn about functions which might be candidates for __attribute__((pure))
424 Wsuggest-attribute=noreturn
425 Common Var(warn_suggest_attribute_noreturn) Warning
426 Warn about functions which might be candidates for __attribute__((noreturn))
429 Common Var(warn_switch) Warning
430 Warn about enumerated switches, with no default, missing a case
433 Common Var(warn_switch_default) Warning
434 Warn about enumerated switches missing a \"default:\" statement
437 Common Var(warn_switch_enum) Warning
438 Warn about all enumerated switches missing a specific case
441 Common Var(warn_system_headers) Warning
442 Do not suppress warnings from system headers
445 Common Var(warn_trampolines) Warning
446 Warn whenever a trampoline is generated
449 Common Var(warn_type_limits) Init(-1) Warning
450 Warn if a comparison is always true or always false due to the limited range of the data type
453 Common Var(warn_uninitialized) Init(-1) Warning
454 Warn about uninitialized automatic variables
458 Does nothing. Preserved for backward compatibility.
461 Common Var(warn_unused) Init(0) Warning
462 Enable all -Wunused- warnings
464 Wunused-but-set-parameter
465 Common Var(warn_unused_but_set_parameter) Init(-1) Warning
466 Warn when a function parameter is only set, otherwise unused
468 Wunused-but-set-variable
469 Common Var(warn_unused_but_set_variable) Init(-1) Warning
470 Warn when a variable is only set, otherwise unused
473 Common Var(warn_unused_function) Init(-1) Warning
474 Warn when a function is unused
477 Common Var(warn_unused_label) Init(-1) Warning
478 Warn when a label is unused
481 Common Var(warn_unused_parameter) Init(-1) Warning
482 Warn when a function parameter is unused
485 Common Var(warn_unused_value) Init(-1) Warning
486 Warn when an expression value is unused
489 Common Var(warn_unused_variable) Init(-1) Warning
490 Warn when a variable is unused
493 Common Var(warn_coverage_mismatch) Init(1) Warning
494 Warn in case profiles in -fprofile-use do not match
507 -aux-info <file> Emit declaration information into <file>
510 Common Joined Alias(aux-info)
513 Common Separate RejectDriver
516 Common Separate RejectDriver
526 -d<letters> Enable dumps from specific passes of the compiler
530 -dumpbase <file> Set the file basename to be used for dumps
534 -dumpdir <dir> Set the directory name to be used for dumps
546 Driver Joined Separate
548 ; The version of the C++ ABI in use. The following values are allowed:
550 ; 0: The version of the ABI believed most conformant with the C++ ABI
551 ; specification. This ABI may change as bugs are discovered and fixed.
552 ; Therefore, 0 will not necessarily indicate the same ABI in different
555 ; 1: The version of the ABI first used in G++ 3.2.
557 ; 2: The version of the ABI first used in G++ 3.4 (and current default).
559 ; 3: The version of the ABI that fixes the missing underscore
560 ; in template non-type arguments of pointer type.
562 ; 4: The version of the ABI that introduces unambiguous mangling of
565 ; Additional positive integers will be assigned as new versions of
566 ; the ABI become the default version of the ABI.
568 Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
571 Common Report Var(align_functions,0) Optimization UInteger
572 Align the start of functions
575 Common RejectNegative Joined UInteger
578 Common Report Var(align_jumps,0) Optimization UInteger
579 Align labels which are only reached by jumping
582 Common RejectNegative Joined UInteger
585 Common Report Var(align_labels,0) Optimization UInteger
589 Common RejectNegative Joined UInteger
592 Common Report Var(align_loops) Optimization UInteger
593 Align the start of loops
596 Common RejectNegative Joined UInteger
600 Does nothing. Preserved for backward compatibility.
604 Does nothing. Preserved for backward compatibility.
606 fargument-noalias-global
608 Does nothing. Preserved for backward compatibility.
610 fargument-noalias-anything
612 Does nothing. Preserved for backward compatibility.
614 fasynchronous-unwind-tables
615 Common Report Var(flag_asynchronous_unwind_tables) Optimization
616 Generate unwind tables that are exact at each instruction boundary
619 Common Report Var(flag_auto_inc_dec) Init(1)
620 Generate auto-inc/dec instructions
622 ; -fcheck-bounds causes gcc to generate array bounds checks.
623 ; For C, C++ and ObjC: defaults off.
624 ; For Java: defaults to on.
625 ; For Fortran: defaults to off.
627 Common Report Var(flag_bounds_check)
628 Generate code to check bounds before indexing arrays
631 Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
632 Replace add, compare, branch with branch on count register
634 fbranch-probabilities
635 Common Report Var(flag_branch_probabilities) Optimization
636 Use profiling information for branch probabilities
638 fbranch-target-load-optimize
639 Common Report Var(flag_branch_target_load_optimize) Optimization
640 Perform branch target load optimization before prologue / epilogue threading
642 fbranch-target-load-optimize2
643 Common Report Var(flag_branch_target_load_optimize2) Optimization
644 Perform branch target load optimization after prologue / epilogue threading
647 Common Report Var(flag_btr_bb_exclusive) Optimization
648 Restrict target load migration not to re-use registers in any basic block
651 Common Joined RejectNegative
652 -fcall-saved-<register> Mark <register> as being preserved across functions
655 Common Joined RejectNegative
656 -fcall-used-<register> Mark <register> as being corrupted by function calls
658 ; Nonzero for -fcaller-saves: allocate values in regs that need to
659 ; be saved across function calls, if that produces overall better code.
660 ; Optional now, so people can test it.
662 Common Report Var(flag_caller_saves) Optimization
663 Save registers around function calls
666 Common Report Var(flag_check_data_deps)
667 Compare the results of several data dependence analyzers.
669 fcombine-stack-adjustments
670 Common Report Var(flag_combine_stack_adjustments) Optimization
671 Looks for opportunities to reduce stack adjustments and stack references.
674 Common Report Var(flag_no_common,0) Optimization
675 Do not put uninitialized globals in the common section
679 ; Converted by the driver to -fcompare-debug= options.
682 Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
683 -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
685 fcompare-debug-second
686 Common Driver RejectNegative
687 Run only the second compilation of -fcompare-debug
690 Common Var(flag_conserve_stack) Optimization
691 Do not perform optimizations increasing noticeably stack usage
694 Common Report Var(flag_cprop_registers) Optimization
695 Perform a register copy-propagation optimization pass
698 Common Report Var(flag_crossjumping) Optimization
699 Perform cross-jumping optimization
702 Common Report Var(flag_cse_follow_jumps) Optimization
703 When running CSE, follow jumps to their targets
707 Does nothing. Preserved for backward compatibility.
710 Common Report Var(flag_cx_limited_range) Optimization
711 Omit range reduction step when performing complex division
714 Common Report Var(flag_cx_fortran_rules) Optimization
715 Complex multiplication and division follow Fortran rules
718 Common Report Var(flag_data_sections) Optimization
719 Place data items into their own section
723 List all available debugging counters with their limits and counts.
726 Common RejectNegative Joined
727 -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
730 Common Joined RejectNegative
731 Map one directory name to another in debug information
733 ; Nonzero for -fdefer-pop: don't pop args after each function call
734 ; instead save them up to pop many calls' args with one insns.
736 Common Report Var(flag_defer_pop) Optimization
737 Defer popping functions args from stack until later
740 Common Report Var(flag_delayed_branch) Optimization
741 Attempt to fill delay slots of branch instructions
743 fdelete-null-pointer-checks
744 Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
745 Delete useless null pointer checks
747 fdiagnostics-show-location=
748 Common Joined RejectNegative
749 -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
751 fdiagnostics-show-option
752 Common Var(flag_diagnostics_show_option) Init(1)
753 Amend appropriate diagnostic messages with the command line option that controls them
756 Common Joined RejectNegative
757 -fdump-<type> Dump various compiler internals to a file
760 Driver RejectNegative
763 Common RejectNegative Joined Var(flag_dump_final_insns)
764 -fdump-final-insns=filename Dump to filename the insns at the end of translation
767 Common Report Var(flag_dump_noaddr)
768 Suppress output of addresses in debugging dumps
771 Common Report Var(flag_dump_unnumbered)
772 Suppress output of instruction numbers, line number notes and addresses in debugging dumps
774 fdump-unnumbered-links
775 Common Report Var(flag_dump_unnumbered_links)
776 Suppress output of previous and next insn numbers in debugging dumps
779 Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
780 Enable CFI tables via GAS assembler directives.
783 Common Report Var(flag_early_inlining) Init(1) Optimization
784 Perform early inlining
786 feliminate-dwarf2-dups
787 Common Report Var(flag_eliminate_dwarf2_dups)
788 Perform DWARF2 duplicate elimination
791 Common Report Var(flag_ipa_sra) Init(0) Optimization
792 Perform interprocedural reduction of aggregates
794 feliminate-unused-debug-symbols
795 Common Report Var(flag_debug_only_used_symbols)
796 Perform unused type elimination in debug info
798 feliminate-unused-debug-types
799 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
800 Perform unused type elimination in debug info
802 femit-class-debug-always
803 Common Report Var(flag_emit_class_debug_always) Init(0)
804 Do not suppress C++ class debug information.
807 Common Report Var(flag_enable_icf_debug)
808 Generate debug information to support Identical Code Folding (ICF)
811 Common Report Var(flag_exceptions) Optimization
812 Enable exception handling
814 fexpensive-optimizations
815 Common Report Var(flag_expensive_optimizations) Optimization
816 Perform a number of minor, expensive optimizations
819 Common Joined RejectNegative
820 -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision
826 Common Report Var(flag_finite_math_only) Optimization
827 Assume no NaNs or infinities are generated
830 Common Joined RejectNegative
831 -ffixed-<register> Mark <register> as being unavailable to the compiler
834 Common Report Var(flag_float_store) Optimization
835 Don't allocate floats and doubles in extended-precision registers
839 Does nothing. Preserved for backward compatibility.
842 Common Report Var(flag_forward_propagate) Optimization
843 Perform a forward propagation pass on RTL
845 ; Nonzero means don't put addresses of constant functions in registers.
846 ; Used for compiling the Unix kernel, where strange substitutions are
847 ; done on the assembly output.
849 Common Report Var(flag_no_function_cse,0)
850 Allow function addresses to be held in registers
853 Common Report Var(flag_function_sections)
854 Place each function into its own section
857 Common Report Var(flag_gcse) Optimization
858 Perform global common subexpression elimination
861 Common Report Var(flag_gcse_lm) Init(1) Optimization
862 Perform enhanced load motion during global common subexpression elimination
865 Common Report Var(flag_gcse_sm) Init(0) Optimization
866 Perform store motion after global common subexpression elimination
869 Common Report Var(flag_gcse_las) Init(0) Optimization
870 Perform redundant load after store elimination in global common subexpression
874 Common Report Var(flag_gcse_after_reload) Optimization
875 Perform global common subexpression elimination after register allocation
878 ; This option is not documented yet as its semantics will change.
880 Common Report Var(flag_graphite)
881 Enable in and out of Graphite representation
884 Common Report Var(flag_graphite_identity) Optimization
885 Enable Graphite Identity transformation
887 floop-parallelize-all
888 Common Report Var(flag_loop_parallelize_all) Optimization
889 Mark all loops as parallel
892 Common Report Var(flag_loop_strip_mine) Optimization
893 Enable Loop Strip Mining transformation
896 Common Report Var(flag_loop_interchange) Optimization
897 Enable Loop Interchange transformation
900 Common Report Var(flag_loop_block) Optimization
901 Enable Loop Blocking transformation
904 Common Report Var(flag_loop_flatten) Optimization
905 Enable Loop Flattening transformation
907 fstrict-volatile-bitfields
908 Common Report Var(flag_strict_volatile_bitfields) Init(-1)
909 Force bitfield accesses to match their type width
911 fguess-branch-probability
912 Common Report Var(flag_guess_branch_prob) Optimization
913 Enable guessing of branch probabilities
915 ; Nonzero means ignore `#ident' directives. 0 means handle them.
916 ; Generate position-independent code for executables if possible
917 ; On SVR4 targets, it also controls whether or not to emit a
918 ; string identifying the compiler.
920 Common Report Var(flag_no_ident,0)
921 Process #ident directives
924 Common Report Var(flag_if_conversion) Optimization
925 Perform conversion of conditional jumps to branchless equivalents
928 Common Report Var(flag_if_conversion2) Optimization
929 Perform conversion of conditional jumps to conditional execution
931 ftree-loop-if-convert
932 Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
933 Convert conditional jumps in innermost loops to branchless equivalents
935 ftree-loop-if-convert-stores
936 Common Report Var(flag_tree_loop_if_convert_stores) Optimization
937 Also if-convert conditional jumps containing memory writes
939 ; -finhibit-size-directive inhibits output of .size for ELF.
940 ; This is used only for compiling crtstuff.c,
941 ; and it may be extended to other effects
942 ; needed for crtstuff.c on other systems.
943 finhibit-size-directive
944 Common Report Var(flag_inhibit_size_directive)
945 Do not generate .size directives
948 Common Report Var(flag_indirect_inlining)
949 Perform indirect inlining
951 ; Nonzero means that functions declared `inline' will be treated
952 ; as `static'. Prevents generation of zillions of copies of unused
953 ; static inline functions; instead, `inlines' are written out
954 ; only when actually used. Used in conjunction with -g. Also
955 ; does the right thing with #pragma interface.
957 Common Report Var(flag_no_inline,0) Init(0)
958 Pay attention to the \"inline\" keyword
960 finline-small-functions
961 Common Report Var(flag_inline_small_functions) Optimization
962 Integrate simple functions into their callers when code size is known to not growth
965 Common Report Var(flag_inline_functions) Optimization
966 Integrate simple functions into their callers
968 finline-functions-called-once
969 Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
970 Integrate functions called once into their callers
973 Common RejectNegative Joined Alias(finline-limit=)
976 Common RejectNegative Joined UInteger
977 -finline-limit=<number> Limit the size of inlined functions to <number>
979 finstrument-functions
980 Common Report Var(flag_instrument_function_entry_exit)
981 Instrument function entry and exit with profiling calls
983 finstrument-functions-exclude-function-list=
984 Common RejectNegative Joined
985 -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions
987 finstrument-functions-exclude-file-list=
988 Common RejectNegative Joined
989 -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files
992 Common Report Var(flag_ipa_cp) Optimization
993 Perform Interprocedural constant propagation
996 Common Report Var(flag_ipa_cp_clone) Optimization
997 Perform cloning to make Interprocedural constant propagation stronger
1000 Common Report Var(flag_ipa_profile) Init(0) Optimization
1001 Perform interprocedural profile propagation
1004 Common Report Var(flag_ipa_pta) Init(0) Optimization
1005 Perform interprocedural points-to analysis
1008 Common Report Var(flag_ipa_pure_const) Init(0) Optimization
1009 Discover pure and const functions
1012 Common Report Var(flag_ipa_reference) Init(0) Optimization
1013 Discover readonly and non addressable static variables
1016 Common Report Var(flag_ipa_matrix_reorg) Optimization
1017 Perform matrix layout flattening and transposing based
1018 on profiling information.
1021 Common Report Var(flag_ipa_struct_reorg)
1022 Perform structure layout optimizations based
1023 on profiling information.
1026 Common Joined RejectNegative
1027 -fira-algorithm=[CB|priority] Set the used IRA algorithm
1030 Common Joined RejectNegative
1031 -fira-region=[one|all|mixed] Set regions for IRA
1034 Common Report Var(flag_ira_loop_pressure)
1035 Use IRA based register pressure calculation
1036 in RTL loop optimizations.
1038 fira-share-save-slots
1039 Common Report Var(flag_ira_share_save_slots) Init(1)
1040 Share slots for saving different hard registers.
1042 fira-share-spill-slots
1043 Common Report Var(flag_ira_share_spill_slots) Init(1)
1044 Share stack slots for spilled pseudo-registers.
1047 Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1048 -fira-verbose=<number> Control IRA's level of diagnostic messages.
1051 Common Report Var(flag_ivopts) Init(1) Optimization
1052 Optimize induction variables on trees
1055 Common Var(flag_jump_tables) Init(1) Optimization
1056 Use jump tables for sufficiently large switch statements
1058 fkeep-inline-functions
1059 Common Report Var(flag_keep_inline_functions)
1060 Generate code for functions even if they are fully inlined
1063 Common Report Var(flag_keep_static_consts) Init(1)
1064 Emit static const variables even if they are not used
1067 Common Report Var(flag_leading_underscore) Init(-1)
1068 Give external symbols a leading underscore
1072 Does nothing. Preserved for backward compatibility.
1075 Common Var(flag_lto)
1076 Enable link-time optimization.
1079 Common Var(flag_lto_partition_1to1)
1080 Partition functions and vars at linktime based on object files they originate from
1082 flto-partition=balanced
1083 Common Var(flag_lto_partition_balanced)
1084 Partition functions and vars at linktime into approximately same sized buckets
1086 ; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1087 flto-compression-level=
1088 Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1089 -flto-compression-level=<number> Use zlib compression level <number> for IL
1092 Common Report Var(flag_lto_report) Init(0) Optimization
1093 Report various link-time optimization statistics
1096 Common Report Var(flag_errno_math) Init(1) Optimization
1097 Set errno after built-in math functions
1100 Common Report Var(mem_report)
1101 Report on permanent memory allocation
1103 ; This will attempt to merge constant section constants, if 1 only
1104 ; string constants and constants from constant pool, if 2 also constant
1106 fmerge-all-constants
1107 Common Report Var(flag_merge_constants,2) Init(1) Optimization
1108 Attempt to merge identical constants and constant variables
1111 Common Report Var(flag_merge_constants,1) Optimization
1112 Attempt to merge identical constants across compilation units
1114 fmerge-debug-strings
1115 Common Report Var(flag_merge_debug_strings) Init(1)
1116 Attempt to merge identical debug strings across compilation units
1119 Common RejectNegative Joined UInteger
1120 -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
1123 Common Report Var(flag_modulo_sched) Optimization
1124 Perform SMS based modulo scheduling before the first scheduling pass
1126 fmodulo-sched-allow-regmoves
1127 Common Report Var(flag_modulo_sched_allow_regmoves)
1128 Perform SMS based modulo scheduling with register moves allowed
1130 fmove-loop-invariants
1131 Common Report Var(flag_move_loop_invariants) Init(1) Optimization
1132 Move loop invariant computations out of loops
1135 Common RejectNegative Report Var(flag_mudflap)
1136 Add mudflap bounds-checking instrumentation for single-threaded program
1139 Common RejectNegative Report Var(flag_mudflap,2)
1140 Add mudflap bounds-checking instrumentation for multi-threaded program
1143 Common RejectNegative Report Var(flag_mudflap_ignore_reads)
1144 Ignore read operations when inserting mudflap instrumentation
1147 Common Var(flag_dce) Init(1) Optimization
1148 Use the RTL dead code elimination pass
1151 Common Var(flag_dse) Init(1) Optimization
1152 Use the RTL dead store elimination pass
1154 freschedule-modulo-scheduled-loops
1155 Common Report Var(flag_resched_modulo_sched) Optimization
1156 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
1158 fnon-call-exceptions
1159 Common Report Var(flag_non_call_exceptions) Optimization
1160 Support synchronous non-call exceptions
1163 Common Report Var(flag_omit_frame_pointer) Optimization
1164 When possible do not generate stack frames
1166 foptimize-register-move
1167 Common Report Var(flag_regmove) Optimization
1168 Do the full register move optimization pass
1170 foptimize-sibling-calls
1171 Common Report Var(flag_optimize_sibling_calls) Optimization
1172 Optimize sibling and tail recursive calls
1175 Common Report Var(flag_partial_inlining)
1176 Perform partial inlining
1179 Common Report Var(pre_ipa_mem_report)
1180 Report on memory allocation before interprocedural optimization
1182 fpost-ipa-mem-report
1183 Common Report Var(post_ipa_mem_report)
1184 Report on memory allocation before interprocedural optimization
1187 Common Report Var(flag_pack_struct) Optimization
1188 Pack structure members together without holes
1191 Common RejectNegative Joined UInteger Optimization
1192 -fpack-struct=<number> Set initial maximum structure member alignment
1195 Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1196 Return small aggregates in memory, not registers
1199 Common Report Var(flag_peel_loops) Optimization
1200 Perform loop peeling
1203 Common Report Var(flag_no_peephole,0) Optimization
1204 Enable machine specific peephole optimizations
1207 Common Report Var(flag_peephole2) Optimization
1208 Enable an RTL peephole pass before sched2
1211 Common Report Var(flag_pic,2)
1212 Generate position-independent code if possible (large mode)
1215 Common Report Var(flag_pie,2)
1216 Generate position-independent code for executables if possible (large mode)
1219 Common Report Var(flag_pic,1)
1220 Generate position-independent code if possible (small mode)
1223 Common Report Var(flag_pie,1)
1224 Generate position-independent code for executables if possible (small mode)
1227 Common Joined RejectNegative
1228 Specify a plugin to load
1231 Common Joined RejectNegative
1232 -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>
1234 fpredictive-commoning
1235 Common Report Var(flag_predictive_commoning) Optimization
1236 Run predictive commoning optimization.
1238 fprefetch-loop-arrays
1239 Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1240 Generate prefetch instructions, if available, for arrays in loops
1243 Common Report Var(profile_flag)
1244 Enable basic program profiling code
1247 Common Report Var(profile_arc_flag)
1248 Insert arc-based program profiling code
1251 Common Joined RejectNegative
1252 Set the top-level directory for storing the profile data.
1253 The default is 'pwd'.
1256 Common Report Var(flag_profile_correction)
1257 Enable correction of flow inconsistent profile data input
1261 Enable common options for generating profile info for profile feedback directed optimizations
1264 Common Joined RejectNegative
1265 Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1268 Common Var(flag_profile_use)
1269 Enable common options for performing profile feedback directed optimizations
1272 Common Joined RejectNegative
1273 Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1276 Common Report Var(flag_profile_values)
1277 Insert code to profile values of expressions
1283 Common Joined RejectNegative
1284 -frandom-seed=<string> Make compile reproducible using <string>
1286 ; This switch causes the command line that was used to create an
1287 ; object file to be recorded into the object file. The exact format
1288 ; of this recording is target and binary file format dependent.
1289 ; It is related to the -fverbose-asm switch, but that switch only
1290 ; records information in the assembler output file as comments, so
1291 ; they never reach the object file.
1292 frecord-gcc-switches
1293 Common Report Var(flag_record_gcc_switches)
1294 Record gcc command line switches in the object file.
1297 Common Report Var(flag_pcc_struct_return,0) Optimization
1298 Return small aggregates in registers
1301 Common Report Var(flag_regmove) Optimization
1302 Enables a register move optimization
1305 Common Report Var(flag_rename_registers) Init(2) Optimization
1306 Perform a register renaming optimization pass
1309 Common Report Var(flag_reorder_blocks) Optimization
1310 Reorder basic blocks to improve code placement
1312 freorder-blocks-and-partition
1313 Common Report Var(flag_reorder_blocks_and_partition) Optimization
1314 Reorder basic blocks and partition into hot and cold sections
1317 Common Report Var(flag_reorder_functions) Optimization
1318 Reorder functions to improve code placement
1320 frerun-cse-after-loop
1321 Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
1322 Add a common subexpression elimination pass after loop optimizations
1326 Does nothing. Preserved for backward compatibility.
1329 Common Report Var(flag_rounding_math) Optimization
1330 Disable optimizations that assume default FP rounding behavior
1333 Common Report Var(flag_schedule_interblock) Init(1) Optimization
1334 Enable scheduling across basic blocks
1337 Common Report Var(flag_sched_pressure) Init(0) Optimization
1338 Enable register pressure sensitive insn scheduling
1341 Common Report Var(flag_schedule_speculative) Init(1) Optimization
1342 Allow speculative motion of non-loads
1345 Common Report Var(flag_schedule_speculative_load) Optimization
1346 Allow speculative motion of some loads
1348 fsched-spec-load-dangerous
1349 Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1350 Allow speculative motion of more loads
1353 Common RejectNegative Joined
1354 -fsched-verbose=<number> Set the verbosity level of the scheduler
1356 fsched2-use-superblocks
1357 Common Report Var(flag_sched2_use_superblocks) Optimization
1358 If scheduling post reload, do superblock scheduling
1362 Does nothing. Preserved for backward compatibility.
1365 Common Report Var(flag_schedule_insns) Optimization
1366 Reschedule instructions before register allocation
1369 Common Report Var(flag_schedule_insns_after_reload) Optimization
1370 Reschedule instructions after register allocation
1372 ; This flag should be on when a target implements non-trivial
1373 ; scheduling hooks, maybe saving some information for its own sake.
1374 ; On IA64, for example, this is used for correct bundling.
1375 fselective-scheduling
1376 Common Report Var(flag_selective_scheduling) Optimization
1377 Schedule instructions using selective scheduling algorithm
1379 fselective-scheduling2
1380 Common Report Var(flag_selective_scheduling2) Optimization
1381 Run selective scheduling after reload
1383 fsel-sched-pipelining
1384 Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1385 Perform software pipelining of inner loops during selective scheduling
1387 fsel-sched-pipelining-outer-loops
1388 Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1389 Perform software pipelining of outer loops during selective scheduling
1391 fsel-sched-reschedule-pipelined
1392 Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1393 Reschedule pipelined regions without pipelining
1395 ; sched_stalled_insns means that insns can be moved prematurely from the queue
1396 ; of stalled insns into the ready list.
1397 fsched-stalled-insns
1398 Common Report Var(flag_sched_stalled_insns) Optimization UInteger
1399 Allow premature scheduling of queued insns
1401 fsched-stalled-insns=
1402 Common RejectNegative Joined UInteger
1403 -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
1405 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
1406 ; be examined for a dependency on a stalled insn that is candidate for
1407 ; premature removal from the queue of stalled insns into the ready list (has
1408 ; an effect only if the flag 'sched_stalled_insns' is set).
1409 fsched-stalled-insns-dep
1410 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1411 Set dependence distance checking in premature scheduling of queued insns
1413 fsched-stalled-insns-dep=
1414 Common RejectNegative Joined UInteger
1415 -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
1417 fsched-group-heuristic
1418 Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1419 Enable the group heuristic in the scheduler
1421 fsched-critical-path-heuristic
1422 Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1423 Enable the critical path heuristic in the scheduler
1425 fsched-spec-insn-heuristic
1426 Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1427 Enable the speculative instruction heuristic in the scheduler
1429 fsched-rank-heuristic
1430 Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1431 Enable the rank heuristic in the scheduler
1433 fsched-last-insn-heuristic
1434 Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1435 Enable the last instruction heuristic in the scheduler
1437 fsched-dep-count-heuristic
1438 Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1439 Enable the dependent count heuristic in the scheduler
1442 Common Report Var(flag_section_anchors) Optimization
1443 Access data in the same section from shared anchor points
1447 Does nothing. Preserved for backward compatibility.
1450 Common Report Var(flag_zee) Init(0)
1451 Eliminate redundant zero extensions on targets that support implicit extensions.
1454 Common Report Var(flag_show_column) Init(1)
1455 Show column numbers in diagnostics, when available. Default on
1458 Common Report Var(flag_signaling_nans) Optimization
1459 Disable optimizations observable by IEEE signaling NaNs
1462 Common Report Var(flag_signed_zeros) Init(1) Optimization
1463 Disable floating point optimizations that ignore the IEEE signedness of zero
1465 fsingle-precision-constant
1466 Common Report Var(flag_single_precision_constant) Optimization
1467 Convert floating point constants to single precision constants
1469 fsplit-ivs-in-unroller
1470 Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1471 Split lifetimes of induction variables when loops are unrolled
1474 Common Report Var(flag_split_stack) Init(-1)
1475 Generate discontiguous stack frames
1478 Common Report Var(flag_split_wide_types) Optimization
1479 Split wide types into independent registers
1481 fvariable-expansion-in-unroller
1482 Common Report Var(flag_variable_expansion_in_unroller) Optimization
1483 Apply variable expansion when loops are unrolled
1486 Common Report RejectNegative Joined
1487 -fstack-check=[no|generic|specific] Insert stack checking code into the program
1490 Common Alias(fstack-check=, specific, no)
1491 Insert stack checking code into the program. Same as -fstack-check=specific
1496 fstack-limit-register=
1497 Common RejectNegative Joined
1498 -fstack-limit-register=<register> Trap if the stack goes past <register>
1500 fstack-limit-symbol=
1501 Common RejectNegative Joined
1502 -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
1505 Common Report Var(flag_stack_protect, 1)
1506 Use propolice as a stack protection method
1508 fstack-protector-all
1509 Common Report RejectNegative Var(flag_stack_protect, 2)
1510 Use a stack protection method for every function
1513 Common RejectNegative Var(flag_stack_usage)
1514 Output stack usage information on a per-function basis
1518 Does nothing. Preserved for backward compatibility.
1520 ; Nonzero if we should do (language-dependent) alias analysis.
1521 ; Typically, this analysis will assume that expressions of certain
1522 ; types do not alias expressions of certain other types. Only used
1523 ; if alias analysis (in general) is enabled.
1525 Common Report Var(flag_strict_aliasing) Optimization
1526 Assume strict aliasing rules apply
1529 Common Report Var(flag_strict_overflow)
1530 Treat signed overflow as undefined
1533 Common Report Var(flag_syntax_only)
1534 Check for syntax errors, then stop
1537 Common Report Var(flag_test_coverage)
1538 Create data files needed by \"gcov\"
1541 Common Report Var(flag_thread_jumps) Optimization
1542 Perform jump threading optimizations
1545 Common Report Var(time_report)
1546 Report the time taken by each compiler pass
1549 Common Joined RejectNegative
1550 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
1553 Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1554 Reorder top level functions, variables, and asms
1557 Common Report Var(flag_tracer)
1558 Perform superblock formation via tail duplication
1560 ; Zero means that floating-point math operations cannot generate a
1561 ; (user-visible) trap. This is the case, for example, in nonstop
1562 ; IEEE 754 arithmetic.
1564 Common Report Var(flag_trapping_math) Init(1) Optimization
1565 Assume floating-point operations can trap
1568 Common Report Var(flag_trapv) Optimization
1569 Trap for signed overflow in addition, subtraction and multiplication
1572 Common Report Var(flag_tree_ccp) Optimization
1573 Enable SSA-CCP optimization on trees
1576 Common Report Var(flag_tree_bit_ccp) Optimization
1577 Enable SSA-BIT-CCP optimization on trees
1581 Does nothing. Preserved for backward compatibility.
1584 Common Report Var(flag_tree_ch) Optimization
1585 Enable loop header copying on trees
1588 Common Report Var(flag_tree_copyrename) Optimization
1589 Replace SSA temporaries with better names in copies
1592 Common Report Var(flag_tree_copy_prop) Optimization
1593 Enable copy propagation on trees
1595 ftree-store-copy-prop
1597 Does nothing. Preserved for backward compatibility.
1600 Common Report Var(flag_tree_cselim) Init(2) Optimization
1601 Transform condition stores into unconditional ones
1603 ftree-switch-conversion
1604 Common Report Var(flag_tree_switch_conversion) Optimization
1605 Perform conversions of switch initializations.
1608 Common Report Var(flag_tree_dce) Optimization
1609 Enable SSA dead code elimination optimization on trees
1611 ftree-dominator-opts
1612 Common Report Var(flag_tree_dom) Optimization
1613 Enable dominator optimizations
1616 Common Report Var(flag_tree_dse) Optimization
1617 Enable dead store elimination
1620 Common Report Var(flag_tree_forwprop) Init(1) Optimization
1621 Enable forward propagation on trees
1624 Common Report Var(flag_tree_fre) Optimization
1625 Enable Full Redundancy Elimination (FRE) on trees
1627 ftree-loop-distribution
1628 Common Report Var(flag_tree_loop_distribution) Optimization
1629 Enable loop distribution on trees
1631 ftree-loop-distribute-patterns
1632 Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1633 Enable loop distribution for patterns transformed into a library call
1636 Common Report Var(flag_tree_loop_im) Init(1) Optimization
1637 Enable loop invariant motion on trees
1640 Common Report Var(flag_tree_loop_linear) Optimization
1641 Enable linear loop transforms on trees
1644 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1645 Create canonical induction variables in loops
1648 Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1649 Enable loop optimizations on tree level
1651 ftree-parallelize-loops=
1652 Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
1653 Enable automatic parallelization of loops
1656 Common Report Var(flag_tree_phiprop) Init(1) Optimization
1657 Enable hoisting loads from conditional pointers.
1660 Common Report Var(flag_tree_pre) Optimization
1661 Enable SSA-PRE optimization on trees
1664 Common Report Var(flag_tree_pta) Init(1) Optimization
1665 Perform function-local points-to analysis on trees.
1668 Common Report Var(flag_tree_reassoc) Init(1) Optimization
1669 Enable reassociation on tree level
1673 Does nothing. Preserved for backward compatibility.
1676 Common Report Var(flag_tree_sink) Optimization
1677 Enable SSA code sinking on trees
1680 Common Report Var(flag_tree_sra) Optimization
1681 Perform scalar replacement of aggregates
1684 Common Report Var(flag_tree_ter) Init(1) Optimization
1685 Replace temporary expressions in the SSA->normal pass
1688 Common Report Var(flag_tree_live_range_split) Optimization
1689 Perform live range splitting during the SSA->normal pass
1692 Common Report Var(flag_tree_vrp) Init(0) Optimization
1693 Perform Value Range Propagation on trees
1696 Common Report Var(flag_unit_at_a_time) Init(1) Optimization
1697 Compile whole compilation unit at a time
1700 Common Report Var(flag_unroll_loops) Optimization
1701 Perform loop unrolling when iteration count is known
1704 Common Report Var(flag_unroll_all_loops) Optimization
1705 Perform loop unrolling for all loops
1707 ; Nonzero means that loop optimizer may assume that the induction variables
1708 ; that control loops do not overflow and that the loops with nontrivial
1709 ; exit condition are not infinite
1710 funsafe-loop-optimizations
1711 Common Report Var(flag_unsafe_loop_optimizations) Optimization
1712 Allow loop optimizations to assume that the loops behave in normal way
1715 Common Report Var(flag_associative_math)
1716 Allow optimization for floating-point arithmetic which may change the
1717 result of the operation due to rounding.
1720 Common Report Var(flag_reciprocal_math)
1721 Same as -fassociative-math for expressions which include division.
1723 ; Nonzero means that unsafe floating-point math optimizations are allowed
1724 ; for the sake of speed. IEEE compliance is not guaranteed, and operations
1725 ; are allowed to assume that their arguments and results are "normal"
1726 ; (e.g., nonnegative for SQRT).
1727 funsafe-math-optimizations
1728 Common Report Var(flag_unsafe_math_optimizations) Optimization
1729 Allow math optimizations that may violate IEEE or ISO standards
1732 Common Report Var(flag_unswitch_loops) Optimization
1733 Perform loop unswitching
1736 Common Report Var(flag_unwind_tables) Optimization
1737 Just generate unwind tables for exception handling
1742 ; Positive if we should track variables, negative if we should run
1743 ; the var-tracking pass only to discard debug annotations, zero if
1744 ; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
1745 ; will be set according to optimize, debug_info_level and debug_hooks
1746 ; in process_options ().
1748 Common Report Var(flag_var_tracking) Init(2) Optimization
1749 Perform variable tracking
1751 ; Positive if we should track variables at assignments, negative if
1752 ; we should run the var-tracking pass only to discard debug
1753 ; annotations. When flag_var_tracking_assignments ==
1754 ; AUTODETECT_VALUE it will be set according to flag_var_tracking.
1755 fvar-tracking-assignments
1756 Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
1757 Perform variable tracking by annotating assignments
1759 ; Nonzero if we should toggle flag_var_tracking_assignments after
1760 ; processing options and computing its default. */
1761 fvar-tracking-assignments-toggle
1762 Common Report Var(flag_var_tracking_assignments_toggle) Optimization
1763 Toggle -fvar-tracking-assignments
1765 fvar-tracking-uninit
1766 Common Report Var(flag_var_tracking_uninit) Optimization
1767 Perform variable tracking and also tag variables that are uninitialized
1770 Common Report Var(flag_tree_vectorize) Optimization
1771 Enable loop vectorization on trees
1774 Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
1775 Enable basic block vectorization (SLP) on trees
1778 Common Report Var(flag_vect_cost_model) Optimization
1779 Enable use of cost model in vectorization
1781 ftree-vect-loop-version
1782 Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
1783 Enable loop versioning when doing loop vectorization on trees
1785 ftree-vectorizer-verbose=
1786 Common RejectNegative Joined
1787 -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
1790 Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
1791 Enable copy propagation of scalar-evolution information.
1793 ; -fverbose-asm causes extra commentary information to be produced in
1794 ; the generated assembly code (to make it more readable). This option
1795 ; is generally only of use to those who actually need to read the
1796 ; generated assembly code (perhaps while debugging the compiler itself).
1797 ; -fno-verbose-asm, the default, causes the extra information
1798 ; to not be added and is useful when comparing two assembler files.
1800 Common Report Var(flag_verbose_asm)
1801 Add extra commentary to assembler output
1804 Common Joined RejectNegative
1805 -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1809 Common Report Var(flag_value_profile_transformations) Optimization
1810 Use expression value profiles in optimizations
1813 Common Report Var(flag_web) Init(2) Optimization
1814 Construct webs and split unrelated uses of single variable
1818 Enable partitioned link-time optimization
1821 Common RejectNegative Joined Var(flag_whopr)
1822 Partitioned link-time optimization with number of parallel jobs or jobserver.
1824 ftree-builtin-call-dce
1825 Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
1826 Enable conditional dead code elimination for builtin calls
1829 Common Report Var(flag_whole_program) Init(0) Optimization
1830 Perform whole program optimizations
1833 Common Report Var(flag_wrapv) Optimization
1834 Assume signed arithmetic overflow wraps around
1836 fzero-initialized-in-bss
1837 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1838 Put zero initialized data in the bss section
1841 Common JoinedOrMissing
1842 Generate debug information in default format
1845 Common JoinedOrMissing Negative(gdwarf-)
1846 Generate debug information in COFF format
1849 Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
1850 Generate debug information in DWARF v2 (or later) format
1853 Common JoinedOrMissing
1854 Generate debug information in default extended format
1857 Common JoinedOrMissing Negative(gstabs+)
1858 Generate debug information in STABS format
1861 Common JoinedOrMissing Negative(gvms)
1862 Generate debug information in extended STABS format
1865 Common RejectNegative Var(dwarf_strict,0) Init(-1)
1866 Emit DWARF additions beyond selected version
1869 Common Report RejectNegative Var(dwarf_strict,1)
1870 Don't emit DWARF additions beyond selected version
1873 Common Report Var(flag_gtoggle)
1874 Toggle debug information generation
1877 Common JoinedOrMissing Negative(gxcoff)
1878 Generate debug information in VMS format
1881 Common JoinedOrMissing Negative(gxcoff+)
1882 Generate debug information in XCOFF format
1885 Common JoinedOrMissing Negative(gcoff)
1886 Generate debug information in extended XCOFF format
1889 Common Joined Var(plugindir_string) Init(0)
1890 -iplugindir=<dir> Set <dir> to be the default plugin directory
1893 Driver Joined Separate
1895 no-canonical-prefixes
1905 Common Driver Joined Separate MissingArgError(missing filename after %qs)
1906 -o <file> Place output into <file>
1909 Common Var(profile_flag)
1910 Enable function profiling
1913 Driver Var(pass_exit_codes)
1916 Common Var(pedantic)
1917 Issue warnings needed for strict compliance to the standard
1921 Like -pedantic but issue them as errors
1927 Driver Var(use_pipes)
1930 Driver JoinedOrMissing Var(print_file_name)
1932 print-libgcc-file-name
1935 print-multi-directory
1936 Driver Var(print_multi_directory)
1939 Driver Var(print_multi_lib)
1941 print-multi-os-directory
1942 Driver Var(print_multi_os_directory)
1945 Driver JoinedOrMissing Var(print_prog_name)
1948 Driver Var(print_search_dirs)
1951 Driver Var(print_sysroot)
1953 print-sysroot-headers-suffix
1954 Driver Var(print_sysroot_headers_suffix)
1957 Common Var(quiet_flag) RejectDriver
1958 Do not display functions compiled or elapsed time
1967 Driver Var(report_times)
1970 Driver JoinedOrMissing
1973 Driver Joined Separate
1977 ; C option, but driver must not handle as "-u ndef".
1983 Common Var(version_flag) RejectDriver
1984 Display the compiler's version
1987 Common Var(inhibit_warnings)
1991 Driver Separate Var(wrapper_string)
1994 Driver Joined Separate
1997 Common RejectNegative Negative(pie)
1998 Create a shared library
2004 Driver Separate Alias(specs=)
2017 ; Documented for Fortran, but always accepted by driver.
2026 Common RejectNegative Negative(shared)
2027 Create a position independent executable
2029 ; This comment is to ensure we retain the blank line above.