X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2Fcommon.opt;h=1b770bc11a96afd8ff21e5ddd95ee21322eb3d6e;hb=1a59f3db4a4174d02256be51e9e08e9c68478a41;hp=5abd32286d905a08d7c8dc3b4778846caa869856;hpb=180295ed63192b951a6ed9dae07eefc7fd55a3d1;p=gcc.git diff --git a/gcc/common.opt b/gcc/common.opt index 5abd32286d9..1b770bc11a9 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1,6 +1,6 @@ ; Options for the language- and target-independent parts of the compiler. -; Copyright (C) 2003-2017 Free Software Foundation, Inc. +; Copyright (C) 2003-2020 Free Software Foundation, Inc. ; ; This file is part of GCC. ; @@ -48,9 +48,10 @@ bool in_lto_p = false ; This variable is set to non-0 only by LTO front-end. 1 indicates that ; the output produced will be used for incrmeental linking (thus weak symbols -; can still be bound). +; can still be bound) and 2 indicates that the IL is going to be linked and +; and output to LTO object file. Variable -int flag_incremental_link = 0 +enum incremental_link flag_incremental_link = INCREMENTAL_LINK_NONE ; 0 means straightforward implementation of complex divide acceptable. ; 1 means wide ranges of inputs must work for complex divide. @@ -62,9 +63,6 @@ int flag_complex_method = 1 Variable bool flag_warn_unused_result = false -Variable -int *param_values - ; Nonzero if we should write GIMPLE bytecode for link-time optimization. Variable int flag_generate_lto @@ -73,23 +71,6 @@ int flag_generate_lto Variable int flag_generate_offload = 0 -; 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'. -Variable -bool warn_larger_than - -Variable -HOST_WIDE_INT larger_than_size - -; True to warn about any function whose frame size is larger -; than N bytes. -Variable -bool warn_frame_larger_than - -Variable -HOST_WIDE_INT frame_larger_than_size - ; Nonzero means we should be saving declaration info into a .X file. Variable int flag_gen_aux_info = 0 @@ -137,7 +118,7 @@ enum 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. +; write_symbols is set to DBX_DEBUG or XCOFF_DEBUG. Variable bool use_gnu_debug_info_extensions @@ -207,6 +188,12 @@ const char *main_input_basename Variable int main_input_baselength +; The base name used for auxiliary output files. +; dump_base_name minus dump_base_ext. + +Variable +const char *aux_base_name + ; Which options have been printed by --help. Variable char *help_printed @@ -254,6 +241,10 @@ Driver Alias(S) -compile Driver Alias(c) +-completion= +Common Driver Joined Undocumented +Provide bash completion for options starting with provided string. + -coverage Driver Alias(coverage) @@ -267,10 +258,13 @@ Common Separate Alias(d) Common Joined Alias(d) -dumpbase -Common Separate Alias(dumpbase) +Driver Common Separate Alias(dumpbase) + +-dumpbase-ext +Driver Common Separate Alias(dumpbase-ext) -dumpdir -Common Separate Alias(dumpdir) +Driver Common Separate Alias(dumpdir) -entry Driver Separate Alias(e) @@ -449,13 +443,6 @@ Common Driver Alias(-target-help) fversion Common Driver Alias(-version) --param -Common Separate ---param = Set parameter to value. See below for a complete list of parameters. - --param= -Common Joined Alias(-param) - -sysroot Driver Separate Alias(-sysroot=) @@ -563,8 +550,17 @@ Common Var(warn_attributes) Init(1) Warning Warn about inappropriate attribute usage. Wattribute-alias -Common Var(warn_attributes) Init(1) Warning -Warn about type safety and similar errors in attribute alias and related. +Common Alias(Wattribute_alias=, 1, 0) Warning +Warn about type safety and similar errors and mismatches in declarations with alias attributes. + +Wattribute-alias= +Common Joined RejectNegative UInteger Var(warn_attribute_alias) Init(1) Warning IntegerRange(0, 2) +Warn about type safety and similar errors and mismatches in declarations with alias attributes. + +Wcannot-profile +Common Var(warn_cannot_profile) Init(1) Warning +Warn when profiling instrumentation was requested, but could not be applied to +a certain function. Wcast-align Common Var(warn_cast_align) Warning @@ -578,6 +574,14 @@ Wcpp Common Var(warn_cpp) Init(1) Warning Warn when a #warning directive is encountered. +Wattribute-warning +Common Var(warn_attribute_warning) Init(1) Warning +Warn about uses of __attribute__((warning)) declarations. + +Wdeprecated +Common Var(warn_deprecated) Init(1) Warning +Warn if a deprecated compiler feature, class, method, or field is used. + Wdeprecated-declarations Common Var(warn_deprecated_decl) Init(1) Warning Warn about uses of __attribute__((deprecated)) declarations. @@ -603,8 +607,12 @@ Common Var(flag_fatal_errors) Exit on the first error occurred. Wframe-larger-than= -Common RejectNegative Joined UInteger Warning --Wframe-larger-than= Warn if a function's stack frame requires more than bytes. +Common RejectNegative Joined Host_Wide_Int ByteSize Warning Var(warn_frame_larger_than_size) Init(HOST_WIDE_INT_MAX) +-Wframe-larger-than= Warn if a function's stack frame requires in excess of . + +Wno-frame-larger-than +Common Alias(Wframe-larger-than=,18446744073709551615EiB,none) Warning +Disable -Wframe-larger-than= warning. Equivalent to -Wframe-larger-than= or larger. Wfree-nonheap-object Common Var(warn_free_nonheap_object) Init(1) Warning @@ -622,7 +630,7 @@ Common Var(warn_implicit_fallthrough) RejectNegative Joined UInteger Warning Int Warn when a switch case falls through. Winline -Common Var(warn_inline) Warning +Common Var(warn_inline) Warning Optimization Warn when an inlined function cannot be inlined. Winvalid-memory-model @@ -633,8 +641,12 @@ Wlarger-than- Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=) Wlarger-than= -Common RejectNegative Joined UInteger Warning --Wlarger-than= Warn if an object is larger than bytes. +Common RejectNegative Joined Host_Wide_Int ByteSize Warning Var(warn_larger_than_size) Init(HOST_WIDE_INT_MAX) +-Wlarger-than= Warn if an object's size exceeds . + +Wno-larger-than +Common Alias(Wlarger-than=,18446744073709551615EiB,none) Warning +Disable -Wlarger-than= warning. Equivalent to -Wlarger-than= or larger. Wnonnull-compare Var(warn_nonnull_compare) Warning @@ -645,8 +657,8 @@ Common Var(warn_null_dereference) Warning Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior. Wunsafe-loop-optimizations -Common Var(warn_unsafe_loop_optimizations) Warning -Warn if the loop cannot be optimized due to nontrivial assumptions. +Common Ignore Warning +Does nothing. Preserved for backward compatibility. Wmissing-noreturn Common Warning Alias(Wsuggest-attribute=noreturn) @@ -706,8 +718,12 @@ Common Var(warn_stack_protect) Warning Warn when not issuing stack smashing protection for some reason. Wstack-usage= -Common Joined RejectNegative UInteger Var(warn_stack_usage) Warning --Wstack-usage= Warn if stack usage might be larger than specified amount. +Common Joined RejectNegative Host_Wide_Int ByteSize Var(warn_stack_usage) Warning Init(HOST_WIDE_INT_MAX) +-Wstack-usage= Warn if stack usage might exceed . + +Wno-stack-usage +Common Alias(Wstack-usage=,18446744073709551615EiB,none) Warning +Disable Wstack-usage= warning. Equivalent to Wstack-usage= or larger. Wstrict-aliasing Common Warning @@ -818,6 +834,10 @@ Wcoverage-mismatch Common Var(warn_coverage_mismatch) Init(1) Warning Warn in case profiles in -fprofile-use do not match. +Wmissing-profile +Common Var(warn_missing_profile) Init(1) Warning +Warn in case profiles in -fprofile-use do not exist. + Wvector-operation-performance Common Var(warn_vector_operation_performance) Warning Warn when a vector operation is compiled outside the SIMD. @@ -841,12 +861,6 @@ Common Separate Var(aux_info_file_name) aux-info= Common Joined Alias(aux-info) -auxbase -Common Separate RejectDriver Var(aux_base_name) - -auxbase-strip -Common Separate RejectDriver - coverage Driver @@ -858,11 +872,15 @@ Common Joined -d Enable dumps from specific passes of the compiler. dumpbase -Common Separate Var(dump_base_name) +Driver Common Separate Var(dump_base_name) -dumpbase Set the file basename to be used for dumps. +dumpbase-ext +Driver Common Separate Var(dump_base_ext) +-dumpbase-ext . Drop a trailing . from the dump basename to name auxiliary output files. + dumpdir -Common Separate Var(dump_dir_name) +Driver Common Separate Var(dump_dir_name) -dumpdir Set the directory name to be used for dumps. dumpmachine @@ -936,8 +954,14 @@ Driver Undocumented ; Default in G++ 7. ; ; 12: Corrects the calling convention for classes with only deleted copy/move -; constructors. -; Default in G++ 8. +; constructors and changes passing/returning of empty records. +; Default in G++ 8.1. +; +; 13: Fixes the accidental change in 12 to the calling convention for classes +; with deleted copy constructor and trivial move constructor. +; Default in G++ 8.2. +; 14: Corrects the mangling of nullptr expression. +; Default in G++ 10. ; ; Additional positive integers will be assigned as new versions of ; the ABI become the default version of the ABI. @@ -950,35 +974,43 @@ Common Report Var(flag_aggressive_loop_optimizations) Optimization Init(1) Aggressively optimize loops using language constraints. falign-functions -Common Report Var(align_functions,0) Optimization UInteger +Common Report Var(flag_align_functions) Optimization Align the start of functions. falign-functions= -Common RejectNegative Joined UInteger Var(align_functions) +Common RejectNegative Joined Var(str_align_functions) Optimization flimit-function-alignment Common Report Var(flag_limit_function_alignment) Optimization Init(0) falign-jumps -Common Report Var(align_jumps,0) Optimization UInteger +Common Report Var(flag_align_jumps) Optimization Align labels which are only reached by jumping. falign-jumps= -Common RejectNegative Joined UInteger Var(align_jumps) +Common RejectNegative Joined Var(str_align_jumps) Optimization falign-labels -Common Report Var(align_labels,0) Optimization UInteger +Common Report Var(flag_align_labels) Optimization Align all labels. falign-labels= -Common RejectNegative Joined UInteger Var(align_labels) +Common RejectNegative Joined Var(str_align_labels) Optimization falign-loops -Common Report Var(align_loops,0) Optimization UInteger +Common Report Var(flag_align_loops) Optimization Align the start of loops. falign-loops= -Common RejectNegative Joined UInteger Var(align_loops) +Common RejectNegative Joined Var(str_align_loops) Optimization + +fallow-store-data-races +Common Report Var(flag_store_data_races) Optimization +Allow the compiler to introduce new data races on stores. + +fanalyzer +Common Var(flag_analyzer) +Enable static analysis pass. fargument-alias Common Ignore @@ -1002,7 +1034,7 @@ Select what to sanitize. fsanitize-coverage= Common Report Joined -Select what to coverage sanitize. +Select type of coverage sanitization. fasan-shadow-offset= Common Joined RejectNegative Var(common_deferred_options) Defer @@ -1063,16 +1095,24 @@ Common Report Var(flag_branch_probabilities) Optimization Use profiling information for branch probabilities. fbranch-target-load-optimize -Common Report Var(flag_branch_target_load_optimize) Optimization -Perform branch target load optimization before prologue / epilogue threading. +Common Ignore +Does nothing. Preserved for backward compatibility. fbranch-target-load-optimize2 -Common Report Var(flag_branch_target_load_optimize2) Optimization -Perform branch target load optimization after prologue / epilogue threading. +Common Ignore +Does nothing. Preserved for backward compatibility. fbtr-bb-exclusive -Common Report Var(flag_btr_bb_exclusive) Optimization -Restrict target load migration not to re-use registers in any basic block. +Common Ignore +Does nothing. Preserved for backward compatibility. + +fcallgraph-info +Common Report RejectNegative Var(flag_callgraph_info) Init(NO_CALLGRAPH_INFO); +Output callgraph information on a per-file basis. + +fcallgraph-info= +Common Report RejectNegative Joined +Output callgraph information on a per-file basis with decorations. fcall-saved- Common Joined RejectNegative Var(common_deferred_options) Defer @@ -1090,7 +1130,7 @@ Common Report Var(flag_caller_saves) Optimization Save registers around function calls. fcheck-data-deps -Common Report Var(flag_check_data_deps) +Common Ignore This switch is deprecated; do not use. fcheck-new @@ -1114,8 +1154,8 @@ Common Report Var(flag_combine_stack_adjustments) Optimization Looks for opportunities to reduce stack adjustments and stack references. fcommon -Common Report Var(flag_no_common,0) -Do not put uninitialized globals in the common section. +Common Report Var(flag_no_common,0) Init(1) +Put uninitialized globals in the common section. fcompare-debug Driver @@ -1171,11 +1211,15 @@ List all available debugging counters with their limits and counts. fdbg-cnt= Common RejectNegative Joined Var(common_deferred_options) Defer --fdbg-cnt=:[,:,...] Set the debug counter limit. +-fdbg-cnt=[:-][:-:...][,:...] Set the debug counter limit. fdebug-prefix-map= Common Joined RejectNegative Var(common_deferred_options) Defer -Map one directory name to another in debug information. +-fdebug-prefix-map== Map one directory name to another in debug information. + +ffile-prefix-map= +Common Joined RejectNegative Var(common_deferred_options) Defer +-ffile-prefix-map== Map one directory name to another in compilation result. fdebug-types-section Common Report Var(flag_debug_types_section) Init(0) @@ -1232,6 +1276,14 @@ fdiagnostics-show-caret Common Var(flag_diagnostics_show_caret) Init(1) Show the source line with a caret indicating the column. +fdiagnostics-show-labels +Common Var(flag_diagnostics_show_labels) Init(1) +Show labels annotating ranges of source code when showing source. + +fdiagnostics-show-line-numbers +Common Var(flag_diagnostics_show_line_numbers) Init(1) +Show line numbers in the left margin when showing source. + fdiagnostics-color Common Alias(fdiagnostics-color=,always,never) ; @@ -1256,6 +1308,43 @@ Enum(diagnostic_color_rule) String(always) Value(DIAGNOSTICS_COLOR_YES) EnumValue Enum(diagnostic_color_rule) String(auto) Value(DIAGNOSTICS_COLOR_AUTO) +fdiagnostics-urls= +Driver Common Joined RejectNegative Var(flag_diagnostics_show_urls) Enum(diagnostic_url_rule) Init(DIAGNOSTICS_URL_AUTO) +-fdiagnostics-urls=[never|always|auto] Embed URLs in diagnostics. + +; Required for these enum values. +SourceInclude +diagnostic-url.h + +Enum +Name(diagnostic_url_rule) Type(int) + +EnumValue +Enum(diagnostic_url_rule) String(never) Value(DIAGNOSTICS_URL_NO) + +EnumValue +Enum(diagnostic_url_rule) String(always) Value(DIAGNOSTICS_URL_YES) + +EnumValue +Enum(diagnostic_url_rule) String(auto) Value(DIAGNOSTICS_URL_AUTO) + +fdiagnostics-format= +Common Joined RejectNegative Enum(diagnostics_output_format) +-fdiagnostics-format=[text|json] Select output format. + +; Required for these enum values. +SourceInclude +diagnostic.h + +Enum +Name(diagnostics_output_format) Type(int) + +EnumValue +Enum(diagnostics_output_format) String(text) Value(DIAGNOSTICS_OUTPUT_FORMAT_TEXT) + +EnumValue +Enum(diagnostics_output_format) String(json) Value(DIAGNOSTICS_OUTPUT_FORMAT_JSON) + fdiagnostics-parseable-fixits Common Var(flag_diagnostics_parseable_fixits) Print fix-it hints in machine-readable form. @@ -1268,13 +1357,41 @@ fdiagnostics-show-option Common Var(flag_diagnostics_show_option) Init(1) Amend appropriate diagnostic messages with the command line option that controls them. +fdiagnostics-show-cwe +Common Var(flag_diagnostics_show_cwe) Init(1) +Print CWE identifiers for diagnostic messages, where available. + +fdiagnostics-path-format= +Common Joined RejectNegative Var(flag_diagnostics_path_format) Enum(diagnostic_path_format) Init(DPF_INLINE_EVENTS) +Specify how to print any control-flow path associated with a diagnostic. + +Enum +Name(diagnostic_path_format) Type(int) + +EnumValue +Enum(diagnostic_path_format) String(none) Value(DPF_NONE) + +EnumValue +Enum(diagnostic_path_format) String(separate-events) Value(DPF_SEPARATE_EVENTS) + +EnumValue +Enum(diagnostic_path_format) String(inline-events) Value(DPF_INLINE_EVENTS) + +fdiagnostics-show-path-depths +Common Var(flag_diagnostics_show_path_depths) Init(0) +Show stack depths of events in paths. + +fdiagnostics-minimum-margin-width= +Common Joined UInteger Var(diagnostics_minimum_margin_width) Init(6) +Set minimum width of left margin of source code when showing source. + fdisable- Common Joined RejectNegative Var(common_deferred_options) Defer --fdisable-[tree|rtl|ipa]-=range1+range2 disables an optimization pass. +-fdisable-[tree|rtl|ipa]-=range1+range2 Disable an optimization pass. fenable- Common Joined RejectNegative Var(common_deferred_options) Defer --fenable-[tree|rtl|ipa]-=range1+range2 enables an optimization pass. +-fenable-[tree|rtl|ipa]-=range1+range2 Enable an optimization pass. fdump- Common Joined RejectNegative Var(common_deferred_options) Defer @@ -1333,7 +1450,7 @@ Common Report Var(flag_ipa_sra) Init(0) Optimization Perform interprocedural reduction of aggregates. feliminate-unused-debug-symbols -Common Report Var(flag_debug_only_used_symbols) +Common Report Var(flag_debug_only_used_symbols) Init(1) Perform unused symbol elimination in debug info. feliminate-unused-debug-types @@ -1353,7 +1470,7 @@ Common Report Var(flag_expensive_optimizations) Optimization Perform a number of minor, expensive optimizations. fexcess-precision= -Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT) SetByCombined +Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision) Init(EXCESS_PRECISION_DEFAULT) Optimization SetByCombined -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision. Enum @@ -1391,6 +1508,10 @@ ffinite-math-only Common Report Var(flag_finite_math_only) Optimization SetByCombined Assume no NaNs or infinities are generated. +ffinite-loops +Common Report Var(flag_finite_loops) Optimization Init(0) +Assume that loops with an exit will terminate and not loop indefinitely. + ffixed- Common Joined RejectNegative Var(common_deferred_options) Defer -ffixed- Mark as being unavailable to the compiler. @@ -1475,7 +1596,7 @@ Enum(dwarf_gnat_encodings) String(minimal) Value(DWARF_GNAT_ENCODINGS_MINIMAL) fgnat-encodings= Common Enum(dwarf_gnat_encodings) Joined RejectNegative Report Undocumented Var(gnat_encodings) --fgnat-encodings=[all|gdb|minimal] Select the balance between GNAT encodings and standard DWARF emitted in the debug information +-fgnat-encodings=[all|gdb|minimal] Select the balance between GNAT encodings and standard DWARF emitted in the debug information. ; This option is not documented yet as its semantics will change. fgraphite @@ -1495,6 +1616,11 @@ fkeep-gc-roots-live Common Undocumented Report Var(flag_keep_gc_roots_live) Optimization ; Always keep a pointer to a live memory block +flarge-source-files +Common Report Var(flag_large_source_files) Init(0) +Improve GCC's ability to track column numbers in large source files, +at the expense of slower compilation. + floop-parallelize-all Common Report Var(flag_loop_parallelize_all) Optimization Mark all loops as parallel. @@ -1504,16 +1630,16 @@ Common Alias(floop-nest-optimize) Enable loop nest transforms. Same as -floop-nest-optimize. floop-interchange -Common Alias(floop-nest-optimize) -Enable loop nest transforms. Same as -floop-nest-optimize. +Common Report Var(flag_loop_interchange) Optimization +Enable loop interchange on trees. floop-block Common Alias(floop-nest-optimize) Enable loop nest transforms. Same as -floop-nest-optimize. floop-unroll-and-jam -Common Alias(floop-nest-optimize) -Enable loop nest transforms. Same as -floop-nest-optimize. +Common Report Var(flag_unroll_jam) Optimization +Perform unroll-and-jam on loops. fgnu-tm Common Report Var(flag_tm) @@ -1633,7 +1759,7 @@ Common Report Joined RejectNegative Enum(cf_protection_level) Var(flag_cf_protec instructions have valid targets. Enum -Name(cf_protection_level) Type(enum cf_protection_level) UnknownError(unknown Cotrol-Flow Protection Level %qs) +Name(cf_protection_level) Type(enum cf_protection_level) UnknownError(unknown Control-Flow Protection Level %qs) EnumValue Enum(cf_protection_level) String(full) Value(CF_FULL) @@ -1653,11 +1779,11 @@ Instrument function entry and exit with profiling calls. finstrument-functions-exclude-function-list= Common RejectNegative Joined --finstrument-functions-exclude-function-list=name,... Do not instrument listed functions. +-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions. finstrument-functions-exclude-file-list= Common RejectNegative Joined --finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files. +-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files. fipa-cp Common Report Var(flag_ipa_cp) Optimization @@ -1701,7 +1827,15 @@ Perform Identical Code Folding for variables. fipa-reference Common Report Var(flag_ipa_reference) Init(0) Optimization -Discover readonly and non addressable static variables. +Discover read-only and non addressable static variables. + +fipa-reference-addressable +Common Report Var(flag_ipa_reference_addressable) Init(0) Optimization +Discover read-only, write-only and non-addressable static variables. + +fipa-stack-alignment +Common Report Var(flag_ipa_stack_alignment) Init(1) Optimization +Reduce stack alignment on call sites if possible. fipa-matrix-reorg Common Ignore @@ -1830,12 +1964,12 @@ Specify the algorithm to partition symbols and vars at linktime. ; 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) IntegerRange(0, 9) --flto-compression-level= Use zlib compression level for IL. +Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1) IntegerRange(0, 19) +-flto-compression-level= Use zlib/zstd compression level for IL. flto-odr-type-merging -Common Report Var(flag_lto_odr_type_mering) Init(1) -Merge C++ types using One Definition Rule. +Common Ignore +Does nothing. Preserved for backward compatibility. flto-report Common Report Var(flag_lto_report) Init(0) @@ -1897,7 +2031,7 @@ Common Var(flag_dce) Init(1) Optimization Use the RTL dead code elimination pass. fdse -Common Var(flag_dse) Init(1) Optimization +Common Var(flag_dse) Init(0) Optimization Use the RTL dead store elimination pass. freschedule-modulo-scheduled-loops @@ -1910,11 +2044,11 @@ Support synchronous non-call exceptions. foffload= Common Driver Joined MissingArgError(options or targets missing after %qs) --foffload== Specify offloading targets and options for them. +-foffload== Specify offloading targets and options for them. foffload-abi= Common Joined RejectNegative Enum(offload_abi) Var(flag_offload_abi) Init(OFFLOAD_ABI_UNSET) --foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler. +-foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler. Enum Name(offload_abi) Type(enum offload_abi) UnknownError(unknown offload ABI %qs) @@ -1937,6 +2071,10 @@ fopt-info- Common Joined RejectNegative Var(common_deferred_options) Defer -fopt-info[-=filename] Dump compiler optimization details. +fsave-optimization-record +Common Report Var(flag_save_optimization_record) Optimization +Write a SRCFILE.opt-record.json file detailing what optimizations were performed. + foptimize-register-move Common Ignore Does nothing. Preserved for backward compatibility. @@ -2034,6 +2172,10 @@ Common Joined RejectNegative Var(profile_data_prefix) Set the top-level directory for storing the profile data. The default is 'pwd'. +fprofile-note= +Common Joined RejectNegative Var(profile_note_location) +Select the name for storing the profile note file. + fprofile-correction Common Report Var(flag_profile_correction) Enable correction of flow inconsistent profile data input. @@ -2042,6 +2184,30 @@ fprofile-update= Common Joined RejectNegative Enum(profile_update) Var(flag_profile_update) Init(PROFILE_UPDATE_SINGLE) -fprofile-update=[single|atomic|prefer-atomic] Set the profile update method. +fprofile-filter-files= +Common Joined RejectNegative Var(flag_profile_filter_files) +Instrument only functions from files where names match any regular expression (separated by a semi-colon). + +fprofile-exclude-files= +Common Joined RejectNegative Var(flag_profile_exclude_files) +Instrument only functions from files where names do not match all the regular expressions (separated by a semi-colon). + +Enum +Name(profile_reproducibility) Type(enum profile_reproducibility) UnknownError(unknown profile reproducibility method %qs) + +EnumValue +Enum(profile_reproducibility) String(serial) Value(PROFILE_REPRODUCIBILITY_SERIAL) + +EnumValue +Enum(profile_reproducibility) String(parallel-runs) Value(PROFILE_REPRODUCIBILITY_PARALLEL_RUNS) + +EnumValue +Enum(profile_reproducibility) String(multithreaded) Value(PROFILE_REPRODUCIBILITY_MULTITHREADED) + +fprofile-reproducible +Common Joined RejectNegative Var(flag_profile_reproducible) Enum(profile_reproducibility) Init(PROFILE_REPRODUCIBILITY_SERIAL) +-fprofile-reproducible=[serial|parallel-runs|multithreaded] Control level of reproducibility of profile gathered by -fprofile-generate. + Enum Name(profile_update) Type(enum profile_update) UnknownError(unknown profile update method %qs) @@ -2054,6 +2220,10 @@ Enum(profile_update) String(atomic) Value(PROFILE_UPDATE_ATOMIC) EnumValue Enum(profile_update) String(prefer-atomic) Value(PROFILE_UPDATE_PREFER_ATOMIC) +fprofile-prefix-path= +Common Joined RejectNegative Var(profile_prefix_path) +Remove prefix from absolute path before mangling name for -fprofile-generate= and -fprofile-use=. + fprofile-generate Common Enable common options for generating profile info for profile feedback directed optimizations. @@ -2062,6 +2232,10 @@ fprofile-generate= Common Joined RejectNegative Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=. +fprofile-partial-training +Common Report Var(flag_profile_partial_training) Optimization +Do not assume that functions never executed during the train run are cold. + fprofile-use Common Var(flag_profile_use) Enable common options for performing profile feedback directed optimizations. @@ -2079,7 +2253,7 @@ Common Report Var(profile_report) Report on consistency of profile. fprofile-reorder-functions -Common Report Var(flag_profile_reorder_functions) +Common Report Var(flag_profile_reorder_functions) Optimization Enable function reordering that improves code placement. fpatchable-function-entry= @@ -2119,6 +2293,28 @@ starts and when the destructor finishes. flifetime-dse= Common Joined RejectNegative UInteger Var(flag_lifetime_dse) Optimization IntegerRange(0, 2) +flive-patching +Common RejectNegative Alias(flive-patching=,inline-clone) Optimization + +flive-patching= +Common Report Joined RejectNegative Enum(live_patching_level) Var(flag_live_patching) Init(LIVE_PATCHING_NONE) Optimization +-flive-patching=[inline-only-static|inline-clone] Control IPA +optimizations to provide a safe compilation for live-patching. At the same +time, provides multiple-level control on the enabled IPA optimizations. + +Enum +Name(live_patching_level) Type(enum live_patching_level) UnknownError(unknown Live-Patching Level %qs) + +EnumValue +Enum(live_patching_level) String(inline-only-static) Value(LIVE_PATCHING_INLINE_ONLY_STATIC) + +EnumValue +Enum(live_patching_level) String(inline-clone) Value(LIVE_PATCHING_INLINE_CLONE) + +fallocation-dce +Common Report Var(flag_allocation_dce) Init(1) Optimization +Tell DCE to remove unused C++ allocations. + flive-range-shrinkage Common Report Var(flag_live_range_shrinkage) Init(0) Optimization Relief of register pressure through live range shrinkage. @@ -2298,7 +2494,7 @@ Common Ignore Does nothing. Preserved for backward compatibility. free -Common Report Var(flag_ree) Init(0) +Common Report Var(flag_ree) Init(0) Optimization Turn on Redundant Extensions Elimination pass. fshow-column @@ -2338,6 +2534,10 @@ fsplit-wide-types Common Report Var(flag_split_wide_types) Optimization Split wide types into independent registers. +fsplit-wide-types-early +Common Report Var(flag_split_wide_types_early) Optimization +Split wide types into independent registers earlier. + fssa-backprop Common Report Var(flag_ssa_backprop) Init(1) Optimization Enable backward propagation of use properties at the SSA level. @@ -2411,8 +2611,8 @@ Common Report Var(flag_strict_aliasing) Optimization Assume strict aliasing rules apply. fstrict-overflow -Common NegativeAlias Alias(fwrapv) -Treat signed overflow as undefined. Negated as -fwrapv. +Common Report +Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer. fsync-libcalls Common Report Var(flag_sync_libcalls) Init(1) @@ -2458,7 +2658,7 @@ EnumValue Enum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC) ftoplevel-reorder -Common Report Var(flag_toplevel_reorder) Init(2) +Common Report Var(flag_toplevel_reorder) Init(2) Optimization Reorder top level functions, variables, and asms. ftracer @@ -2695,6 +2895,10 @@ fsplit-loops Common Report Var(flag_split_loops) Optimization Perform loop splitting. +fversion-loops-for-strides +Common Report Var(flag_version_loops_for_strides) Optimization +Version loops based on whether indices have a stride of one. + funwind-tables Common Report Var(flag_unwind_tables) Optimization Just generate unwind tables for exception handling. @@ -2707,6 +2911,10 @@ fuse-ld=gold Common Driver Negative(fuse-ld=bfd) Use the gold linker instead of the default linker. +fuse-ld=lld +Common Driver Negative(fuse-ld=lld) +Use the lld LLVM linker instead of the default linker. + fuse-linker-plugin Common Undocumented Var(flag_use_linker_plugin) @@ -2760,7 +2968,6 @@ Enable basic block vectorization (SLP) on trees. fvect-cost-model= Common Joined RejectNegative Enum(vect_cost_model) Var(flag_vect_cost_model) Init(VECT_COST_MODEL_DEFAULT) Optimization -Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap] Specifies the cost model for vectorization. fsimd-cost-model= @@ -2860,6 +3067,10 @@ fwhole-program Common Report Var(flag_whole_program) Init(0) Perform whole program optimizations. +fwrapv-pointer +Common Report Var(flag_wrapv_pointer) Optimization +Assume pointer overflow wraps around. + fwrapv Common Report Var(flag_wrapv) Optimization Assume signed arithmetic overflow wraps around. @@ -2872,6 +3083,30 @@ g Common Driver RejectNegative JoinedOrMissing Generate debug information in default format. +gas-loc-support +Common Driver Var(dwarf2out_as_loc_support) Init(2) +Assume assembler support for (DWARF2+) .loc directives. + +gas-locview-support +Common Driver Var(dwarf2out_as_locview_support) Init(2) +Assume assembler support for view in (DWARF2+) .loc directives. + +gcoff +Common Driver WarnRemoved +Does nothing. Preserved for backward compatibility. + +gcoff1 +Common Driver WarnRemoved +Does nothing. Preserved for backward compatibility. + +gcoff2 +Common Driver WarnRemoved +Does nothing. Preserved for backward compatibility. + +gcoff3 +Common Driver WarnRemoved +Does nothing. Preserved for backward compatibility. + gcolumn-info Common Driver Var(debug_column_info,1) Init(1) Record DW_AT_decl_column and DW_AT_call_column in DWARF. @@ -2888,6 +3123,14 @@ ggdb Common Driver JoinedOrMissing Generate debug information in default extended format. +ginline-points +Common Driver Var(debug_inline_points) Init(2) +Generate extended entry point information for inlined functions. + +ginternal-reset-location-views +Common Driver Var(debug_internal_reset_location_views) Init(2) +Compute locview reset points based on insn length estimates. + gno- RejectNegative Joined Undocumented ; Catch the gno- prefix, so it doesn't backtrack to g. @@ -2920,14 +3163,29 @@ gstabs+ Common Driver JoinedOrMissing Negative(gvms) Generate debug information in extended STABS format. +gstatement-frontiers +Common Driver Var(debug_nonbind_markers_p) Init(2) +Emit progressive recommended breakpoint locations. + gstrict-dwarf Common Driver Report Var(dwarf_strict) Init(0) Don't emit DWARF additions beyond selected version. +gdescribe-dies +Common Driver Report Var(flag_describe_dies) Init(0) +Add description attributes to some DWARF DIEs that have no name attribute. + gtoggle Common Driver Report Var(flag_gtoggle) Toggle debug information generation. +gvariable-location-views +Common Driver Var(debug_variable_location_views, 1) Init(2) +Augment variable location lists with progressive views. + +gvariable-location-views=incompat5 +Common Driver RejectNegative Var(debug_variable_location_views, -1) Init(2) + gvms Common Driver JoinedOrMissing Negative(gxcoff) Generate debug information in VMS format. @@ -2988,6 +3246,9 @@ Driver nostartfiles Driver +nolibc +Driver + nostdlib Driver