URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [common.opt] - Rev 756
Go to most recent revision | Compare with Previous | Blame | View Log
; Options for the language- and target-independent parts of the compiler.; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012; Free Software Foundation, Inc.;; This file is part of GCC.;; GCC is free software; you can redistribute it and/or modify it under; the terms of the GNU General Public License as published by the Free; Software Foundation; either version 3, or (at your option) any later; version.;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY; WARRANTY; without even the implied warranty of MERCHANTABILITY or; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License; for more details.;; You should have received a copy of the GNU General Public License; along with GCC; see the file COPYING3. If not see; <http://www.gnu.org/licenses/>.; See the GCC internals manual (options.texi) for a description of this file's format.; Please try to keep this file in ASCII collating order.Variableint target_flagsVariableint optimizeVariableint optimize_size; Not used directly to control optimizations, only to save -Ofast; setting for "optimize" attributes.Variableint optimize_fast; True if this is the lto front end. This is used to disable gimple; generation and lowering passes that are normally run on the output; of a front end. These passes must be bypassed for lto since they; have already been done before the gimple was written.Variablebool in_lto_p = false; 0 means straightforward implementation of complex divide acceptable.; 1 means wide ranges of inputs must work for complex divide.; 2 means C99-like requirements for complex multiply and divide.Variableint flag_complex_method = 1; Nonzero if subexpressions must be evaluated from left-to-right.Variableint flag_evaluation_order = 0; Language specific warning pass for unused results.Variablebool flag_warn_unused_result = falseVariableint *param_values; Nonzero if we should write GIMPLE bytecode for link-time optimization.Variableint flag_generate_lto; True to warn about any objects definitions whose size is larger; than N bytes. Also want about function definitions whose returned; values are larger than N bytes, where N is 'larger_than_size'.Variablebool warn_larger_thanVariableHOST_WIDE_INT larger_than_size; True to warn about any function whose frame size is larger; than N bytes.Variablebool warn_frame_larger_thanVariableHOST_WIDE_INT frame_larger_than_size; Nonzero means we should be saving declaration info into a .X file.Variableint flag_gen_aux_info = 0; Nonzero if we are compiling code for a shared library, zero for; executable.Variableint flag_shlib; These two are really VEC(char_p,heap) *.Variablevoid *flag_instrument_functions_exclude_functionsVariablevoid *flag_instrument_functions_exclude_files; Generic structs (e.g. templates not explicitly specialized); may not have a compilation unit associated with them, and so; may need to be treated differently from ordinary structs.;; Structs only handled by reference (indirectly), will also usually; not need as much debugging information.Variableenum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }Variableenum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }; True if we should exit after parsing options.Variablebool exit_after_options; Type(s) of debugging information we are producing (if any). See; flag-types.h for the definitions of the different possible types of; debugging information.Variableenum debug_info_type write_symbols = NO_DEBUG; Level of debugging information we are producing. See flag-types.h; for the definitions of the different possible levels.Variableenum debug_info_levels debug_info_level = DINFO_LEVEL_NONE; Nonzero means use GNU-only extensions in the generated symbolic; debugging information. Currently, this only has an effect when; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.Variablebool use_gnu_debug_info_extensions; Original value of maximum field alignment in bytes, specified via; -fpack-struct=<value>.Variableunsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCTVariableenum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL; Type of stack check.Variableenum stack_check_type flag_stack_check = NO_STACK_CHECK; True if stack usage information needs to be computed.Variablebool flag_stack_usage_info = false; -dA causes debug commentary information to be produced in; the generated assembly code (to make it more readable). This option; is generally only of use to those who actually need to read the; generated assembly code (perhaps while debugging the compiler itself).; Currently, this switch is only used by dwarf2out.c; however, it is intended; to be a catchall for printing debug information in the assembler file.Variableint flag_debug_asm; -dP causes the rtl to be emitted as a comment in assembly.Variableint flag_dump_rtl_in_asm; Whether -da was passed (used only in handle_common_deferred_options).Variablebool flag_dump_all_passed; Other flags saying which kinds of debugging dump have been requested.Variableint rtl_dump_and_exitVariableint flag_print_asm_nameVariableenum graph_dump_types graph_dump_format = no_graph; Name of top-level original source file (what was input to cpp).; This comes from the #-command at the beginning of the actual input.; If there isn't any there, then this is the cc1 input file name.Variableconst char *main_input_filename; Pointer to base name in main_input_filename, with directories and a; single final extension removed, and the length of this base; name.Variableconst char *main_input_basenameVariableint main_input_baselength; Which options have been printed by --help.Variablechar *help_printed; Which enums have been printed by --help. 0 = not printed, no; relevant options seen, 1 = relevant option seen, not yet printed, 2; = printed.Variablechar *help_enum_printed; The number of columns for --help output.Variableunsigned int help_columns; Whether this options structure has been through finish_optionsVariablebool flag_opts_finished###Driver-assembleDriver Alias(S)-compileDriver Alias(c)-coverageDriver Alias(coverage)-debugCommon Alias(g)-dumpCommon Separate Alias(d)-dump=Common Joined Alias(d)-dumpbaseCommon Separate Alias(dumpbase)-dumpdirCommon Separate Alias(dumpdir)-entryDriver Separate Alias(e)-entry=Driver Joined Alias(e)-extra-warningsCommon Warning Alias(Wextra)-for-assemblerDriver Separate Alias(Xassembler)-for-assembler=Driver JoinedOrMissing Alias(Xassembler)-for-linkerDriver Separate Alias(Xlinker)-for-linker=Driver JoinedOrMissing Alias(Xlinker)-force-linkDriver Separate Alias(u)-force-link=Driver Joined Alias(u)-helpCommon Driver Var(help_flag)Display this information-help=Common Driver Report Joined--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params-languageDriver Separate Alias(x)-language=Driver Joined Alias(x)-library-directoryDriver Separate Alias(L)-library-directory=Driver Joined Alias(L)-no-canonical-prefixesDriver Alias(no-canonical-prefixes)-no-standard-librariesDriver Alias(nostdlib)-no-warningsCommon Alias(w)-optimizeCommon Alias(O)-outputCommon Driver Separate Alias(o) MissingArgError(missing filename after %qs)-output=Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)-pass-exit-codesDriver Alias(pass-exit-codes)-pedanticCommon Alias(pedantic)-pedantic-errorsCommon Alias(pedantic-errors)-pieDriver Alias(pie)-pipeDriver Alias(pipe)-prefixDriver Separate Alias(B)-prefix=Driver JoinedOrMissing Alias(B)-preprocessDriver Alias(E)-print-file-nameDriver Separate Alias(print-file-name=)-print-file-name=Driver JoinedOrMissing Alias(print-file-name=)-print-libgcc-file-nameDriver Alias(print-libgcc-file-name)-print-multi-directoryDriver Alias(print-multi-directory)-print-multi-libDriver Alias(print-multi-lib)-print-multi-os-directoryDriver Alias(print-multi-os-directory)-print-prog-nameDriver Separate Alias(print-prog-name=)-print-prog-name=Driver JoinedOrMissing Alias(print-prog-name=)-print-search-dirsDriver Alias(print-search-dirs)-print-sysrootDriver Alias(print-sysroot)-print-sysroot-headers-suffixDriver Alias(print-sysroot-headers-suffix)-profileCommon Alias(p)-save-tempsDriver Alias(save-temps)-sharedDriver Alias(shared)-specsDriver Separate Alias(specs=)-specs=Driver Joined Alias(specs=)-staticDriver Alias(static)-symbolicDriver Alias(symbolic)-target-helpCommon DriverAlias for --help=target-timeDriver Alias(time)-verboseDriver Alias(v);; The driver used to convert options such as --help into forms such;; as -fhelp; the following four entries are for compatibility with;; any direct uses of those (undocumented) -f formsfhelpCommon Driver Alias(-help)fhelp=Common Driver Joined Alias(-help=)ftarget-helpCommon Driver Alias(-target-help)fversionCommon Driver Alias(-version)-paramCommon Separate--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters-param=Common Joined Alias(-param)-sysrootDriver Separate Alias(-sysroot=)-sysroot=Driver JoinedOrMissing-versionCommon DriverBDriver Joined SeparateEDriverLDriver Joined SeparateNDriverOCommon JoinedOrMissing Optimization-O<number> Set optimization level to <number>OsCommon OptimizationOptimize for space rather than speedOfastCommon OptimizationOptimize for speed disregarding exact standards complianceQDriverQnDriver Negative(Qy)QyDriver Negative(Qn)RDriver Joined SeparateSDriverTDriver Joined SeparateTbssDriver SeparateTbss=Driver JoinedTdataDriver SeparateTdata=Driver JoinedTtextDriver SeparateTtext=Driver JoinedWCommon RejectNegative Warning Alias(Wextra)This switch is deprecated; use -Wextra insteadWa,Driver JoinedOrMissingWl,Driver JoinedOrMissingWp,Driver JoinedOrMissingWaggregate-returnCommon Var(warn_aggregate_return) WarningWarn about returning structures, unions or arraysWarray-boundsCommon Var(warn_array_bounds) WarningWarn if an array is accessed out of boundsWattributesCommon Var(warn_attributes) Init(1) WarningWarn about inappropriate attribute usageWcast-alignCommon Var(warn_cast_align) WarningWarn about pointer casts which increase alignmentWcppCommon Var(warn_cpp) Init(1) WarningWarn when a #warning directive is encounteredWdeprecated-declarationsCommon Var(warn_deprecated_decl) Init(1) WarningWarn about uses of __attribute__((deprecated)) declarationsWdisabled-optimizationCommon Var(warn_disabled_optimization) WarningWarn when an optimization pass is disabledWerrorCommon Var(warnings_are_errors)Treat all warnings as errorsWerror=Common JoinedTreat specified warning as errorWextraCommon Var(extra_warnings) WarningPrint extra (possibly unwanted) warningsWfatal-errorsCommon Var(flag_fatal_errors)Exit on the first error occurredWframe-larger-than=Common RejectNegative Joined UInteger-Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytesWfree-nonheap-objectCommon Var(warn_free_nonheap_object) Init(1) WarningWarn when attempting to free a non-heap objectWinlineCommon Var(warn_inline) WarningWarn when an inlined function cannot be inlinedWinvalid-memory-modelCommon Var(warn_invalid_memory_model) Init(1) WarningWarn when an atomic memory model parameter is known to be outside the valid range.Wlarger-than-Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)Wlarger-than=Common RejectNegative Joined UInteger Warning-Wlarger-than=<number> Warn if an object is larger than <number> bytesWunsafe-loop-optimizationsCommon Var(warn_unsafe_loop_optimizations) WarningWarn if the loop cannot be optimized due to nontrivial assumptions.Wmissing-noreturnCommon Var(warn_missing_noreturn) WarningWarn about functions which might be candidates for __attribute__((noreturn))WoverflowCommon Var(warn_overflow) Init(1) WarningWarn about overflow in arithmetic expressionsWpackedCommon Var(warn_packed) WarningWarn when the packed attribute has no effect on struct layoutWpaddedCommon Var(warn_padded) WarningWarn when padding is required to align structure membersWshadowCommon Var(warn_shadow) WarningWarn when one local variable shadows anotherWstack-protectorCommon Var(warn_stack_protect) WarningWarn when not issuing stack smashing protection for some reasonWstack-usage=Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) WarningWarn if stack usage might be larger than specified amountWstrict-aliasingCommon WarningWarn about code which might break strict aliasing rulesWstrict-aliasing=Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) WarningWarn about code which might break strict aliasing rulesWstrict-overflowCommon WarningWarn about optimizations that assume that signed overflow is undefinedWstrict-overflow=Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) WarningWarn about optimizations that assume that signed overflow is undefinedWsuggest-attribute=constCommon Var(warn_suggest_attribute_const) WarningWarn about functions which might be candidates for __attribute__((const))Wsuggest-attribute=pureCommon Var(warn_suggest_attribute_pure) WarningWarn about functions which might be candidates for __attribute__((pure))Wsuggest-attribute=noreturnCommon Var(warn_suggest_attribute_noreturn) WarningWarn about functions which might be candidates for __attribute__((noreturn))WswitchCommon Var(warn_switch) WarningWarn about enumerated switches, with no default, missing a caseWswitch-defaultCommon Var(warn_switch_default) WarningWarn about enumerated switches missing a \"default:\" statementWswitch-enumCommon Var(warn_switch_enum) WarningWarn about all enumerated switches missing a specific caseWsystem-headersCommon Var(warn_system_headers) WarningDo not suppress warnings from system headersWtrampolinesCommon Var(warn_trampolines) WarningWarn whenever a trampoline is generatedWtype-limitsCommon Var(warn_type_limits) Init(-1) WarningWarn if a comparison is always true or always false due to the limited range of the data typeWuninitializedCommon Var(warn_uninitialized) Init(-1) WarningWarn about uninitialized automatic variablesWmaybe-uninitializedCommon Var(warn_maybe_uninitialized) WarningWarn about maybe uninitialized automatic variablesWunreachable-codeCommon IgnoreDoes nothing. Preserved for backward compatibility.WunusedCommon Var(warn_unused) Init(0) WarningEnable all -Wunused- warningsWunused-but-set-parameterCommon Var(warn_unused_but_set_parameter) Init(-1) WarningWarn when a function parameter is only set, otherwise unusedWunused-but-set-variableCommon Var(warn_unused_but_set_variable) Init(-1) WarningWarn when a variable is only set, otherwise unusedWunused-functionCommon Var(warn_unused_function) Init(-1) WarningWarn when a function is unusedWunused-labelCommon Var(warn_unused_label) Init(-1) WarningWarn when a label is unusedWunused-parameterCommon Var(warn_unused_parameter) Init(-1) WarningWarn when a function parameter is unusedWunused-valueCommon Var(warn_unused_value) Init(-1) WarningWarn when an expression value is unusedWunused-variableCommon Var(warn_unused_variable) Init(-1) WarningWarn when a variable is unusedWcoverage-mismatchCommon Var(warn_coverage_mismatch) Init(1) WarningWarn in case profiles in -fprofile-use do not matchWvector-operation-performanceCommon Var(warn_vector_operation_performance) WarningWarn when a vector operation is compiled outside the SIMDXassemblerDriver SeparateXlinkerDriver SeparateXpreprocessorDriver SeparateZDriveraux-infoCommon Separate Var(aux_info_file_name)-aux-info <file> Emit declaration information into <file>aux-info=Common Joined Alias(aux-info)auxbaseCommon Separate RejectDriver Var(aux_base_name)auxbase-stripCommon Separate RejectDrivercoverageDrivercDriverdCommon Joined-d<letters> Enable dumps from specific passes of the compilerdumpbaseCommon Separate Var(dump_base_name)-dumpbase <file> Set the file basename to be used for dumpsdumpdirCommon Separate Var(dump_dir_name)-dumpdir <dir> Set the directory name to be used for dumpsdumpmachineDriverdumpspecsDriverdumpversionDrivereDriver Joined Separate; This option has historically been passed down to the linker by an; accident of a %{e*} spec, so ensure it continues to be passed down; as a single option. The supported option for this purpose is; -rdynamic. See PR 47390.export-dynamicDriver Undocumented; The version of the C++ ABI in use. The following values are allowed:;; 0: The version of the ABI believed most conformant with the C++ ABI; specification. This ABI may change as bugs are discovered and fixed.; Therefore, 0 will not necessarily indicate the same ABI in different; versions of G++.;; 1: The version of the ABI first used in G++ 3.2.;; 2: The version of the ABI first used in G++ 3.4 (and current default).;; 3: The version of the ABI that fixes the missing underscore; in template non-type arguments of pointer type.;; 4: The version of the ABI that introduces unambiguous mangling of; vector types. First selectable in G++ 4.5.;; 5: The version of the ABI that ignores attribute const/noreturn; in function pointer mangling, and corrects mangling of decltype and; function parameters used in other parameters and the return type.; First selectable in G++ 4.6.;; 6: The version of the ABI that doesn't promote scoped enums to int and; changes the mangling of template argument packs, const/static_cast,; prefix ++ and --, and a class scope function used as a template; argument.; First selectable in G++ 4.7.;; Additional positive integers will be assigned as new versions of; the ABI become the default version of the ABI.fabi-version=Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)falign-functionsCommon Report Var(align_functions,0) Optimization UIntegerAlign the start of functionsfalign-functions=Common RejectNegative Joined UInteger Var(align_functions)falign-jumpsCommon Report Var(align_jumps,0) Optimization UIntegerAlign labels which are only reached by jumpingfalign-jumps=Common RejectNegative Joined UInteger Var(align_jumps)falign-labelsCommon Report Var(align_labels,0) Optimization UIntegerAlign all labelsfalign-labels=Common RejectNegative Joined UInteger Var(align_labels)falign-loopsCommon Report Var(align_loops,0) Optimization UIntegerAlign the start of loopsfalign-loops=Common RejectNegative Joined UInteger Var(align_loops)fargument-aliasCommon IgnoreDoes nothing. Preserved for backward compatibility.fargument-noaliasCommon IgnoreDoes nothing. Preserved for backward compatibility.fargument-noalias-globalCommon IgnoreDoes nothing. Preserved for backward compatibility.fargument-noalias-anythingCommon IgnoreDoes nothing. Preserved for backward compatibility.fasynchronous-unwind-tablesCommon Report Var(flag_asynchronous_unwind_tables) OptimizationGenerate unwind tables that are exact at each instruction boundaryfauto-inc-decCommon Report Var(flag_auto_inc_dec) Init(1)Generate auto-inc/dec instructions; -fcheck-bounds causes gcc to generate array bounds checks.; For C, C++ and ObjC: defaults off.; For Java: defaults to on.; For Fortran: defaults to off.fbounds-checkCommon Report Var(flag_bounds_check)Generate code to check bounds before indexing arraysfbranch-count-regCommon Report Var(flag_branch_on_count_reg) Init(1) OptimizationReplace add, compare, branch with branch on count registerfbranch-probabilitiesCommon Report Var(flag_branch_probabilities) OptimizationUse profiling information for branch probabilitiesfbranch-target-load-optimizeCommon Report Var(flag_branch_target_load_optimize) OptimizationPerform branch target load optimization before prologue / epilogue threadingfbranch-target-load-optimize2Common Report Var(flag_branch_target_load_optimize2) OptimizationPerform branch target load optimization after prologue / epilogue threadingfbtr-bb-exclusiveCommon Report Var(flag_btr_bb_exclusive) OptimizationRestrict target load migration not to re-use registers in any basic blockfcall-saved-Common Joined RejectNegative Var(common_deferred_options) Defer-fcall-saved-<register> Mark <register> as being preserved across functionsfcall-used-Common Joined RejectNegative Var(common_deferred_options) Defer-fcall-used-<register> Mark <register> as being corrupted by function calls; Nonzero for -fcaller-saves: allocate values in regs that need to; be saved across function calls, if that produces overall better code.; Optional now, so people can test it.fcaller-savesCommon Report Var(flag_caller_saves) OptimizationSave registers around function callsfcheck-data-depsCommon Report Var(flag_check_data_deps)Compare the results of several data dependence analyzers.fcombine-stack-adjustmentsCommon Report Var(flag_combine_stack_adjustments) OptimizationLooks for opportunities to reduce stack adjustments and stack references.fcommonCommon Report Var(flag_no_common,0) OptimizationDo not put uninitialized globals in the common sectionfcompare-debugDriver; Converted by the driver to -fcompare-debug= options.fcompare-debug=Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dumpfcompare-debug-secondCommon Driver RejectNegative Var(flag_compare_debug)Run only the second compilation of -fcompare-debugfcompare-elimCommon Report Var(flag_compare_elim_after_reload) OptimizationPerform comparison elimination after register allocation has finishedfconserve-stackCommon Var(flag_conserve_stack) OptimizationDo not perform optimizations increasing noticeably stack usagefcprop-registersCommon Report Var(flag_cprop_registers) OptimizationPerform a register copy-propagation optimization passfcrossjumpingCommon Report Var(flag_crossjumping) OptimizationPerform cross-jumping optimizationfcse-follow-jumpsCommon Report Var(flag_cse_follow_jumps) OptimizationWhen running CSE, follow jumps to their targetsfcse-skip-blocksCommon IgnoreDoes nothing. Preserved for backward compatibility.fcx-limited-rangeCommon Report Var(flag_cx_limited_range) Optimization SetByCombinedOmit range reduction step when performing complex divisionfcx-fortran-rulesCommon Report Var(flag_cx_fortran_rules) OptimizationComplex multiplication and division follow Fortran rulesfdata-sectionsCommon Report Var(flag_data_sections) OptimizationPlace data items into their own sectionfdbg-cnt-listCommon Report Var(common_deferred_options) DeferList all available debugging counters with their limits and counts.fdbg-cnt=Common RejectNegative Joined Var(common_deferred_options) Defer-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.fdebug-prefix-map=Common Joined RejectNegative Var(common_deferred_options) DeferMap one directory name to another in debug informationfdebug-types-sectionCommon Report Var(flag_debug_types_section) Init(1)Output .debug_types section when using DWARF v4 debuginfo.; Nonzero for -fdefer-pop: don't pop args after each function call; instead save them up to pop many calls' args with one insns.fdefer-popCommon Report Var(flag_defer_pop) OptimizationDefer popping functions args from stack until laterfdelayed-branchCommon Report Var(flag_delayed_branch) OptimizationAttempt to fill delay slots of branch instructionsfdelete-null-pointer-checksCommon Report Var(flag_delete_null_pointer_checks) Init(1) OptimizationDelete useless null pointer checksfdevirtualizeCommon Report Var(flag_devirtualize) OptimizationTry to convert virtual calls to direct ones.fdiagnostics-show-location=Common Joined RejectNegative Enum(diagnostic_prefixing_rule)-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics; Required for these enum values.SourceIncludepretty-print.hEnumName(diagnostic_prefixing_rule) Type(int)EnumValueEnum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)EnumValueEnum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)fdiagnostics-show-optionCommon Var(flag_diagnostics_show_option) Init(1)Amend appropriate diagnostic messages with the command line option that controls themfdisable-Common Joined RejectNegative Var(common_deferred_options) Defer-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization passfenable-Common Joined RejectNegative Var(common_deferred_options) Defer-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization passfdump-Common Joined RejectNegative Var(common_deferred_options) Defer-fdump-<type> Dump various compiler internals to a filefdump-final-insnsDriver RejectNegativefdump-final-insns=Common RejectNegative Joined Var(flag_dump_final_insns)-fdump-final-insns=filename Dump to filename the insns at the end of translationfdump-go-spec=Common RejectNegative Joined Var(flag_dump_go_spec)-fdump-go-spec=filename Write all declarations to file as Go codefdump-noaddrCommon Report Var(flag_dump_noaddr)Suppress output of addresses in debugging dumpsfdump-passesCommon Var(flag_dump_passes) Init(0)Dump optimization passesfdump-unnumberedCommon Report Var(flag_dump_unnumbered)Suppress output of instruction numbers, line number notes and addresses in debugging dumpsfdump-unnumbered-linksCommon Report Var(flag_dump_unnumbered_links)Suppress output of previous and next insn numbers in debugging dumpsfdwarf2-cfi-asmCommon Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)Enable CFI tables via GAS assembler directives.fearly-inliningCommon Report Var(flag_early_inlining) Init(1) OptimizationPerform early inliningfeliminate-dwarf2-dupsCommon Report Var(flag_eliminate_dwarf2_dups)Perform DWARF2 duplicate eliminationfipa-sraCommon Report Var(flag_ipa_sra) Init(0) OptimizationPerform interprocedural reduction of aggregatesfeliminate-unused-debug-symbolsCommon Report Var(flag_debug_only_used_symbols)Perform unused type elimination in debug infofeliminate-unused-debug-typesCommon Report Var(flag_eliminate_unused_debug_types) Init(1)Perform unused type elimination in debug infofemit-class-debug-alwaysCommon Report Var(flag_emit_class_debug_always) Init(0)Do not suppress C++ class debug information.fexceptionsCommon Report Var(flag_exceptions) OptimizationEnable exception handlingfexpensive-optimizationsCommon Report Var(flag_expensive_optimizations) OptimizationPerform a number of minor, expensive optimizationsfexcess-precision=Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)-fexcess-precision=[fast|standard] Specify handling of excess floating-point precisionEnumName(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)EnumValueEnum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)EnumValueEnum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)ffast-mathCommonffat-lto-objectsCommon Var(flag_fat_lto_objects) Init(1)Output lto objects containing both the intermediate language and binary output.ffinite-math-onlyCommon Report Var(flag_finite_math_only) Optimization SetByCombinedAssume no NaNs or infinities are generatedffixed-Common Joined RejectNegative Var(common_deferred_options) Defer-ffixed-<register> Mark <register> as being unavailable to the compilerffloat-storeCommon Report Var(flag_float_store) OptimizationDon't allocate floats and doubles in extended-precision registersfforce-addrCommon IgnoreDoes nothing. Preserved for backward compatibility.fforward-propagateCommon Report Var(flag_forward_propagate) OptimizationPerform a forward propagation pass on RTLffp-contract=Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST)-ffp-contract=[off|on|fast] Perform floating-point expression contraction.EnumName(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)EnumValueEnum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF); Not implemented, fall back to conservative FP_CONTRACT_OFF.EnumValueEnum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)EnumValueEnum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST); Nonzero means don't put addresses of constant functions in registers.; Used for compiling the Unix kernel, where strange substitutions are; done on the assembly output.ffunction-cseCommon Report Var(flag_no_function_cse,0)Allow function addresses to be held in registersffunction-sectionsCommon Report Var(flag_function_sections)Place each function into its own sectionfgcseCommon Report Var(flag_gcse) OptimizationPerform global common subexpression eliminationfgcse-lmCommon Report Var(flag_gcse_lm) Init(1) OptimizationPerform enhanced load motion during global common subexpression eliminationfgcse-smCommon Report Var(flag_gcse_sm) Init(0) OptimizationPerform store motion after global common subexpression eliminationfgcse-lasCommon Report Var(flag_gcse_las) Init(0) OptimizationPerform redundant load after store elimination in global common subexpressioneliminationfgcse-after-reloadCommon Report Var(flag_gcse_after_reload) OptimizationPerform global common subexpression elimination after register allocationhas finished; This option is not documented yet as its semantics will change.fgraphiteCommon Report Var(flag_graphite)Enable in and out of Graphite representationfgraphite-identityCommon Report Var(flag_graphite_identity) OptimizationEnable Graphite Identity transformationfloop-parallelize-allCommon Report Var(flag_loop_parallelize_all) OptimizationMark all loops as parallelfloop-strip-mineCommon Report Var(flag_loop_strip_mine) OptimizationEnable Loop Strip Mining transformationfloop-interchangeCommon Report Var(flag_loop_interchange) OptimizationEnable Loop Interchange transformationfloop-blockCommon Report Var(flag_loop_block) OptimizationEnable Loop Blocking transformationfgnu-tmCommon Report Var(flag_tm)Enable support for GNU transactional memoryfloop-flattenCommon Report Var(flag_loop_flatten) OptimizationEnable Loop Flattening transformationfstrict-volatile-bitfieldsCommon Report Var(flag_strict_volatile_bitfields) Init(-1)Force bitfield accesses to match their type widthfguess-branch-probabilityCommon Report Var(flag_guess_branch_prob) OptimizationEnable guessing of branch probabilities; Nonzero means ignore `#ident' directives. 0 means handle them.; Generate position-independent code for executables if possible; On SVR4 targets, it also controls whether or not to emit a; string identifying the compiler.fidentCommon Report Var(flag_no_ident,0)Process #ident directivesfif-conversionCommon Report Var(flag_if_conversion) OptimizationPerform conversion of conditional jumps to branchless equivalentsfif-conversion2Common Report Var(flag_if_conversion2) OptimizationPerform conversion of conditional jumps to conditional executionftree-loop-if-convertCommon Report Var(flag_tree_loop_if_convert) Init(-1) OptimizationConvert conditional jumps in innermost loops to branchless equivalentsftree-loop-if-convert-storesCommon Report Var(flag_tree_loop_if_convert_stores) OptimizationAlso if-convert conditional jumps containing memory writes; -finhibit-size-directive inhibits output of .size for ELF.; This is used only for compiling crtstuff.c,; and it may be extended to other effects; needed for crtstuff.c on other systems.finhibit-size-directiveCommon Report Var(flag_inhibit_size_directive)Do not generate .size directivesfindirect-inliningCommon Report Var(flag_indirect_inlining)Perform indirect inlining; General flag to enable inlining. Specifying -fno-inline will disable; all inlining apart from always-inline functions.finlineCommon Report Var(flag_no_inline,0) Init(0)Enable inlining of function declared \"inline\", disabling disables all inliningfinline-small-functionsCommon Report Var(flag_inline_small_functions) OptimizationIntegrate functions into their callers when code size is known not to growfinline-functionsCommon Report Var(flag_inline_functions) OptimizationIntegrate functions not declared \"inline\" into their callers when profitablefinline-functions-called-onceCommon Report Var(flag_inline_functions_called_once) OptimizationIntegrate functions only required by their single callerfinline-limit-Common RejectNegative Joined Alias(finline-limit=)finline-limit=Common RejectNegative Joined UInteger-finline-limit=<number> Limit the size of inlined functions to <number>finline-atomicsCommon Report Var(flag_inline_atomics) Init(1) OptimizationInline __atomic operations when a lock free instruction sequence is available.finstrument-functionsCommon Report Var(flag_instrument_function_entry_exit)Instrument function entry and exit with profiling callsfinstrument-functions-exclude-function-list=Common RejectNegative Joined-finstrument-functions-exclude-function-list=name,... Do not instrument listed functionsfinstrument-functions-exclude-file-list=Common RejectNegative Joined-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in filesfipa-cpCommon Report Var(flag_ipa_cp) OptimizationPerform Interprocedural constant propagationfipa-cp-cloneCommon Report Var(flag_ipa_cp_clone) OptimizationPerform cloning to make Interprocedural constant propagation strongerfipa-profileCommon Report Var(flag_ipa_profile) Init(0) OptimizationPerform interprocedural profile propagationfipa-ptaCommon Report Var(flag_ipa_pta) Init(0) OptimizationPerform interprocedural points-to analysisfipa-pure-constCommon Report Var(flag_ipa_pure_const) Init(0) OptimizationDiscover pure and const functionsfipa-referenceCommon Report Var(flag_ipa_reference) Init(0) OptimizationDiscover readonly and non addressable static variablesfipa-matrix-reorgCommon Report Var(flag_ipa_matrix_reorg) OptimizationPerform matrix layout flattening and transposing basedon profiling information.fipa-struct-reorgCommon IgnoreDoes nothing. Preserved for backward compatibility.fira-algorithm=Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB)-fira-algorithm=[CB|priority] Set the used IRA algorithmEnumName(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)EnumValueEnum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)EnumValueEnum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)fira-region=Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT)-fira-region=[one|all|mixed] Set regions for IRAEnumName(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)EnumValueEnum(ira_region) String(one) Value(IRA_REGION_ONE)EnumValueEnum(ira_region) String(all) Value(IRA_REGION_ALL)EnumValueEnum(ira_region) String(mixed) Value(IRA_REGION_MIXED)fira-loop-pressureCommon Report Var(flag_ira_loop_pressure)Use IRA based register pressure calculationin RTL loop optimizations.fira-share-save-slotsCommon Report Var(flag_ira_share_save_slots) Init(1)Share slots for saving different hard registers.fira-share-spill-slotsCommon Report Var(flag_ira_share_spill_slots) Init(1)Share stack slots for spilled pseudo-registers.fira-verbose=Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)-fira-verbose=<number> Control IRA's level of diagnostic messages.fivoptsCommon Report Var(flag_ivopts) Init(1) OptimizationOptimize induction variables on treesfjump-tablesCommon Var(flag_jump_tables) Init(1) OptimizationUse jump tables for sufficiently large switch statementsfkeep-inline-functionsCommon Report Var(flag_keep_inline_functions)Generate code for functions even if they are fully inlinedfkeep-static-constsCommon Report Var(flag_keep_static_consts) Init(1)Emit static const variables even if they are not usedfleading-underscoreCommon Report Var(flag_leading_underscore) Init(-1)Give external symbols a leading underscorefloop-optimizeCommon IgnoreDoes nothing. Preserved for backward compatibility.fltoCommonEnable link-time optimization.flto=Common RejectNegative Joined Var(flag_lto)Link-time optimization with number of parallel jobs or jobserver.flto-partition=1to1Common Var(flag_lto_partition_1to1)Partition functions and vars at linktime based on object files they originate fromflto-partition=balancedCommon Var(flag_lto_partition_balanced)Partition functions and vars at linktime into approximately same sized bucketsflto-partition=noneCommon Var(flag_lto_partition_none)Disable partioning and streaming; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.flto-compression-level=Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)-flto-compression-level=<number> Use zlib compression level <number> for ILflto-reportCommon Report Var(flag_lto_report) Init(0) OptimizationReport various link-time optimization statisticsfmath-errnoCommon Report Var(flag_errno_math) Init(1) Optimization SetByCombinedSet errno after built-in math functionsfmax-errors=Common Joined RejectNegative UInteger Var(flag_max_errors)-fmax-errors=<number> Maximum number of errors to reportfmem-reportCommon Report Var(mem_report)Report on permanent memory allocation; This will attempt to merge constant section constants, if 1 only; string constants and constants from constant pool, if 2 also constant; variables.fmerge-all-constantsCommon Report Var(flag_merge_constants,2) Init(1) OptimizationAttempt to merge identical constants and constant variablesfmerge-constantsCommon Report Var(flag_merge_constants,1) OptimizationAttempt to merge identical constants across compilation unitsfmerge-debug-stringsCommon Report Var(flag_merge_debug_strings) Init(1)Attempt to merge identical debug strings across compilation unitsfmessage-length=Common RejectNegative Joined UInteger-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrappingfmodulo-schedCommon Report Var(flag_modulo_sched) OptimizationPerform SMS based modulo scheduling before the first scheduling passfmodulo-sched-allow-regmovesCommon Report Var(flag_modulo_sched_allow_regmoves)Perform SMS based modulo scheduling with register moves allowedfmove-loop-invariantsCommon Report Var(flag_move_loop_invariants) Init(1) OptimizationMove loop invariant computations out of loopsfdceCommon Var(flag_dce) Init(1) OptimizationUse the RTL dead code elimination passfdseCommon Var(flag_dse) Init(1) OptimizationUse the RTL dead store elimination passfreschedule-modulo-scheduled-loopsCommon Report Var(flag_resched_modulo_sched) OptimizationEnable/Disable the traditional scheduling in loops that already passed modulo schedulingfnon-call-exceptionsCommon Report Var(flag_non_call_exceptions) OptimizationSupport synchronous non-call exceptionsfomit-frame-pointerCommon Report Var(flag_omit_frame_pointer) OptimizationWhen possible do not generate stack framesfoptimize-register-moveCommon Report Var(flag_regmove) OptimizationDo the full register move optimization passfoptimize-sibling-callsCommon Report Var(flag_optimize_sibling_calls) OptimizationOptimize sibling and tail recursive callsfpartial-inliningCommon Report Var(flag_partial_inlining)Perform partial inliningfpre-ipa-mem-reportCommon Report Var(pre_ipa_mem_report)Report on memory allocation before interprocedural optimizationfpost-ipa-mem-reportCommon Report Var(post_ipa_mem_report)Report on memory allocation before interprocedural optimizationfpack-structCommon Report Var(flag_pack_struct) OptimizationPack structure members together without holesfpack-struct=Common RejectNegative Joined UInteger Optimization-fpack-struct=<number> Set initial maximum structure member alignmentfpcc-struct-returnCommon Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)Return small aggregates in memory, not registersfpeel-loopsCommon Report Var(flag_peel_loops) OptimizationPerform loop peelingfpeepholeCommon Report Var(flag_no_peephole,0) OptimizationEnable machine specific peephole optimizationsfpeephole2Common Report Var(flag_peephole2) OptimizationEnable an RTL peephole pass before sched2fPICCommon Report Var(flag_pic,2)Generate position-independent code if possible (large mode)fPIECommon Report Var(flag_pie,2)Generate position-independent code for executables if possible (large mode)fpicCommon Report Var(flag_pic,1)Generate position-independent code if possible (small mode)fpieCommon Report Var(flag_pie,1)Generate position-independent code for executables if possible (small mode)fplugin=Common Joined RejectNegative Var(common_deferred_options) DeferSpecify a plugin to loadfplugin-arg-Common Joined RejectNegative Var(common_deferred_options) Defer-fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>fpredictive-commoningCommon Report Var(flag_predictive_commoning) OptimizationRun predictive commoning optimization.fprefetch-loop-arraysCommon Report Var(flag_prefetch_loop_arrays) Init(-1) OptimizationGenerate prefetch instructions, if available, for arrays in loopsfprofileCommon Report Var(profile_flag)Enable basic program profiling codefprofile-arcsCommon Report Var(profile_arc_flag)Insert arc-based program profiling codefprofile-dir=Common Joined RejectNegative Var(profile_data_prefix)Set the top-level directory for storing the profile data.The default is 'pwd'.fprofile-correctionCommon Report Var(flag_profile_correction)Enable correction of flow inconsistent profile data inputfprofile-generateCommonEnable common options for generating profile info for profile feedback directed optimizationsfprofile-generate=Common Joined RejectNegativeEnable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=fprofile-useCommon Var(flag_profile_use)Enable common options for performing profile feedback directed optimizationsfprofile-use=Common Joined RejectNegativeEnable common options for performing profile feedback directed optimizations, and set -fprofile-dir=fprofile-valuesCommon Report Var(flag_profile_values)Insert code to profile values of expressionsfrandom-seedCommon Var(common_deferred_options) Deferfrandom-seed=Common Joined RejectNegative Var(common_deferred_options) Defer-frandom-seed=<string> Make compile reproducible using <string>; This switch causes the command line that was used to create an; object file to be recorded into the object file. The exact format; of this recording is target and binary file format dependent.; It is related to the -fverbose-asm switch, but that switch only; records information in the assembler output file as comments, so; they never reach the object file.frecord-gcc-switchesCommon Report Var(flag_record_gcc_switches)Record gcc command line switches in the object file.freg-struct-returnCommon Report Var(flag_pcc_struct_return,0) OptimizationReturn small aggregates in registersfregmoveCommon Report Var(flag_regmove) OptimizationEnables a register move optimizationfrename-registersCommon Report Var(flag_rename_registers) Init(2) OptimizationPerform a register renaming optimization passfreorder-blocksCommon Report Var(flag_reorder_blocks) OptimizationReorder basic blocks to improve code placementfreorder-blocks-and-partitionCommon Report Var(flag_reorder_blocks_and_partition) OptimizationReorder basic blocks and partition into hot and cold sectionsfreorder-functionsCommon Report Var(flag_reorder_functions) OptimizationReorder functions to improve code placementfrerun-cse-after-loopCommon Report Var(flag_rerun_cse_after_loop) OptimizationAdd a common subexpression elimination pass after loop optimizationsfrerun-loop-optCommon IgnoreDoes nothing. Preserved for backward compatibility.frounding-mathCommon Report Var(flag_rounding_math) Optimization SetByCombinedDisable optimizations that assume default FP rounding behaviorfsched-interblockCommon Report Var(flag_schedule_interblock) Init(1) OptimizationEnable scheduling across basic blocksfsched-pressureCommon Report Var(flag_sched_pressure) Init(0) OptimizationEnable register pressure sensitive insn schedulingfsched-specCommon Report Var(flag_schedule_speculative) Init(1) OptimizationAllow speculative motion of non-loadsfsched-spec-loadCommon Report Var(flag_schedule_speculative_load) OptimizationAllow speculative motion of some loadsfsched-spec-load-dangerousCommon Report Var(flag_schedule_speculative_load_dangerous) OptimizationAllow speculative motion of more loadsfsched-verbose=Common RejectNegative Joined UInteger Var(sched_verbose_param)-fsched-verbose=<number> Set the verbosity level of the schedulerfsched2-use-superblocksCommon Report Var(flag_sched2_use_superblocks) OptimizationIf scheduling post reload, do superblock schedulingfsched2-use-tracesCommon IgnoreDoes nothing. Preserved for backward compatibility.fschedule-insnsCommon Report Var(flag_schedule_insns) OptimizationReschedule instructions before register allocationfschedule-insns2Common Report Var(flag_schedule_insns_after_reload) OptimizationReschedule instructions after register allocation; This flag should be on when a target implements non-trivial; scheduling hooks, maybe saving some information for its own sake.; On IA64, for example, this is used for correct bundling.fselective-schedulingCommon Report Var(flag_selective_scheduling) OptimizationSchedule instructions using selective scheduling algorithmfselective-scheduling2Common Report Var(flag_selective_scheduling2) OptimizationRun selective scheduling after reloadfsel-sched-pipeliningCommon Report Var(flag_sel_sched_pipelining) Init(0) OptimizationPerform software pipelining of inner loops during selective schedulingfsel-sched-pipelining-outer-loopsCommon Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) OptimizationPerform software pipelining of outer loops during selective schedulingfsel-sched-reschedule-pipelinedCommon Report Var(flag_sel_sched_reschedule_pipelined) Init(0) OptimizationReschedule pipelined regions without pipelining; sched_stalled_insns means that insns can be moved prematurely from the queue; of stalled insns into the ready list.fsched-stalled-insnsCommon Report Var(flag_sched_stalled_insns) Optimization UIntegerAllow premature scheduling of queued insnsfsched-stalled-insns=Common RejectNegative Joined UInteger-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled; sched_stalled_insns_dep controls how many recently scheduled cycles will; be examined for a dependency on a stalled insn that is candidate for; premature removal from the queue of stalled insns into the ready list (has; an effect only if the flag 'sched_stalled_insns' is set).fsched-stalled-insns-depCommon Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UIntegerSet dependence distance checking in premature scheduling of queued insnsfsched-stalled-insns-dep=Common RejectNegative Joined UInteger-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insnsfsched-group-heuristicCommon Report Var(flag_sched_group_heuristic) Init(1) OptimizationEnable the group heuristic in the schedulerfsched-critical-path-heuristicCommon Report Var(flag_sched_critical_path_heuristic) Init(1) OptimizationEnable the critical path heuristic in the schedulerfsched-spec-insn-heuristicCommon Report Var(flag_sched_spec_insn_heuristic) Init(1) OptimizationEnable the speculative instruction heuristic in the schedulerfsched-rank-heuristicCommon Report Var(flag_sched_rank_heuristic) Init(1) OptimizationEnable the rank heuristic in the schedulerfsched-last-insn-heuristicCommon Report Var(flag_sched_last_insn_heuristic) Init(1) OptimizationEnable the last instruction heuristic in the schedulerfsched-dep-count-heuristicCommon Report Var(flag_sched_dep_count_heuristic) Init(1) OptimizationEnable the dependent count heuristic in the schedulerfsection-anchorsCommon Report Var(flag_section_anchors) OptimizationAccess data in the same section from shared anchor pointsfseeCommon IgnoreDoes nothing. Preserved for backward compatibility.fzeeCommon IgnoreDoes nothing. Preserved for backward compatibility.freeCommon Report Var(flag_ree) Init(0)Turn on Redundant Extensions Elimination pass.fshow-columnCommon Report Var(flag_show_column) Init(1)Show column numbers in diagnostics, when available. Default onfshrink-wrapCommon Report Var(flag_shrink_wrap) OptimizationEmit function prologues only before parts of the function that need it,rather than at the top of the function.fsignaling-nansCommon Report Var(flag_signaling_nans) Optimization SetByCombinedDisable optimizations observable by IEEE signaling NaNsfsigned-zerosCommon Report Var(flag_signed_zeros) Init(1) Optimization SetByCombinedDisable floating point optimizations that ignore the IEEE signedness of zerofsingle-precision-constantCommon Report Var(flag_single_precision_constant) OptimizationConvert floating point constants to single precision constantsfsplit-ivs-in-unrollerCommon Report Var(flag_split_ivs_in_unroller) Init(1) OptimizationSplit lifetimes of induction variables when loops are unrolledfsplit-stackCommon Report Var(flag_split_stack) Init(-1)Generate discontiguous stack framesfsplit-wide-typesCommon Report Var(flag_split_wide_types) OptimizationSplit wide types into independent registersfvariable-expansion-in-unrollerCommon Report Var(flag_variable_expansion_in_unroller) OptimizationApply variable expansion when loops are unrolledfstack-check=Common Report RejectNegative Joined-fstack-check=[no|generic|specific] Insert stack checking code into the programfstack-checkCommon Alias(fstack-check=, specific, no)Insert stack checking code into the program. Same as -fstack-check=specificfstack-limitCommon Var(common_deferred_options) Deferfstack-limit-register=Common RejectNegative Joined Var(common_deferred_options) Defer-fstack-limit-register=<register> Trap if the stack goes past <register>fstack-limit-symbol=Common RejectNegative Joined Var(common_deferred_options) Defer-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>fstack-protectorCommon Report Var(flag_stack_protect, 1)Use propolice as a stack protection methodfstack-protector-allCommon Report RejectNegative Var(flag_stack_protect, 2)Use a stack protection method for every functionfstack-usageCommon RejectNegative Var(flag_stack_usage)Output stack usage information on a per-function basisfstrength-reduceCommon IgnoreDoes nothing. Preserved for backward compatibility.; Nonzero if we should do (language-dependent) alias analysis.; Typically, this analysis will assume that expressions of certain; types do not alias expressions of certain other types. Only used; if alias analysis (in general) is enabled.fstrict-aliasingCommon Report Var(flag_strict_aliasing) OptimizationAssume strict aliasing rules applyfstrict-overflowCommon Report Var(flag_strict_overflow)Treat signed overflow as undefinedfsyntax-onlyCommon Report Var(flag_syntax_only)Check for syntax errors, then stopftest-coverageCommon Report Var(flag_test_coverage)Create data files needed by \"gcov\"fthread-jumpsCommon Report Var(flag_thread_jumps) OptimizationPerform jump threading optimizationsftime-reportCommon Report Var(time_report)Report the time taken by each compiler passftls-model=Common Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation modelEnumName(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)EnumValueEnum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)EnumValueEnum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)EnumValueEnum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)EnumValueEnum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)ftoplevel-reorderCommon Report Var(flag_toplevel_reorder) Init(2) OptimizationReorder top level functions, variables, and asmsftracerCommon Report Var(flag_tracer)Perform superblock formation via tail duplication; Zero means that floating-point math operations cannot generate a; (user-visible) trap. This is the case, for example, in nonstop; IEEE 754 arithmetic.ftrapping-mathCommon Report Var(flag_trapping_math) Init(1) Optimization SetByCombinedAssume floating-point operations can trapftrapvCommon Report Var(flag_trapv) OptimizationTrap for signed overflow in addition, subtraction and multiplicationftree-ccpCommon Report Var(flag_tree_ccp) OptimizationEnable SSA-CCP optimization on treesftree-bit-ccpCommon Report Var(flag_tree_bit_ccp) OptimizationEnable SSA-BIT-CCP optimization on treesftree-store-ccpCommon IgnoreDoes nothing. Preserved for backward compatibility.ftree-chCommon Report Var(flag_tree_ch) OptimizationEnable loop header copying on treesftree-copyrenameCommon Report Var(flag_tree_copyrename) OptimizationReplace SSA temporaries with better names in copiesftree-copy-propCommon Report Var(flag_tree_copy_prop) OptimizationEnable copy propagation on treesftree-store-copy-propCommon IgnoreDoes nothing. Preserved for backward compatibility.ftree-cselimCommon Report Var(flag_tree_cselim) Init(2) OptimizationTransform condition stores into unconditional onesftree-switch-conversionCommon Report Var(flag_tree_switch_conversion) OptimizationPerform conversions of switch initializations.ftree-dceCommon Report Var(flag_tree_dce) OptimizationEnable SSA dead code elimination optimization on treesftree-dominator-optsCommon Report Var(flag_tree_dom) OptimizationEnable dominator optimizationsftree-tail-mergeCommon Report Var(flag_tree_tail_merge) OptimizationEnable tail merging on treesftree-dseCommon Report Var(flag_tree_dse) OptimizationEnable dead store eliminationftree-forwpropCommon Report Var(flag_tree_forwprop) Init(1) OptimizationEnable forward propagation on treesftree-freCommon Report Var(flag_tree_fre) OptimizationEnable Full Redundancy Elimination (FRE) on treesfoptimize-strlenCommon Report Var(flag_optimize_strlen) OptimizationEnable string length optimizations on treesftree-loop-distributionCommon Report Var(flag_tree_loop_distribution) OptimizationEnable loop distribution on treesftree-loop-distribute-patternsCommon Report Var(flag_tree_loop_distribute_patterns) OptimizationEnable loop distribution for patterns transformed into a library callftree-loop-imCommon Report Var(flag_tree_loop_im) Init(1) OptimizationEnable loop invariant motion on treesftree-loop-linearCommon Alias(floop-interchange)Enable loop interchange transforms. Same as -floop-interchangeftree-loop-ivcanonCommon Report Var(flag_tree_loop_ivcanon) Init(1) OptimizationCreate canonical induction variables in loopsftree-loop-optimizeCommon Report Var(flag_tree_loop_optimize) Init(1) OptimizationEnable loop optimizations on tree levelftree-parallelize-loops=Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)Enable automatic parallelization of loopsftree-phipropCommon Report Var(flag_tree_phiprop) Init(1) OptimizationEnable hoisting loads from conditional pointers.ftree-preCommon Report Var(flag_tree_pre) OptimizationEnable SSA-PRE optimization on treesftree-ptaCommon Report Var(flag_tree_pta) Init(1) OptimizationPerform function-local points-to analysis on trees.ftree-reassocCommon Report Var(flag_tree_reassoc) Init(1) OptimizationEnable reassociation on tree levelftree-saliasCommon IgnoreDoes nothing. Preserved for backward compatibility.ftree-sinkCommon Report Var(flag_tree_sink) OptimizationEnable SSA code sinking on treesftree-sraCommon Report Var(flag_tree_sra) OptimizationPerform scalar replacement of aggregatesftree-terCommon Report Var(flag_tree_ter) OptimizationReplace temporary expressions in the SSA->normal passftree-lrsCommon Report Var(flag_tree_live_range_split) OptimizationPerform live range splitting during the SSA->normal passftree-vrpCommon Report Var(flag_tree_vrp) Init(0) OptimizationPerform Value Range Propagation on treesfunit-at-a-timeCommon Report Var(flag_unit_at_a_time) Init(1) OptimizationCompile whole compilation unit at a timefunroll-loopsCommon Report Var(flag_unroll_loops) OptimizationPerform loop unrolling when iteration count is knownfunroll-all-loopsCommon Report Var(flag_unroll_all_loops) OptimizationPerform loop unrolling for all loops; Nonzero means that loop optimizer may assume that the induction variables; that control loops do not overflow and that the loops with nontrivial; exit condition are not infinitefunsafe-loop-optimizationsCommon Report Var(flag_unsafe_loop_optimizations) OptimizationAllow loop optimizations to assume that the loops behave in normal wayfassociative-mathCommon Report Var(flag_associative_math) SetByCombinedAllow optimization for floating-point arithmetic which may change theresult of the operation due to rounding.freciprocal-mathCommon Report Var(flag_reciprocal_math) SetByCombinedSame as -fassociative-math for expressions which include division.; Nonzero means that unsafe floating-point math optimizations are allowed; for the sake of speed. IEEE compliance is not guaranteed, and operations; are allowed to assume that their arguments and results are "normal"; (e.g., nonnegative for SQRT).funsafe-math-optimizationsCommon Report Var(flag_unsafe_math_optimizations) Optimization SetByCombinedAllow math optimizations that may violate IEEE or ISO standardsfunswitch-loopsCommon Report Var(flag_unswitch_loops) OptimizationPerform loop unswitchingfunwind-tablesCommon Report Var(flag_unwind_tables) OptimizationJust generate unwind tables for exception handlingfuse-linker-pluginCommon Undocumented; Positive if we should track variables, negative if we should run; the var-tracking pass only to discard debug annotations, zero if; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it; will be set according to optimize, debug_info_level and debug_hooks; in process_options ().fvar-trackingCommon Report Var(flag_var_tracking) Init(2) OptimizationPerform variable tracking; Positive if we should track variables at assignments, negative if; we should run the var-tracking pass only to discard debug; annotations. When flag_var_tracking_assignments ==; AUTODETECT_VALUE it will be set according to flag_var_tracking.fvar-tracking-assignmentsCommon Report Var(flag_var_tracking_assignments) Init(2) OptimizationPerform variable tracking by annotating assignments; Nonzero if we should toggle flag_var_tracking_assignments after; processing options and computing its default. */fvar-tracking-assignments-toggleCommon Report Var(flag_var_tracking_assignments_toggle) OptimizationToggle -fvar-tracking-assignmentsfvar-tracking-uninitCommon Report Var(flag_var_tracking_uninit) OptimizationPerform variable tracking and also tag variables that are uninitializedftree-vectorizeCommon Report Var(flag_tree_vectorize) OptimizationEnable loop vectorization on treesftree-slp-vectorizeCommon Report Var(flag_tree_slp_vectorize) Init(2) OptimizationEnable basic block vectorization (SLP) on treesfvect-cost-modelCommon Report Var(flag_vect_cost_model) OptimizationEnable use of cost model in vectorizationftree-vect-loop-versionCommon Report Var(flag_tree_vect_loop_version) Init(1) OptimizationEnable loop versioning when doing loop vectorization on treesftree-vectorizer-verbose=Common RejectNegative Joined UInteger-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizerftree-scev-cpropCommon Report Var(flag_tree_scev_cprop) Init(1) OptimizationEnable copy propagation of scalar-evolution information.; -fverbose-asm causes extra commentary information to be produced in; the generated assembly code (to make it more readable). This option; is generally only of use to those who actually need to read the; generated assembly code (perhaps while debugging the compiler itself).; -fno-verbose-asm, the default, causes the extra information; to not be added and is useful when comparing two assembler files.fverbose-asmCommon Report Var(flag_verbose_asm)Add extra commentary to assembler outputfvisibility=Common Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)-fvisibility=[default|internal|hidden|protected] Set the default symbol visibilityEnumName(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)EnumValueEnum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)EnumValueEnum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)EnumValueEnum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)EnumValueEnum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)fvptCommon Report Var(flag_value_profile_transformations) OptimizationUse expression value profiles in optimizationsfwebCommon Report Var(flag_web) Init(2) OptimizationConstruct webs and split unrelated uses of single variableftree-builtin-call-dceCommon Report Var(flag_tree_builtin_call_dce) Init(0) OptimizationEnable conditional dead code elimination for builtin callsfwhole-programCommon Report Var(flag_whole_program) Init(0) OptimizationPerform whole program optimizationsfwrapvCommon Report Var(flag_wrapv) OptimizationAssume signed arithmetic overflow wraps aroundfzero-initialized-in-bssCommon Report Var(flag_zero_initialized_in_bss) Init(1)Put zero initialized data in the bss sectiongCommon JoinedOrMissingGenerate debug information in default formatgcoffCommon JoinedOrMissing Negative(gdwarf-)Generate debug information in COFF formatgdwarf-Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)Generate debug information in DWARF v2 (or later) formatggdbCommon JoinedOrMissingGenerate debug information in default extended formatgno-record-gcc-switchesCommon RejectNegative Var(dwarf_record_gcc_switches,0) Init(0)Don't record gcc command line switches in DWARF DW_AT_producer.grecord-gcc-switchesCommon RejectNegative Var(dwarf_record_gcc_switches,1)Record gcc command line switches in DWARF DW_AT_producer.gstabsCommon JoinedOrMissing Negative(gstabs+)Generate debug information in STABS formatgstabs+Common JoinedOrMissing Negative(gvms)Generate debug information in extended STABS formatgno-strict-dwarfCommon RejectNegative Var(dwarf_strict,0) Init(-1)Emit DWARF additions beyond selected versiongstrict-dwarfCommon Report RejectNegative Var(dwarf_strict,1)Don't emit DWARF additions beyond selected versiongtoggleCommon Report Var(flag_gtoggle)Toggle debug information generationgvmsCommon JoinedOrMissing Negative(gxcoff)Generate debug information in VMS formatgxcoffCommon JoinedOrMissing Negative(gxcoff+)Generate debug information in XCOFF formatgxcoff+Common JoinedOrMissing Negative(gcoff)Generate debug information in extended XCOFF formathDriver Joined Separateiplugindir=Common Joined Var(plugindir_string) Init(0)-iplugindir=<dir> Set <dir> to be the default plugin directorylDriver Joined SeparatenDriverno-canonical-prefixesDrivernodefaultlibsDrivernostartfilesDrivernostdlibDriveroCommon Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)-o <file> Place output into <file>pCommon Var(profile_flag)Enable function profilingpass-exit-codesDriver Var(pass_exit_codes)pedanticCommon Var(pedantic)Issue warnings needed for strict compliance to the standardpedantic-errorsCommon Var(flag_pedantic_errors)Like -pedantic but issue them as errorspgDriverpipeDriver Var(use_pipes)print-file-name=Driver JoinedOrMissing Var(print_file_name)print-libgcc-file-nameDriverprint-multi-directoryDriver Var(print_multi_directory)print-multi-libDriver Var(print_multi_lib)print-multi-os-directoryDriver Var(print_multi_os_directory)print-prog-name=Driver JoinedOrMissing Var(print_prog_name)print-search-dirsDriver Var(print_search_dirs)print-sysrootDriver Var(print_sysroot)print-sysroot-headers-suffixDriver Var(print_sysroot_headers_suffix)quietCommon Var(quiet_flag) RejectDriverDo not display functions compiled or elapsed timerDriversDriversave-tempsDriversave-temps=Driver JoinedtDrivertimeDriver Var(report_times)time=Driver JoinedOrMissinguDriver Joined SeparateundefDriver; C option, but driver must not handle as "-u ndef".vCommon Driver Var(verbose_flag)Enable verbose outputversionCommon Var(version_flag) RejectDriverDisplay the compiler's versionwCommon Var(inhibit_warnings)Suppress warningswrapperDriver Separate Var(wrapper_string)xDriver Joined SeparatesharedDriver RejectNegative Negative(pie)Create a shared libraryshared-libgccDriverspecsDriver Separate Alias(specs=)specs=Driver JoinedstaticDriverstatic-libgccDriverstatic-libgfortranDriver; Documented for Fortran, but always accepted by driver.static-libstdc++Driverstatic-libgoDriver; Documented for Go, but always accepted by driver.symbolicDriverpieDriver RejectNegative Negative(shared)Create a position independent executablezDriver Joined Separate; This comment is to ensure we retain the blank line above.
Go to most recent revision | Compare with Previous | Blame | View Log
