1e4b17023SJohn Marino; Options for the language- and target-independent parts of the compiler. 2e4b17023SJohn Marino 3e4b17023SJohn Marino; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 4e4b17023SJohn Marino; Free Software Foundation, Inc. 5e4b17023SJohn Marino; 6e4b17023SJohn Marino; This file is part of GCC. 7e4b17023SJohn Marino; 8e4b17023SJohn Marino; GCC is free software; you can redistribute it and/or modify it under 9e4b17023SJohn Marino; the terms of the GNU General Public License as published by the Free 10e4b17023SJohn Marino; Software Foundation; either version 3, or (at your option) any later 11e4b17023SJohn Marino; version. 12e4b17023SJohn Marino; 13e4b17023SJohn Marino; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 14e4b17023SJohn Marino; WARRANTY; without even the implied warranty of MERCHANTABILITY or 15e4b17023SJohn Marino; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16e4b17023SJohn Marino; for more details. 17e4b17023SJohn Marino; 18e4b17023SJohn Marino; You should have received a copy of the GNU General Public License 19e4b17023SJohn Marino; along with GCC; see the file COPYING3. If not see 20e4b17023SJohn Marino; <http://www.gnu.org/licenses/>. 21e4b17023SJohn Marino 22e4b17023SJohn Marino; See the GCC internals manual (options.texi) for a description of this file's format. 23e4b17023SJohn Marino 24e4b17023SJohn Marino; Please try to keep this file in ASCII collating order. 25e4b17023SJohn Marino 26e4b17023SJohn MarinoVariable 27e4b17023SJohn Marinoint target_flags 28e4b17023SJohn Marino 29e4b17023SJohn MarinoVariable 30e4b17023SJohn Marinoint optimize 31e4b17023SJohn Marino 32e4b17023SJohn MarinoVariable 33e4b17023SJohn Marinoint optimize_size 34e4b17023SJohn Marino 35e4b17023SJohn Marino; Not used directly to control optimizations, only to save -Ofast 36e4b17023SJohn Marino; setting for "optimize" attributes. 37e4b17023SJohn MarinoVariable 38e4b17023SJohn Marinoint optimize_fast 39e4b17023SJohn Marino 40e4b17023SJohn Marino; True if this is the lto front end. This is used to disable gimple 41e4b17023SJohn Marino; generation and lowering passes that are normally run on the output 42e4b17023SJohn Marino; of a front end. These passes must be bypassed for lto since they 43e4b17023SJohn Marino; have already been done before the gimple was written. 44e4b17023SJohn MarinoVariable 45e4b17023SJohn Marinobool in_lto_p = false 46e4b17023SJohn Marino 47e4b17023SJohn Marino; 0 means straightforward implementation of complex divide acceptable. 48e4b17023SJohn Marino; 1 means wide ranges of inputs must work for complex divide. 49e4b17023SJohn Marino; 2 means C99-like requirements for complex multiply and divide. 50e4b17023SJohn MarinoVariable 51e4b17023SJohn Marinoint flag_complex_method = 1 52e4b17023SJohn Marino 53e4b17023SJohn Marino; Nonzero if subexpressions must be evaluated from left-to-right. 54e4b17023SJohn MarinoVariable 55e4b17023SJohn Marinoint flag_evaluation_order = 0 56e4b17023SJohn Marino 57e4b17023SJohn Marino; Language specific warning pass for unused results. 58e4b17023SJohn MarinoVariable 59e4b17023SJohn Marinobool flag_warn_unused_result = false 60e4b17023SJohn Marino 61e4b17023SJohn MarinoVariable 62e4b17023SJohn Marinoint *param_values 63e4b17023SJohn Marino 64e4b17023SJohn Marino; Nonzero if we should write GIMPLE bytecode for link-time optimization. 65e4b17023SJohn MarinoVariable 66e4b17023SJohn Marinoint flag_generate_lto 67e4b17023SJohn Marino 68e4b17023SJohn Marino; True to warn about any objects definitions whose size is larger 69e4b17023SJohn Marino; than N bytes. Also want about function definitions whose returned 70e4b17023SJohn Marino; values are larger than N bytes, where N is 'larger_than_size'. 71e4b17023SJohn MarinoVariable 72e4b17023SJohn Marinobool warn_larger_than 73e4b17023SJohn Marino 74e4b17023SJohn MarinoVariable 75e4b17023SJohn MarinoHOST_WIDE_INT larger_than_size 76e4b17023SJohn Marino 77e4b17023SJohn Marino; True to warn about any function whose frame size is larger 78e4b17023SJohn Marino; than N bytes. 79e4b17023SJohn MarinoVariable 80e4b17023SJohn Marinobool warn_frame_larger_than 81e4b17023SJohn Marino 82e4b17023SJohn MarinoVariable 83e4b17023SJohn MarinoHOST_WIDE_INT frame_larger_than_size 84e4b17023SJohn Marino 85e4b17023SJohn Marino; Nonzero means we should be saving declaration info into a .X file. 86e4b17023SJohn MarinoVariable 87e4b17023SJohn Marinoint flag_gen_aux_info = 0 88e4b17023SJohn Marino 89e4b17023SJohn Marino; Nonzero if we are compiling code for a shared library, zero for 90e4b17023SJohn Marino; executable. 91e4b17023SJohn MarinoVariable 92e4b17023SJohn Marinoint flag_shlib 93e4b17023SJohn Marino 94e4b17023SJohn Marino; These two are really VEC(char_p,heap) *. 95e4b17023SJohn Marino 96e4b17023SJohn MarinoVariable 97e4b17023SJohn Marinovoid *flag_instrument_functions_exclude_functions 98e4b17023SJohn Marino 99e4b17023SJohn MarinoVariable 100e4b17023SJohn Marinovoid *flag_instrument_functions_exclude_files 101e4b17023SJohn Marino 102e4b17023SJohn Marino; Generic structs (e.g. templates not explicitly specialized) 103e4b17023SJohn Marino; may not have a compilation unit associated with them, and so 104e4b17023SJohn Marino; may need to be treated differently from ordinary structs. 105e4b17023SJohn Marino; 106e4b17023SJohn Marino; Structs only handled by reference (indirectly), will also usually 107e4b17023SJohn Marino; not need as much debugging information. 108e4b17023SJohn Marino 109e4b17023SJohn MarinoVariable 110e4b17023SJohn Marinoenum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY } 111e4b17023SJohn Marino 112e4b17023SJohn MarinoVariable 113e4b17023SJohn Marinoenum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY } 114e4b17023SJohn Marino 115e4b17023SJohn Marino; True if we should exit after parsing options. 116e4b17023SJohn MarinoVariable 117e4b17023SJohn Marinobool exit_after_options 118e4b17023SJohn Marino 119e4b17023SJohn Marino; Type(s) of debugging information we are producing (if any). See 120e4b17023SJohn Marino; flag-types.h for the definitions of the different possible types of 121e4b17023SJohn Marino; debugging information. 122e4b17023SJohn MarinoVariable 123e4b17023SJohn Marinoenum debug_info_type write_symbols = NO_DEBUG 124e4b17023SJohn Marino 125e4b17023SJohn Marino; Level of debugging information we are producing. See flag-types.h 126e4b17023SJohn Marino; for the definitions of the different possible levels. 127e4b17023SJohn MarinoVariable 128e4b17023SJohn Marinoenum debug_info_levels debug_info_level = DINFO_LEVEL_NONE 129e4b17023SJohn Marino 130e4b17023SJohn Marino; Nonzero means use GNU-only extensions in the generated symbolic 131e4b17023SJohn Marino; debugging information. Currently, this only has an effect when 132e4b17023SJohn Marino; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG. 133e4b17023SJohn MarinoVariable 134e4b17023SJohn Marinobool use_gnu_debug_info_extensions 135e4b17023SJohn Marino 136e4b17023SJohn Marino; Original value of maximum field alignment in bytes, specified via 137e4b17023SJohn Marino; -fpack-struct=<value>. 138e4b17023SJohn MarinoVariable 139e4b17023SJohn Marinounsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT 140e4b17023SJohn Marino 141e4b17023SJohn MarinoVariable 142e4b17023SJohn Marinoenum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL 143e4b17023SJohn Marino 144e4b17023SJohn Marino; Type of stack check. 145e4b17023SJohn MarinoVariable 146e4b17023SJohn Marinoenum stack_check_type flag_stack_check = NO_STACK_CHECK 147e4b17023SJohn Marino 148e4b17023SJohn Marino; True if stack usage information needs to be computed. 149e4b17023SJohn MarinoVariable 150e4b17023SJohn Marinobool flag_stack_usage_info = false 151e4b17023SJohn Marino 152e4b17023SJohn Marino; -dA causes debug commentary information to be produced in 153e4b17023SJohn Marino; the generated assembly code (to make it more readable). This option 154e4b17023SJohn Marino; is generally only of use to those who actually need to read the 155e4b17023SJohn Marino; generated assembly code (perhaps while debugging the compiler itself). 156e4b17023SJohn Marino; Currently, this switch is only used by dwarf2out.c; however, it is intended 157e4b17023SJohn Marino; to be a catchall for printing debug information in the assembler file. 158e4b17023SJohn MarinoVariable 159e4b17023SJohn Marinoint flag_debug_asm 160e4b17023SJohn Marino 161e4b17023SJohn Marino; -dP causes the rtl to be emitted as a comment in assembly. 162e4b17023SJohn MarinoVariable 163e4b17023SJohn Marinoint flag_dump_rtl_in_asm 164e4b17023SJohn Marino 165e4b17023SJohn Marino; Whether -da was passed (used only in handle_common_deferred_options). 166e4b17023SJohn MarinoVariable 167e4b17023SJohn Marinobool flag_dump_all_passed 168e4b17023SJohn Marino 169e4b17023SJohn Marino; Other flags saying which kinds of debugging dump have been requested. 170e4b17023SJohn Marino 171e4b17023SJohn MarinoVariable 172e4b17023SJohn Marinoint rtl_dump_and_exit 173e4b17023SJohn Marino 174e4b17023SJohn MarinoVariable 175e4b17023SJohn Marinoint flag_print_asm_name 176e4b17023SJohn Marino 177e4b17023SJohn MarinoVariable 178e4b17023SJohn Marinoenum graph_dump_types graph_dump_format = no_graph 179e4b17023SJohn Marino 180e4b17023SJohn Marino; Name of top-level original source file (what was input to cpp). 181e4b17023SJohn Marino; This comes from the #-command at the beginning of the actual input. 182e4b17023SJohn Marino; If there isn't any there, then this is the cc1 input file name. 183e4b17023SJohn MarinoVariable 184e4b17023SJohn Marinoconst char *main_input_filename 185e4b17023SJohn Marino 186e4b17023SJohn Marino; Pointer to base name in main_input_filename, with directories and a 187e4b17023SJohn Marino; single final extension removed, and the length of this base 188e4b17023SJohn Marino; name. 189e4b17023SJohn Marino 190e4b17023SJohn MarinoVariable 191e4b17023SJohn Marinoconst char *main_input_basename 192e4b17023SJohn Marino 193e4b17023SJohn MarinoVariable 194e4b17023SJohn Marinoint main_input_baselength 195e4b17023SJohn Marino 196e4b17023SJohn Marino; Which options have been printed by --help. 197e4b17023SJohn MarinoVariable 198e4b17023SJohn Marinochar *help_printed 199e4b17023SJohn Marino 200e4b17023SJohn Marino; Which enums have been printed by --help. 0 = not printed, no 201e4b17023SJohn Marino; relevant options seen, 1 = relevant option seen, not yet printed, 2 202e4b17023SJohn Marino; = printed. 203e4b17023SJohn MarinoVariable 204e4b17023SJohn Marinochar *help_enum_printed 205e4b17023SJohn Marino 206e4b17023SJohn Marino; The number of columns for --help output. 207e4b17023SJohn MarinoVariable 208e4b17023SJohn Marinounsigned int help_columns 209e4b17023SJohn Marino 210e4b17023SJohn Marino; Whether this options structure has been through finish_options 211e4b17023SJohn MarinoVariable 212e4b17023SJohn Marinobool flag_opts_finished 213e4b17023SJohn Marino 214e4b17023SJohn Marino### 215e4b17023SJohn MarinoDriver 216e4b17023SJohn Marino 217e4b17023SJohn Marino-assemble 218e4b17023SJohn MarinoDriver Alias(S) 219e4b17023SJohn Marino 220e4b17023SJohn Marino-compile 221e4b17023SJohn MarinoDriver Alias(c) 222e4b17023SJohn Marino 223e4b17023SJohn Marino-coverage 224e4b17023SJohn MarinoDriver Alias(coverage) 225e4b17023SJohn Marino 226e4b17023SJohn Marino-debug 227e4b17023SJohn MarinoCommon Alias(g) 228e4b17023SJohn Marino 229e4b17023SJohn Marino-dump 230e4b17023SJohn MarinoCommon Separate Alias(d) 231e4b17023SJohn Marino 232e4b17023SJohn Marino-dump= 233e4b17023SJohn MarinoCommon Joined Alias(d) 234e4b17023SJohn Marino 235e4b17023SJohn Marino-dumpbase 236e4b17023SJohn MarinoCommon Separate Alias(dumpbase) 237e4b17023SJohn Marino 238e4b17023SJohn Marino-dumpdir 239e4b17023SJohn MarinoCommon Separate Alias(dumpdir) 240e4b17023SJohn Marino 241e4b17023SJohn Marino-entry 242e4b17023SJohn MarinoDriver Separate Alias(e) 243e4b17023SJohn Marino 244e4b17023SJohn Marino-entry= 245e4b17023SJohn MarinoDriver Joined Alias(e) 246e4b17023SJohn Marino 247e4b17023SJohn Marino-extra-warnings 248e4b17023SJohn MarinoCommon Warning Alias(Wextra) 249e4b17023SJohn Marino 250e4b17023SJohn Marino-for-assembler 251e4b17023SJohn MarinoDriver Separate Alias(Xassembler) 252e4b17023SJohn Marino 253e4b17023SJohn Marino-for-assembler= 254e4b17023SJohn MarinoDriver JoinedOrMissing Alias(Xassembler) 255e4b17023SJohn Marino 256e4b17023SJohn Marino-for-linker 257e4b17023SJohn MarinoDriver Separate Alias(Xlinker) 258e4b17023SJohn Marino 259e4b17023SJohn Marino-for-linker= 260e4b17023SJohn MarinoDriver JoinedOrMissing Alias(Xlinker) 261e4b17023SJohn Marino 262e4b17023SJohn Marino-force-link 263e4b17023SJohn MarinoDriver Separate Alias(u) 264e4b17023SJohn Marino 265e4b17023SJohn Marino-force-link= 266e4b17023SJohn MarinoDriver Joined Alias(u) 267e4b17023SJohn Marino 268e4b17023SJohn Marino-help 269e4b17023SJohn MarinoCommon Driver Var(help_flag) 270e4b17023SJohn MarinoDisplay this information 271e4b17023SJohn Marino 272e4b17023SJohn Marino-help= 273e4b17023SJohn MarinoCommon Driver Report Joined 274e4b17023SJohn Marino--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params 275e4b17023SJohn Marino 276e4b17023SJohn Marino-language 277e4b17023SJohn MarinoDriver Separate Alias(x) 278e4b17023SJohn Marino 279e4b17023SJohn Marino-language= 280e4b17023SJohn MarinoDriver Joined Alias(x) 281e4b17023SJohn Marino 282e4b17023SJohn Marino-library-directory 283e4b17023SJohn MarinoDriver Separate Alias(L) 284e4b17023SJohn Marino 285e4b17023SJohn Marino-library-directory= 286e4b17023SJohn MarinoDriver Joined Alias(L) 287e4b17023SJohn Marino 288e4b17023SJohn Marino-no-canonical-prefixes 289e4b17023SJohn MarinoDriver Alias(no-canonical-prefixes) 290e4b17023SJohn Marino 291e4b17023SJohn Marino-no-standard-libraries 292e4b17023SJohn MarinoDriver Alias(nostdlib) 293e4b17023SJohn Marino 294e4b17023SJohn Marino-no-warnings 295e4b17023SJohn MarinoCommon Alias(w) 296e4b17023SJohn Marino 297e4b17023SJohn Marino-optimize 298e4b17023SJohn MarinoCommon Alias(O) 299e4b17023SJohn Marino 300e4b17023SJohn Marino-output 301e4b17023SJohn MarinoCommon Driver Separate Alias(o) MissingArgError(missing filename after %qs) 302e4b17023SJohn Marino 303e4b17023SJohn Marino-output= 304e4b17023SJohn MarinoCommon Driver Joined Alias(o) MissingArgError(missing filename after %qs) 305e4b17023SJohn Marino 306e4b17023SJohn Marino-pass-exit-codes 307e4b17023SJohn MarinoDriver Alias(pass-exit-codes) 308e4b17023SJohn Marino 309e4b17023SJohn Marino-pedantic 310e4b17023SJohn MarinoCommon Alias(pedantic) 311e4b17023SJohn Marino 312e4b17023SJohn Marino-pedantic-errors 313e4b17023SJohn MarinoCommon Alias(pedantic-errors) 314e4b17023SJohn Marino 315e4b17023SJohn Marino-pie 316e4b17023SJohn MarinoDriver Alias(pie) 317e4b17023SJohn Marino 318e4b17023SJohn Marino-pipe 319e4b17023SJohn MarinoDriver Alias(pipe) 320e4b17023SJohn Marino 321e4b17023SJohn Marino-prefix 322e4b17023SJohn MarinoDriver Separate Alias(B) 323e4b17023SJohn Marino 324e4b17023SJohn Marino-prefix= 325e4b17023SJohn MarinoDriver JoinedOrMissing Alias(B) 326e4b17023SJohn Marino 327e4b17023SJohn Marino-preprocess 328e4b17023SJohn MarinoDriver Alias(E) 329e4b17023SJohn Marino 330e4b17023SJohn Marino-print-file-name 331e4b17023SJohn MarinoDriver Separate Alias(print-file-name=) 332e4b17023SJohn Marino 333e4b17023SJohn Marino-print-file-name= 334e4b17023SJohn MarinoDriver JoinedOrMissing Alias(print-file-name=) 335e4b17023SJohn Marino 336e4b17023SJohn Marino-print-libgcc-file-name 337e4b17023SJohn MarinoDriver Alias(print-libgcc-file-name) 338e4b17023SJohn Marino 339e4b17023SJohn Marino-print-multi-directory 340e4b17023SJohn MarinoDriver Alias(print-multi-directory) 341e4b17023SJohn Marino 342e4b17023SJohn Marino-print-multi-lib 343e4b17023SJohn MarinoDriver Alias(print-multi-lib) 344e4b17023SJohn Marino 345e4b17023SJohn Marino-print-multi-os-directory 346e4b17023SJohn MarinoDriver Alias(print-multi-os-directory) 347e4b17023SJohn Marino 348*5ce9237cSJohn Marino-print-multiarch 349*5ce9237cSJohn MarinoDriver Alias(print-multiarch) 350*5ce9237cSJohn Marino 351e4b17023SJohn Marino-print-prog-name 352e4b17023SJohn MarinoDriver Separate Alias(print-prog-name=) 353e4b17023SJohn Marino 354e4b17023SJohn Marino-print-prog-name= 355e4b17023SJohn MarinoDriver JoinedOrMissing Alias(print-prog-name=) 356e4b17023SJohn Marino 357e4b17023SJohn Marino-print-search-dirs 358e4b17023SJohn MarinoDriver Alias(print-search-dirs) 359e4b17023SJohn Marino 360e4b17023SJohn Marino-print-sysroot 361e4b17023SJohn MarinoDriver Alias(print-sysroot) 362e4b17023SJohn Marino 363e4b17023SJohn Marino-print-sysroot-headers-suffix 364e4b17023SJohn MarinoDriver Alias(print-sysroot-headers-suffix) 365e4b17023SJohn Marino 366e4b17023SJohn Marino-profile 367e4b17023SJohn MarinoCommon Alias(p) 368e4b17023SJohn Marino 369e4b17023SJohn Marino-save-temps 370e4b17023SJohn MarinoDriver Alias(save-temps) 371e4b17023SJohn Marino 372e4b17023SJohn Marino-shared 373e4b17023SJohn MarinoDriver Alias(shared) 374e4b17023SJohn Marino 375e4b17023SJohn Marino-specs 376e4b17023SJohn MarinoDriver Separate Alias(specs=) 377e4b17023SJohn Marino 378e4b17023SJohn Marino-specs= 379e4b17023SJohn MarinoDriver Joined Alias(specs=) 380e4b17023SJohn Marino 381e4b17023SJohn Marino-static 382e4b17023SJohn MarinoDriver Alias(static) 383e4b17023SJohn Marino 384e4b17023SJohn Marino-symbolic 385e4b17023SJohn MarinoDriver Alias(symbolic) 386e4b17023SJohn Marino 387e4b17023SJohn Marino-target-help 388e4b17023SJohn MarinoCommon Driver 389e4b17023SJohn MarinoAlias for --help=target 390e4b17023SJohn Marino 391e4b17023SJohn Marino-time 392e4b17023SJohn MarinoDriver Alias(time) 393e4b17023SJohn Marino 394e4b17023SJohn Marino-verbose 395e4b17023SJohn MarinoDriver Alias(v) 396e4b17023SJohn Marino 397e4b17023SJohn Marino;; The driver used to convert options such as --help into forms such 398e4b17023SJohn Marino;; as -fhelp; the following four entries are for compatibility with 399e4b17023SJohn Marino;; any direct uses of those (undocumented) -f forms 400e4b17023SJohn Marinofhelp 401e4b17023SJohn MarinoCommon Driver Alias(-help) 402e4b17023SJohn Marino 403e4b17023SJohn Marinofhelp= 404e4b17023SJohn MarinoCommon Driver Joined Alias(-help=) 405e4b17023SJohn Marino 406e4b17023SJohn Marinoftarget-help 407e4b17023SJohn MarinoCommon Driver Alias(-target-help) 408e4b17023SJohn Marino 409e4b17023SJohn Marinofversion 410e4b17023SJohn MarinoCommon Driver Alias(-version) 411e4b17023SJohn Marino 412e4b17023SJohn Marino-param 413e4b17023SJohn MarinoCommon Separate 414e4b17023SJohn Marino--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters 415e4b17023SJohn Marino 416e4b17023SJohn Marino-param= 417e4b17023SJohn MarinoCommon Joined Alias(-param) 418e4b17023SJohn Marino 419e4b17023SJohn Marino-sysroot 420e4b17023SJohn MarinoDriver Separate Alias(-sysroot=) 421e4b17023SJohn Marino 422e4b17023SJohn Marino-sysroot= 423e4b17023SJohn MarinoDriver JoinedOrMissing 424e4b17023SJohn Marino 425e4b17023SJohn Marino-version 426e4b17023SJohn MarinoCommon Driver 427e4b17023SJohn Marino 428e4b17023SJohn MarinoB 429e4b17023SJohn MarinoDriver Joined Separate 430e4b17023SJohn Marino 431e4b17023SJohn MarinoE 432e4b17023SJohn MarinoDriver 433e4b17023SJohn Marino 434e4b17023SJohn MarinoL 435e4b17023SJohn MarinoDriver Joined Separate 436e4b17023SJohn Marino 437e4b17023SJohn MarinoN 438e4b17023SJohn MarinoDriver 439e4b17023SJohn Marino 440e4b17023SJohn MarinoO 441e4b17023SJohn MarinoCommon JoinedOrMissing Optimization 442e4b17023SJohn Marino-O<number> Set optimization level to <number> 443e4b17023SJohn Marino 444e4b17023SJohn MarinoOs 445e4b17023SJohn MarinoCommon Optimization 446e4b17023SJohn MarinoOptimize for space rather than speed 447e4b17023SJohn Marino 448e4b17023SJohn MarinoOfast 449e4b17023SJohn MarinoCommon Optimization 450e4b17023SJohn MarinoOptimize for speed disregarding exact standards compliance 451e4b17023SJohn Marino 452e4b17023SJohn MarinoQ 453e4b17023SJohn MarinoDriver 454e4b17023SJohn Marino 455e4b17023SJohn MarinoQn 456e4b17023SJohn MarinoDriver Negative(Qy) 457e4b17023SJohn Marino 458e4b17023SJohn MarinoQy 459e4b17023SJohn MarinoDriver Negative(Qn) 460e4b17023SJohn Marino 461e4b17023SJohn MarinoR 462e4b17023SJohn MarinoDriver Joined Separate 463e4b17023SJohn Marino 464e4b17023SJohn MarinoS 465e4b17023SJohn MarinoDriver 466e4b17023SJohn Marino 467e4b17023SJohn MarinoT 468e4b17023SJohn MarinoDriver Joined Separate 469e4b17023SJohn Marino 470e4b17023SJohn MarinoTbss 471e4b17023SJohn MarinoDriver Separate 472e4b17023SJohn Marino 473e4b17023SJohn MarinoTbss= 474e4b17023SJohn MarinoDriver Joined 475e4b17023SJohn Marino 476e4b17023SJohn MarinoTdata 477e4b17023SJohn MarinoDriver Separate 478e4b17023SJohn Marino 479e4b17023SJohn MarinoTdata= 480e4b17023SJohn MarinoDriver Joined 481e4b17023SJohn Marino 482e4b17023SJohn MarinoTtext 483e4b17023SJohn MarinoDriver Separate 484e4b17023SJohn Marino 485e4b17023SJohn MarinoTtext= 486e4b17023SJohn MarinoDriver Joined 487e4b17023SJohn Marino 488e4b17023SJohn MarinoW 489e4b17023SJohn MarinoCommon RejectNegative Warning Alias(Wextra) 490e4b17023SJohn MarinoThis switch is deprecated; use -Wextra instead 491e4b17023SJohn Marino 492e4b17023SJohn MarinoWa, 493e4b17023SJohn MarinoDriver JoinedOrMissing 494e4b17023SJohn Marino 495e4b17023SJohn MarinoWl, 496e4b17023SJohn MarinoDriver JoinedOrMissing 497e4b17023SJohn Marino 498e4b17023SJohn MarinoWp, 499e4b17023SJohn MarinoDriver JoinedOrMissing 500e4b17023SJohn Marino 501e4b17023SJohn MarinoWaggregate-return 502e4b17023SJohn MarinoCommon Var(warn_aggregate_return) Warning 503e4b17023SJohn MarinoWarn about returning structures, unions or arrays 504e4b17023SJohn Marino 505e4b17023SJohn MarinoWarray-bounds 506e4b17023SJohn MarinoCommon Var(warn_array_bounds) Warning 507e4b17023SJohn MarinoWarn if an array is accessed out of bounds 508e4b17023SJohn Marino 509e4b17023SJohn MarinoWattributes 510e4b17023SJohn MarinoCommon Var(warn_attributes) Init(1) Warning 511e4b17023SJohn MarinoWarn about inappropriate attribute usage 512e4b17023SJohn Marino 513e4b17023SJohn MarinoWcast-align 514e4b17023SJohn MarinoCommon Var(warn_cast_align) Warning 515e4b17023SJohn MarinoWarn about pointer casts which increase alignment 516e4b17023SJohn Marino 517e4b17023SJohn MarinoWcpp 518e4b17023SJohn MarinoCommon Var(warn_cpp) Init(1) Warning 519e4b17023SJohn MarinoWarn when a #warning directive is encountered 520e4b17023SJohn Marino 521e4b17023SJohn MarinoWdeprecated-declarations 522e4b17023SJohn MarinoCommon Var(warn_deprecated_decl) Init(1) Warning 523e4b17023SJohn MarinoWarn about uses of __attribute__((deprecated)) declarations 524e4b17023SJohn Marino 525e4b17023SJohn MarinoWdisabled-optimization 526e4b17023SJohn MarinoCommon Var(warn_disabled_optimization) Warning 527e4b17023SJohn MarinoWarn when an optimization pass is disabled 528e4b17023SJohn Marino 529e4b17023SJohn MarinoWerror 530e4b17023SJohn MarinoCommon Var(warnings_are_errors) 531e4b17023SJohn MarinoTreat all warnings as errors 532e4b17023SJohn Marino 533e4b17023SJohn MarinoWerror= 534e4b17023SJohn MarinoCommon Joined 535e4b17023SJohn MarinoTreat specified warning as error 536e4b17023SJohn Marino 537e4b17023SJohn MarinoWextra 538e4b17023SJohn MarinoCommon Var(extra_warnings) Warning 539e4b17023SJohn MarinoPrint extra (possibly unwanted) warnings 540e4b17023SJohn Marino 541e4b17023SJohn MarinoWfatal-errors 542e4b17023SJohn MarinoCommon Var(flag_fatal_errors) 543e4b17023SJohn MarinoExit on the first error occurred 544e4b17023SJohn Marino 545e4b17023SJohn MarinoWframe-larger-than= 546e4b17023SJohn MarinoCommon RejectNegative Joined UInteger 547e4b17023SJohn Marino-Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes 548e4b17023SJohn Marino 549e4b17023SJohn MarinoWfree-nonheap-object 550e4b17023SJohn MarinoCommon Var(warn_free_nonheap_object) Init(1) Warning 551e4b17023SJohn MarinoWarn when attempting to free a non-heap object 552e4b17023SJohn Marino 553e4b17023SJohn MarinoWinline 554e4b17023SJohn MarinoCommon Var(warn_inline) Warning 555e4b17023SJohn MarinoWarn when an inlined function cannot be inlined 556e4b17023SJohn Marino 557e4b17023SJohn MarinoWinvalid-memory-model 558e4b17023SJohn MarinoCommon Var(warn_invalid_memory_model) Init(1) Warning 559e4b17023SJohn MarinoWarn when an atomic memory model parameter is known to be outside the valid range. 560e4b17023SJohn Marino 561e4b17023SJohn MarinoWlarger-than- 562e4b17023SJohn MarinoCommon RejectNegative Joined Warning Undocumented Alias(Wlarger-than=) 563e4b17023SJohn Marino 564e4b17023SJohn MarinoWlarger-than= 565e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Warning 566e4b17023SJohn Marino-Wlarger-than=<number> Warn if an object is larger than <number> bytes 567e4b17023SJohn Marino 568e4b17023SJohn MarinoWunsafe-loop-optimizations 569e4b17023SJohn MarinoCommon Var(warn_unsafe_loop_optimizations) Warning 570e4b17023SJohn MarinoWarn if the loop cannot be optimized due to nontrivial assumptions. 571e4b17023SJohn Marino 572e4b17023SJohn MarinoWmissing-noreturn 573e4b17023SJohn MarinoCommon Var(warn_missing_noreturn) Warning 574e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((noreturn)) 575e4b17023SJohn Marino 576e4b17023SJohn MarinoWoverflow 577e4b17023SJohn MarinoCommon Var(warn_overflow) Init(1) Warning 578e4b17023SJohn MarinoWarn about overflow in arithmetic expressions 579e4b17023SJohn Marino 580e4b17023SJohn MarinoWpacked 581e4b17023SJohn MarinoCommon Var(warn_packed) Warning 582e4b17023SJohn MarinoWarn when the packed attribute has no effect on struct layout 583e4b17023SJohn Marino 584e4b17023SJohn MarinoWpadded 585e4b17023SJohn MarinoCommon Var(warn_padded) Warning 586e4b17023SJohn MarinoWarn when padding is required to align structure members 587e4b17023SJohn Marino 588e4b17023SJohn MarinoWshadow 589e4b17023SJohn MarinoCommon Var(warn_shadow) Warning 590e4b17023SJohn MarinoWarn when one local variable shadows another 591e4b17023SJohn Marino 592e4b17023SJohn MarinoWstack-protector 593e4b17023SJohn MarinoCommon Var(warn_stack_protect) Warning 594e4b17023SJohn MarinoWarn when not issuing stack smashing protection for some reason 595e4b17023SJohn Marino 596e4b17023SJohn MarinoWstack-usage= 597e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning 598e4b17023SJohn MarinoWarn if stack usage might be larger than specified amount 599e4b17023SJohn Marino 600e4b17023SJohn MarinoWstrict-aliasing 601e4b17023SJohn MarinoCommon Warning 602e4b17023SJohn MarinoWarn about code which might break strict aliasing rules 603e4b17023SJohn Marino 604e4b17023SJohn MarinoWstrict-aliasing= 605e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning 606e4b17023SJohn MarinoWarn about code which might break strict aliasing rules 607e4b17023SJohn Marino 608e4b17023SJohn MarinoWstrict-overflow 609e4b17023SJohn MarinoCommon Warning 610e4b17023SJohn MarinoWarn about optimizations that assume that signed overflow is undefined 611e4b17023SJohn Marino 612e4b17023SJohn MarinoWstrict-overflow= 613e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning 614e4b17023SJohn MarinoWarn about optimizations that assume that signed overflow is undefined 615e4b17023SJohn Marino 616e4b17023SJohn MarinoWsuggest-attribute=const 617e4b17023SJohn MarinoCommon Var(warn_suggest_attribute_const) Warning 618e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((const)) 619e4b17023SJohn Marino 620e4b17023SJohn MarinoWsuggest-attribute=pure 621e4b17023SJohn MarinoCommon Var(warn_suggest_attribute_pure) Warning 622e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((pure)) 623e4b17023SJohn Marino 624e4b17023SJohn MarinoWsuggest-attribute=noreturn 625e4b17023SJohn MarinoCommon Var(warn_suggest_attribute_noreturn) Warning 626e4b17023SJohn MarinoWarn about functions which might be candidates for __attribute__((noreturn)) 627e4b17023SJohn Marino 628e4b17023SJohn MarinoWswitch 629e4b17023SJohn MarinoCommon Var(warn_switch) Warning 630e4b17023SJohn MarinoWarn about enumerated switches, with no default, missing a case 631e4b17023SJohn Marino 632e4b17023SJohn MarinoWswitch-default 633e4b17023SJohn MarinoCommon Var(warn_switch_default) Warning 634e4b17023SJohn MarinoWarn about enumerated switches missing a \"default:\" statement 635e4b17023SJohn Marino 636e4b17023SJohn MarinoWswitch-enum 637e4b17023SJohn MarinoCommon Var(warn_switch_enum) Warning 638e4b17023SJohn MarinoWarn about all enumerated switches missing a specific case 639e4b17023SJohn Marino 640e4b17023SJohn MarinoWsystem-headers 641e4b17023SJohn MarinoCommon Var(warn_system_headers) Warning 642e4b17023SJohn MarinoDo not suppress warnings from system headers 643e4b17023SJohn Marino 644e4b17023SJohn MarinoWtrampolines 645e4b17023SJohn MarinoCommon Var(warn_trampolines) Warning 646e4b17023SJohn MarinoWarn whenever a trampoline is generated 647e4b17023SJohn Marino 648e4b17023SJohn MarinoWtype-limits 649e4b17023SJohn MarinoCommon Var(warn_type_limits) Init(-1) Warning 650e4b17023SJohn MarinoWarn if a comparison is always true or always false due to the limited range of the data type 651e4b17023SJohn Marino 652e4b17023SJohn MarinoWuninitialized 653e4b17023SJohn MarinoCommon Var(warn_uninitialized) Init(-1) Warning 654e4b17023SJohn MarinoWarn about uninitialized automatic variables 655e4b17023SJohn Marino 656e4b17023SJohn MarinoWmaybe-uninitialized 657e4b17023SJohn MarinoCommon Var(warn_maybe_uninitialized) Warning 658e4b17023SJohn MarinoWarn about maybe uninitialized automatic variables 659e4b17023SJohn Marino 660e4b17023SJohn MarinoWunreachable-code 661e4b17023SJohn MarinoCommon Ignore 662e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 663e4b17023SJohn Marino 664e4b17023SJohn MarinoWunused 665e4b17023SJohn MarinoCommon Var(warn_unused) Init(0) Warning 666e4b17023SJohn MarinoEnable all -Wunused- warnings 667e4b17023SJohn Marino 668e4b17023SJohn MarinoWunused-but-set-parameter 669e4b17023SJohn MarinoCommon Var(warn_unused_but_set_parameter) Init(-1) Warning 670e4b17023SJohn MarinoWarn when a function parameter is only set, otherwise unused 671e4b17023SJohn Marino 672e4b17023SJohn MarinoWunused-but-set-variable 673e4b17023SJohn MarinoCommon Var(warn_unused_but_set_variable) Init(-1) Warning 674e4b17023SJohn MarinoWarn when a variable is only set, otherwise unused 675e4b17023SJohn Marino 676e4b17023SJohn MarinoWunused-function 677e4b17023SJohn MarinoCommon Var(warn_unused_function) Init(-1) Warning 678e4b17023SJohn MarinoWarn when a function is unused 679e4b17023SJohn Marino 680e4b17023SJohn MarinoWunused-label 681e4b17023SJohn MarinoCommon Var(warn_unused_label) Init(-1) Warning 682e4b17023SJohn MarinoWarn when a label is unused 683e4b17023SJohn Marino 684e4b17023SJohn MarinoWunused-parameter 685e4b17023SJohn MarinoCommon Var(warn_unused_parameter) Init(-1) Warning 686e4b17023SJohn MarinoWarn when a function parameter is unused 687e4b17023SJohn Marino 688e4b17023SJohn MarinoWunused-value 689e4b17023SJohn MarinoCommon Var(warn_unused_value) Init(-1) Warning 690e4b17023SJohn MarinoWarn when an expression value is unused 691e4b17023SJohn Marino 692e4b17023SJohn MarinoWunused-variable 693e4b17023SJohn MarinoCommon Var(warn_unused_variable) Init(-1) Warning 694e4b17023SJohn MarinoWarn when a variable is unused 695e4b17023SJohn Marino 696e4b17023SJohn MarinoWcoverage-mismatch 697e4b17023SJohn MarinoCommon Var(warn_coverage_mismatch) Init(1) Warning 698e4b17023SJohn MarinoWarn in case profiles in -fprofile-use do not match 699e4b17023SJohn Marino 700e4b17023SJohn MarinoWvector-operation-performance 701e4b17023SJohn MarinoCommon Var(warn_vector_operation_performance) Warning 702e4b17023SJohn MarinoWarn when a vector operation is compiled outside the SIMD 703e4b17023SJohn Marino 704e4b17023SJohn MarinoXassembler 705e4b17023SJohn MarinoDriver Separate 706e4b17023SJohn Marino 707e4b17023SJohn MarinoXlinker 708e4b17023SJohn MarinoDriver Separate 709e4b17023SJohn Marino 710e4b17023SJohn MarinoXpreprocessor 711e4b17023SJohn MarinoDriver Separate 712e4b17023SJohn Marino 713e4b17023SJohn MarinoZ 714e4b17023SJohn MarinoDriver 715e4b17023SJohn Marino 716e4b17023SJohn Marinoaux-info 717e4b17023SJohn MarinoCommon Separate Var(aux_info_file_name) 718e4b17023SJohn Marino-aux-info <file> Emit declaration information into <file> 719e4b17023SJohn Marino 720e4b17023SJohn Marinoaux-info= 721e4b17023SJohn MarinoCommon Joined Alias(aux-info) 722e4b17023SJohn Marino 723e4b17023SJohn Marinoauxbase 724e4b17023SJohn MarinoCommon Separate RejectDriver Var(aux_base_name) 725e4b17023SJohn Marino 726e4b17023SJohn Marinoauxbase-strip 727e4b17023SJohn MarinoCommon Separate RejectDriver 728e4b17023SJohn Marino 729e4b17023SJohn Marinocoverage 730e4b17023SJohn MarinoDriver 731e4b17023SJohn Marino 732e4b17023SJohn Marinoc 733e4b17023SJohn MarinoDriver 734e4b17023SJohn Marino 735e4b17023SJohn Marinod 736e4b17023SJohn MarinoCommon Joined 737e4b17023SJohn Marino-d<letters> Enable dumps from specific passes of the compiler 738e4b17023SJohn Marino 739e4b17023SJohn Marinodumpbase 740e4b17023SJohn MarinoCommon Separate Var(dump_base_name) 741e4b17023SJohn Marino-dumpbase <file> Set the file basename to be used for dumps 742e4b17023SJohn Marino 743e4b17023SJohn Marinodumpdir 744e4b17023SJohn MarinoCommon Separate Var(dump_dir_name) 745e4b17023SJohn Marino-dumpdir <dir> Set the directory name to be used for dumps 746e4b17023SJohn Marino 747e4b17023SJohn Marinodumpmachine 748e4b17023SJohn MarinoDriver 749e4b17023SJohn Marino 750e4b17023SJohn Marinodumpspecs 751e4b17023SJohn MarinoDriver 752e4b17023SJohn Marino 753e4b17023SJohn Marinodumpversion 754e4b17023SJohn MarinoDriver 755e4b17023SJohn Marino 756e4b17023SJohn Marinoe 757e4b17023SJohn MarinoDriver Joined Separate 758e4b17023SJohn Marino 759e4b17023SJohn Marino; This option has historically been passed down to the linker by an 760e4b17023SJohn Marino; accident of a %{e*} spec, so ensure it continues to be passed down 761e4b17023SJohn Marino; as a single option. The supported option for this purpose is 762e4b17023SJohn Marino; -rdynamic. See PR 47390. 763e4b17023SJohn Marinoexport-dynamic 764e4b17023SJohn MarinoDriver Undocumented 765e4b17023SJohn Marino 766e4b17023SJohn Marino; The version of the C++ ABI in use. The following values are allowed: 767e4b17023SJohn Marino; 768e4b17023SJohn Marino; 0: The version of the ABI believed most conformant with the C++ ABI 769e4b17023SJohn Marino; specification. This ABI may change as bugs are discovered and fixed. 770e4b17023SJohn Marino; Therefore, 0 will not necessarily indicate the same ABI in different 771e4b17023SJohn Marino; versions of G++. 772e4b17023SJohn Marino; 773e4b17023SJohn Marino; 1: The version of the ABI first used in G++ 3.2. 774e4b17023SJohn Marino; 775e4b17023SJohn Marino; 2: The version of the ABI first used in G++ 3.4 (and current default). 776e4b17023SJohn Marino; 777e4b17023SJohn Marino; 3: The version of the ABI that fixes the missing underscore 778e4b17023SJohn Marino; in template non-type arguments of pointer type. 779e4b17023SJohn Marino; 780e4b17023SJohn Marino; 4: The version of the ABI that introduces unambiguous mangling of 781e4b17023SJohn Marino; vector types. First selectable in G++ 4.5. 782e4b17023SJohn Marino; 783e4b17023SJohn Marino; 5: The version of the ABI that ignores attribute const/noreturn 784e4b17023SJohn Marino; in function pointer mangling, and corrects mangling of decltype and 785e4b17023SJohn Marino; function parameters used in other parameters and the return type. 786e4b17023SJohn Marino; First selectable in G++ 4.6. 787e4b17023SJohn Marino; 788e4b17023SJohn Marino; 6: The version of the ABI that doesn't promote scoped enums to int and 789e4b17023SJohn Marino; changes the mangling of template argument packs, const/static_cast, 790e4b17023SJohn Marino; prefix ++ and --, and a class scope function used as a template 791e4b17023SJohn Marino; argument. 792e4b17023SJohn Marino; First selectable in G++ 4.7. 793e4b17023SJohn Marino; 794e4b17023SJohn Marino; Additional positive integers will be assigned as new versions of 795e4b17023SJohn Marino; the ABI become the default version of the ABI. 796e4b17023SJohn Marinofabi-version= 797e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(flag_abi_version) Init(2) 798e4b17023SJohn Marino 799e4b17023SJohn Marinofalign-functions 800e4b17023SJohn MarinoCommon Report Var(align_functions,0) Optimization UInteger 801e4b17023SJohn MarinoAlign the start of functions 802e4b17023SJohn Marino 803e4b17023SJohn Marinofalign-functions= 804e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_functions) 805e4b17023SJohn Marino 806e4b17023SJohn Marinofalign-jumps 807e4b17023SJohn MarinoCommon Report Var(align_jumps,0) Optimization UInteger 808e4b17023SJohn MarinoAlign labels which are only reached by jumping 809e4b17023SJohn Marino 810e4b17023SJohn Marinofalign-jumps= 811e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_jumps) 812e4b17023SJohn Marino 813e4b17023SJohn Marinofalign-labels 814e4b17023SJohn MarinoCommon Report Var(align_labels,0) Optimization UInteger 815e4b17023SJohn MarinoAlign all labels 816e4b17023SJohn Marino 817e4b17023SJohn Marinofalign-labels= 818e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_labels) 819e4b17023SJohn Marino 820e4b17023SJohn Marinofalign-loops 821e4b17023SJohn MarinoCommon Report Var(align_loops,0) Optimization UInteger 822e4b17023SJohn MarinoAlign the start of loops 823e4b17023SJohn Marino 824e4b17023SJohn Marinofalign-loops= 825e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(align_loops) 826e4b17023SJohn Marino 827e4b17023SJohn Marinofargument-alias 828e4b17023SJohn MarinoCommon Ignore 829e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 830e4b17023SJohn Marino 831e4b17023SJohn Marinofargument-noalias 832e4b17023SJohn MarinoCommon Ignore 833e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 834e4b17023SJohn Marino 835e4b17023SJohn Marinofargument-noalias-global 836e4b17023SJohn MarinoCommon Ignore 837e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 838e4b17023SJohn Marino 839e4b17023SJohn Marinofargument-noalias-anything 840e4b17023SJohn MarinoCommon Ignore 841e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 842e4b17023SJohn Marino 843e4b17023SJohn Marinofasynchronous-unwind-tables 844e4b17023SJohn MarinoCommon Report Var(flag_asynchronous_unwind_tables) Optimization 845e4b17023SJohn MarinoGenerate unwind tables that are exact at each instruction boundary 846e4b17023SJohn Marino 847e4b17023SJohn Marinofauto-inc-dec 848e4b17023SJohn MarinoCommon Report Var(flag_auto_inc_dec) Init(1) 849e4b17023SJohn MarinoGenerate auto-inc/dec instructions 850e4b17023SJohn Marino 851e4b17023SJohn Marino; -fcheck-bounds causes gcc to generate array bounds checks. 852e4b17023SJohn Marino; For C, C++ and ObjC: defaults off. 853e4b17023SJohn Marino; For Java: defaults to on. 854e4b17023SJohn Marino; For Fortran: defaults to off. 855e4b17023SJohn Marinofbounds-check 856e4b17023SJohn MarinoCommon Report Var(flag_bounds_check) 857e4b17023SJohn MarinoGenerate code to check bounds before indexing arrays 858e4b17023SJohn Marino 859e4b17023SJohn Marinofbranch-count-reg 860e4b17023SJohn MarinoCommon Report Var(flag_branch_on_count_reg) Init(1) Optimization 861e4b17023SJohn MarinoReplace add, compare, branch with branch on count register 862e4b17023SJohn Marino 863e4b17023SJohn Marinofbranch-probabilities 864e4b17023SJohn MarinoCommon Report Var(flag_branch_probabilities) Optimization 865e4b17023SJohn MarinoUse profiling information for branch probabilities 866e4b17023SJohn Marino 867e4b17023SJohn Marinofbranch-target-load-optimize 868e4b17023SJohn MarinoCommon Report Var(flag_branch_target_load_optimize) Optimization 869e4b17023SJohn MarinoPerform branch target load optimization before prologue / epilogue threading 870e4b17023SJohn Marino 871e4b17023SJohn Marinofbranch-target-load-optimize2 872e4b17023SJohn MarinoCommon Report Var(flag_branch_target_load_optimize2) Optimization 873e4b17023SJohn MarinoPerform branch target load optimization after prologue / epilogue threading 874e4b17023SJohn Marino 875e4b17023SJohn Marinofbtr-bb-exclusive 876e4b17023SJohn MarinoCommon Report Var(flag_btr_bb_exclusive) Optimization 877e4b17023SJohn MarinoRestrict target load migration not to re-use registers in any basic block 878e4b17023SJohn Marino 879e4b17023SJohn Marinofcall-saved- 880e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 881e4b17023SJohn Marino-fcall-saved-<register> Mark <register> as being preserved across functions 882e4b17023SJohn Marino 883e4b17023SJohn Marinofcall-used- 884e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 885e4b17023SJohn Marino-fcall-used-<register> Mark <register> as being corrupted by function calls 886e4b17023SJohn Marino 887e4b17023SJohn Marino; Nonzero for -fcaller-saves: allocate values in regs that need to 888e4b17023SJohn Marino; be saved across function calls, if that produces overall better code. 889e4b17023SJohn Marino; Optional now, so people can test it. 890e4b17023SJohn Marinofcaller-saves 891e4b17023SJohn MarinoCommon Report Var(flag_caller_saves) Optimization 892e4b17023SJohn MarinoSave registers around function calls 893e4b17023SJohn Marino 894e4b17023SJohn Marinofcheck-data-deps 895e4b17023SJohn MarinoCommon Report Var(flag_check_data_deps) 896e4b17023SJohn MarinoCompare the results of several data dependence analyzers. 897e4b17023SJohn Marino 898e4b17023SJohn Marinofcombine-stack-adjustments 899e4b17023SJohn MarinoCommon Report Var(flag_combine_stack_adjustments) Optimization 900e4b17023SJohn MarinoLooks for opportunities to reduce stack adjustments and stack references. 901e4b17023SJohn Marino 902e4b17023SJohn Marinofcommon 903e4b17023SJohn MarinoCommon Report Var(flag_no_common,0) Optimization 904e4b17023SJohn MarinoDo not put uninitialized globals in the common section 905e4b17023SJohn Marino 906e4b17023SJohn Marinofcompare-debug 907e4b17023SJohn MarinoDriver 908e4b17023SJohn Marino; Converted by the driver to -fcompare-debug= options. 909e4b17023SJohn Marino 910e4b17023SJohn Marinofcompare-debug= 911e4b17023SJohn MarinoCommon Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt) 912e4b17023SJohn Marino-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump 913e4b17023SJohn Marino 914e4b17023SJohn Marinofcompare-debug-second 915e4b17023SJohn MarinoCommon Driver RejectNegative Var(flag_compare_debug) 916e4b17023SJohn MarinoRun only the second compilation of -fcompare-debug 917e4b17023SJohn Marino 918e4b17023SJohn Marinofcompare-elim 919e4b17023SJohn MarinoCommon Report Var(flag_compare_elim_after_reload) Optimization 920e4b17023SJohn MarinoPerform comparison elimination after register allocation has finished 921e4b17023SJohn Marino 922e4b17023SJohn Marinofconserve-stack 923e4b17023SJohn MarinoCommon Var(flag_conserve_stack) Optimization 924e4b17023SJohn MarinoDo not perform optimizations increasing noticeably stack usage 925e4b17023SJohn Marino 926e4b17023SJohn Marinofcprop-registers 927e4b17023SJohn MarinoCommon Report Var(flag_cprop_registers) Optimization 928e4b17023SJohn MarinoPerform a register copy-propagation optimization pass 929e4b17023SJohn Marino 930e4b17023SJohn Marinofcrossjumping 931e4b17023SJohn MarinoCommon Report Var(flag_crossjumping) Optimization 932e4b17023SJohn MarinoPerform cross-jumping optimization 933e4b17023SJohn Marino 934e4b17023SJohn Marinofcse-follow-jumps 935e4b17023SJohn MarinoCommon Report Var(flag_cse_follow_jumps) Optimization 936e4b17023SJohn MarinoWhen running CSE, follow jumps to their targets 937e4b17023SJohn Marino 938e4b17023SJohn Marinofcse-skip-blocks 939e4b17023SJohn MarinoCommon Ignore 940e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 941e4b17023SJohn Marino 942e4b17023SJohn Marinofcx-limited-range 943e4b17023SJohn MarinoCommon Report Var(flag_cx_limited_range) Optimization SetByCombined 944e4b17023SJohn MarinoOmit range reduction step when performing complex division 945e4b17023SJohn Marino 946e4b17023SJohn Marinofcx-fortran-rules 947e4b17023SJohn MarinoCommon Report Var(flag_cx_fortran_rules) Optimization 948e4b17023SJohn MarinoComplex multiplication and division follow Fortran rules 949e4b17023SJohn Marino 950e4b17023SJohn Marinofdata-sections 951e4b17023SJohn MarinoCommon Report Var(flag_data_sections) Optimization 952e4b17023SJohn MarinoPlace data items into their own section 953e4b17023SJohn Marino 954e4b17023SJohn Marinofdbg-cnt-list 955e4b17023SJohn MarinoCommon Report Var(common_deferred_options) Defer 956e4b17023SJohn MarinoList all available debugging counters with their limits and counts. 957e4b17023SJohn Marino 958e4b17023SJohn Marinofdbg-cnt= 959e4b17023SJohn MarinoCommon RejectNegative Joined Var(common_deferred_options) Defer 960e4b17023SJohn Marino-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. 961e4b17023SJohn Marino 962e4b17023SJohn Marinofdebug-prefix-map= 963e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 964e4b17023SJohn MarinoMap one directory name to another in debug information 965e4b17023SJohn Marino 966e4b17023SJohn Marinofdebug-types-section 967e4b17023SJohn MarinoCommon Report Var(flag_debug_types_section) Init(1) 968e4b17023SJohn MarinoOutput .debug_types section when using DWARF v4 debuginfo. 969e4b17023SJohn Marino 970e4b17023SJohn Marino; Nonzero for -fdefer-pop: don't pop args after each function call 971e4b17023SJohn Marino; instead save them up to pop many calls' args with one insns. 972e4b17023SJohn Marinofdefer-pop 973e4b17023SJohn MarinoCommon Report Var(flag_defer_pop) Optimization 974e4b17023SJohn MarinoDefer popping functions args from stack until later 975e4b17023SJohn Marino 976e4b17023SJohn Marinofdelayed-branch 977e4b17023SJohn MarinoCommon Report Var(flag_delayed_branch) Optimization 978e4b17023SJohn MarinoAttempt to fill delay slots of branch instructions 979e4b17023SJohn Marino 980e4b17023SJohn Marinofdelete-null-pointer-checks 981e4b17023SJohn MarinoCommon Report Var(flag_delete_null_pointer_checks) Init(1) Optimization 982e4b17023SJohn MarinoDelete useless null pointer checks 983e4b17023SJohn Marino 984e4b17023SJohn Marinofdevirtualize 985e4b17023SJohn MarinoCommon Report Var(flag_devirtualize) Optimization 986e4b17023SJohn MarinoTry to convert virtual calls to direct ones. 987e4b17023SJohn Marino 988e4b17023SJohn Marinofdiagnostics-show-location= 989e4b17023SJohn MarinoCommon Joined RejectNegative Enum(diagnostic_prefixing_rule) 990e4b17023SJohn Marino-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics 991e4b17023SJohn Marino 992e4b17023SJohn Marino; Required for these enum values. 993e4b17023SJohn MarinoSourceInclude 994e4b17023SJohn Marinopretty-print.h 995e4b17023SJohn Marino 996e4b17023SJohn MarinoEnum 997e4b17023SJohn MarinoName(diagnostic_prefixing_rule) Type(int) 998e4b17023SJohn Marino 999e4b17023SJohn MarinoEnumValue 1000e4b17023SJohn MarinoEnum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE) 1001e4b17023SJohn Marino 1002e4b17023SJohn MarinoEnumValue 1003e4b17023SJohn MarinoEnum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE) 1004e4b17023SJohn Marino 1005e4b17023SJohn Marinofdiagnostics-show-option 1006e4b17023SJohn MarinoCommon Var(flag_diagnostics_show_option) Init(1) 1007e4b17023SJohn MarinoAmend appropriate diagnostic messages with the command line option that controls them 1008e4b17023SJohn Marino 1009e4b17023SJohn Marinofdisable- 1010e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1011e4b17023SJohn Marino-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass 1012e4b17023SJohn Marino 1013e4b17023SJohn Marinofenable- 1014e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1015e4b17023SJohn Marino-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass 1016e4b17023SJohn Marino 1017e4b17023SJohn Marinofdump- 1018e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1019e4b17023SJohn Marino-fdump-<type> Dump various compiler internals to a file 1020e4b17023SJohn Marino 1021e4b17023SJohn Marinofdump-final-insns 1022e4b17023SJohn MarinoDriver RejectNegative 1023e4b17023SJohn Marino 1024e4b17023SJohn Marinofdump-final-insns= 1025e4b17023SJohn MarinoCommon RejectNegative Joined Var(flag_dump_final_insns) 1026e4b17023SJohn Marino-fdump-final-insns=filename Dump to filename the insns at the end of translation 1027e4b17023SJohn Marino 1028e4b17023SJohn Marinofdump-go-spec= 1029e4b17023SJohn MarinoCommon RejectNegative Joined Var(flag_dump_go_spec) 1030e4b17023SJohn Marino-fdump-go-spec=filename Write all declarations to file as Go code 1031e4b17023SJohn Marino 1032e4b17023SJohn Marinofdump-noaddr 1033e4b17023SJohn MarinoCommon Report Var(flag_dump_noaddr) 1034e4b17023SJohn MarinoSuppress output of addresses in debugging dumps 1035e4b17023SJohn Marino 1036e4b17023SJohn Marinofdump-passes 1037e4b17023SJohn MarinoCommon Var(flag_dump_passes) Init(0) 1038e4b17023SJohn MarinoDump optimization passes 1039e4b17023SJohn Marino 1040e4b17023SJohn Marinofdump-unnumbered 1041e4b17023SJohn MarinoCommon Report Var(flag_dump_unnumbered) 1042e4b17023SJohn MarinoSuppress output of instruction numbers, line number notes and addresses in debugging dumps 1043e4b17023SJohn Marino 1044e4b17023SJohn Marinofdump-unnumbered-links 1045e4b17023SJohn MarinoCommon Report Var(flag_dump_unnumbered_links) 1046e4b17023SJohn MarinoSuppress output of previous and next insn numbers in debugging dumps 1047e4b17023SJohn Marino 1048e4b17023SJohn Marinofdwarf2-cfi-asm 1049e4b17023SJohn MarinoCommon Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE) 1050e4b17023SJohn MarinoEnable CFI tables via GAS assembler directives. 1051e4b17023SJohn Marino 1052e4b17023SJohn Marinofearly-inlining 1053e4b17023SJohn MarinoCommon Report Var(flag_early_inlining) Init(1) Optimization 1054e4b17023SJohn MarinoPerform early inlining 1055e4b17023SJohn Marino 1056e4b17023SJohn Marinofeliminate-dwarf2-dups 1057e4b17023SJohn MarinoCommon Report Var(flag_eliminate_dwarf2_dups) 1058e4b17023SJohn MarinoPerform DWARF2 duplicate elimination 1059e4b17023SJohn Marino 1060e4b17023SJohn Marinofipa-sra 1061e4b17023SJohn MarinoCommon Report Var(flag_ipa_sra) Init(0) Optimization 1062e4b17023SJohn MarinoPerform interprocedural reduction of aggregates 1063e4b17023SJohn Marino 1064e4b17023SJohn Marinofeliminate-unused-debug-symbols 1065e4b17023SJohn MarinoCommon Report Var(flag_debug_only_used_symbols) 1066e4b17023SJohn MarinoPerform unused type elimination in debug info 1067e4b17023SJohn Marino 1068e4b17023SJohn Marinofeliminate-unused-debug-types 1069e4b17023SJohn MarinoCommon Report Var(flag_eliminate_unused_debug_types) Init(1) 1070e4b17023SJohn MarinoPerform unused type elimination in debug info 1071e4b17023SJohn Marino 1072e4b17023SJohn Marinofemit-class-debug-always 1073e4b17023SJohn MarinoCommon Report Var(flag_emit_class_debug_always) Init(0) 1074e4b17023SJohn MarinoDo not suppress C++ class debug information. 1075e4b17023SJohn Marino 1076e4b17023SJohn Marinofexceptions 1077e4b17023SJohn MarinoCommon Report Var(flag_exceptions) Optimization 1078e4b17023SJohn MarinoEnable exception handling 1079e4b17023SJohn Marino 1080e4b17023SJohn Marinofexpensive-optimizations 1081e4b17023SJohn MarinoCommon Report Var(flag_expensive_optimizations) Optimization 1082e4b17023SJohn MarinoPerform a number of minor, expensive optimizations 1083e4b17023SJohn Marino 1084e4b17023SJohn Marinofexcess-precision= 1085e4b17023SJohn MarinoCommon Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT) 1086e4b17023SJohn Marino-fexcess-precision=[fast|standard] Specify handling of excess floating-point precision 1087e4b17023SJohn Marino 1088e4b17023SJohn MarinoEnum 1089e4b17023SJohn MarinoName(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs) 1090e4b17023SJohn Marino 1091e4b17023SJohn MarinoEnumValue 1092e4b17023SJohn MarinoEnum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST) 1093e4b17023SJohn Marino 1094e4b17023SJohn MarinoEnumValue 1095e4b17023SJohn MarinoEnum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD) 1096e4b17023SJohn Marino 1097e4b17023SJohn Marinoffast-math 1098e4b17023SJohn MarinoCommon 1099e4b17023SJohn Marino 1100e4b17023SJohn Marinoffat-lto-objects 1101e4b17023SJohn MarinoCommon Var(flag_fat_lto_objects) Init(1) 1102e4b17023SJohn MarinoOutput lto objects containing both the intermediate language and binary output. 1103e4b17023SJohn Marino 1104e4b17023SJohn Marinoffinite-math-only 1105e4b17023SJohn MarinoCommon Report Var(flag_finite_math_only) Optimization SetByCombined 1106e4b17023SJohn MarinoAssume no NaNs or infinities are generated 1107e4b17023SJohn Marino 1108e4b17023SJohn Marinoffixed- 1109e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1110e4b17023SJohn Marino-ffixed-<register> Mark <register> as being unavailable to the compiler 1111e4b17023SJohn Marino 1112e4b17023SJohn Marinoffloat-store 1113e4b17023SJohn MarinoCommon Report Var(flag_float_store) Optimization 1114e4b17023SJohn MarinoDon't allocate floats and doubles in extended-precision registers 1115e4b17023SJohn Marino 1116e4b17023SJohn Marinofforce-addr 1117e4b17023SJohn MarinoCommon Ignore 1118e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1119e4b17023SJohn Marino 1120e4b17023SJohn Marinofforward-propagate 1121e4b17023SJohn MarinoCommon Report Var(flag_forward_propagate) Optimization 1122e4b17023SJohn MarinoPerform a forward propagation pass on RTL 1123e4b17023SJohn Marino 1124e4b17023SJohn Marinoffp-contract= 1125e4b17023SJohn MarinoCommon Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST) 1126e4b17023SJohn Marino-ffp-contract=[off|on|fast] Perform floating-point expression contraction. 1127e4b17023SJohn Marino 1128e4b17023SJohn MarinoEnum 1129e4b17023SJohn MarinoName(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs) 1130e4b17023SJohn Marino 1131e4b17023SJohn MarinoEnumValue 1132e4b17023SJohn MarinoEnum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF) 1133e4b17023SJohn Marino 1134e4b17023SJohn Marino; Not implemented, fall back to conservative FP_CONTRACT_OFF. 1135e4b17023SJohn MarinoEnumValue 1136e4b17023SJohn MarinoEnum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF) 1137e4b17023SJohn Marino 1138e4b17023SJohn MarinoEnumValue 1139e4b17023SJohn MarinoEnum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST) 1140e4b17023SJohn Marino 1141e4b17023SJohn Marino; Nonzero means don't put addresses of constant functions in registers. 1142e4b17023SJohn Marino; Used for compiling the Unix kernel, where strange substitutions are 1143e4b17023SJohn Marino; done on the assembly output. 1144e4b17023SJohn Marinoffunction-cse 1145e4b17023SJohn MarinoCommon Report Var(flag_no_function_cse,0) 1146e4b17023SJohn MarinoAllow function addresses to be held in registers 1147e4b17023SJohn Marino 1148e4b17023SJohn Marinoffunction-sections 1149e4b17023SJohn MarinoCommon Report Var(flag_function_sections) 1150e4b17023SJohn MarinoPlace each function into its own section 1151e4b17023SJohn Marino 1152e4b17023SJohn Marinofgcse 1153e4b17023SJohn MarinoCommon Report Var(flag_gcse) Optimization 1154e4b17023SJohn MarinoPerform global common subexpression elimination 1155e4b17023SJohn Marino 1156e4b17023SJohn Marinofgcse-lm 1157e4b17023SJohn MarinoCommon Report Var(flag_gcse_lm) Init(1) Optimization 1158e4b17023SJohn MarinoPerform enhanced load motion during global common subexpression elimination 1159e4b17023SJohn Marino 1160e4b17023SJohn Marinofgcse-sm 1161e4b17023SJohn MarinoCommon Report Var(flag_gcse_sm) Init(0) Optimization 1162e4b17023SJohn MarinoPerform store motion after global common subexpression elimination 1163e4b17023SJohn Marino 1164e4b17023SJohn Marinofgcse-las 1165e4b17023SJohn MarinoCommon Report Var(flag_gcse_las) Init(0) Optimization 1166e4b17023SJohn MarinoPerform redundant load after store elimination in global common subexpression 1167e4b17023SJohn Marinoelimination 1168e4b17023SJohn Marino 1169e4b17023SJohn Marinofgcse-after-reload 1170e4b17023SJohn MarinoCommon Report Var(flag_gcse_after_reload) Optimization 1171e4b17023SJohn MarinoPerform global common subexpression elimination after register allocation 1172e4b17023SJohn Marinohas finished 1173e4b17023SJohn Marino 1174e4b17023SJohn Marino; This option is not documented yet as its semantics will change. 1175e4b17023SJohn Marinofgraphite 1176e4b17023SJohn MarinoCommon Report Var(flag_graphite) 1177e4b17023SJohn MarinoEnable in and out of Graphite representation 1178e4b17023SJohn Marino 1179e4b17023SJohn Marinofgraphite-identity 1180e4b17023SJohn MarinoCommon Report Var(flag_graphite_identity) Optimization 1181e4b17023SJohn MarinoEnable Graphite Identity transformation 1182e4b17023SJohn Marino 1183e4b17023SJohn Marinofloop-parallelize-all 1184e4b17023SJohn MarinoCommon Report Var(flag_loop_parallelize_all) Optimization 1185e4b17023SJohn MarinoMark all loops as parallel 1186e4b17023SJohn Marino 1187e4b17023SJohn Marinofloop-strip-mine 1188e4b17023SJohn MarinoCommon Report Var(flag_loop_strip_mine) Optimization 1189e4b17023SJohn MarinoEnable Loop Strip Mining transformation 1190e4b17023SJohn Marino 1191e4b17023SJohn Marinofloop-interchange 1192e4b17023SJohn MarinoCommon Report Var(flag_loop_interchange) Optimization 1193e4b17023SJohn MarinoEnable Loop Interchange transformation 1194e4b17023SJohn Marino 1195e4b17023SJohn Marinofloop-block 1196e4b17023SJohn MarinoCommon Report Var(flag_loop_block) Optimization 1197e4b17023SJohn MarinoEnable Loop Blocking transformation 1198e4b17023SJohn Marino 1199e4b17023SJohn Marinofgnu-tm 1200e4b17023SJohn MarinoCommon Report Var(flag_tm) 1201e4b17023SJohn MarinoEnable support for GNU transactional memory 1202e4b17023SJohn Marino 1203e4b17023SJohn Marinofloop-flatten 1204e4b17023SJohn MarinoCommon Report Var(flag_loop_flatten) Optimization 1205e4b17023SJohn MarinoEnable Loop Flattening transformation 1206e4b17023SJohn Marino 1207e4b17023SJohn Marinofstrict-volatile-bitfields 1208e4b17023SJohn MarinoCommon Report Var(flag_strict_volatile_bitfields) Init(-1) 1209e4b17023SJohn MarinoForce bitfield accesses to match their type width 1210e4b17023SJohn Marino 1211e4b17023SJohn Marinofguess-branch-probability 1212e4b17023SJohn MarinoCommon Report Var(flag_guess_branch_prob) Optimization 1213e4b17023SJohn MarinoEnable guessing of branch probabilities 1214e4b17023SJohn Marino 1215e4b17023SJohn Marino; Nonzero means ignore `#ident' directives. 0 means handle them. 1216e4b17023SJohn Marino; Generate position-independent code for executables if possible 1217e4b17023SJohn Marino; On SVR4 targets, it also controls whether or not to emit a 1218e4b17023SJohn Marino; string identifying the compiler. 1219e4b17023SJohn Marinofident 1220e4b17023SJohn MarinoCommon Report Var(flag_no_ident,0) 1221e4b17023SJohn MarinoProcess #ident directives 1222e4b17023SJohn Marino 1223e4b17023SJohn Marinofif-conversion 1224e4b17023SJohn MarinoCommon Report Var(flag_if_conversion) Optimization 1225e4b17023SJohn MarinoPerform conversion of conditional jumps to branchless equivalents 1226e4b17023SJohn Marino 1227e4b17023SJohn Marinofif-conversion2 1228e4b17023SJohn MarinoCommon Report Var(flag_if_conversion2) Optimization 1229e4b17023SJohn MarinoPerform conversion of conditional jumps to conditional execution 1230e4b17023SJohn Marino 1231e4b17023SJohn Marinoftree-loop-if-convert 1232e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_if_convert) Init(-1) Optimization 1233e4b17023SJohn MarinoConvert conditional jumps in innermost loops to branchless equivalents 1234e4b17023SJohn Marino 1235e4b17023SJohn Marinoftree-loop-if-convert-stores 1236e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_if_convert_stores) Optimization 1237e4b17023SJohn MarinoAlso if-convert conditional jumps containing memory writes 1238e4b17023SJohn Marino 1239e4b17023SJohn Marino; -finhibit-size-directive inhibits output of .size for ELF. 1240e4b17023SJohn Marino; This is used only for compiling crtstuff.c, 1241e4b17023SJohn Marino; and it may be extended to other effects 1242e4b17023SJohn Marino; needed for crtstuff.c on other systems. 1243e4b17023SJohn Marinofinhibit-size-directive 1244e4b17023SJohn MarinoCommon Report Var(flag_inhibit_size_directive) 1245e4b17023SJohn MarinoDo not generate .size directives 1246e4b17023SJohn Marino 1247e4b17023SJohn Marinofindirect-inlining 1248e4b17023SJohn MarinoCommon Report Var(flag_indirect_inlining) 1249e4b17023SJohn MarinoPerform indirect inlining 1250e4b17023SJohn Marino 1251e4b17023SJohn Marino; General flag to enable inlining. Specifying -fno-inline will disable 1252e4b17023SJohn Marino; all inlining apart from always-inline functions. 1253e4b17023SJohn Marinofinline 1254e4b17023SJohn MarinoCommon Report Var(flag_no_inline,0) Init(0) 1255e4b17023SJohn MarinoEnable inlining of function declared \"inline\", disabling disables all inlining 1256e4b17023SJohn Marino 1257e4b17023SJohn Marinofinline-small-functions 1258e4b17023SJohn MarinoCommon Report Var(flag_inline_small_functions) Optimization 1259e4b17023SJohn MarinoIntegrate functions into their callers when code size is known not to grow 1260e4b17023SJohn Marino 1261e4b17023SJohn Marinofinline-functions 1262e4b17023SJohn MarinoCommon Report Var(flag_inline_functions) Optimization 1263e4b17023SJohn MarinoIntegrate functions not declared \"inline\" into their callers when profitable 1264e4b17023SJohn Marino 1265e4b17023SJohn Marinofinline-functions-called-once 1266e4b17023SJohn MarinoCommon Report Var(flag_inline_functions_called_once) Optimization 1267e4b17023SJohn MarinoIntegrate functions only required by their single caller 1268e4b17023SJohn Marino 1269e4b17023SJohn Marinofinline-limit- 1270e4b17023SJohn MarinoCommon RejectNegative Joined Alias(finline-limit=) 1271e4b17023SJohn Marino 1272e4b17023SJohn Marinofinline-limit= 1273e4b17023SJohn MarinoCommon RejectNegative Joined UInteger 1274e4b17023SJohn Marino-finline-limit=<number> Limit the size of inlined functions to <number> 1275e4b17023SJohn Marino 1276e4b17023SJohn Marinofinline-atomics 1277e4b17023SJohn MarinoCommon Report Var(flag_inline_atomics) Init(1) Optimization 1278e4b17023SJohn MarinoInline __atomic operations when a lock free instruction sequence is available. 1279e4b17023SJohn Marino 1280e4b17023SJohn Marinofinstrument-functions 1281e4b17023SJohn MarinoCommon Report Var(flag_instrument_function_entry_exit) 1282e4b17023SJohn MarinoInstrument function entry and exit with profiling calls 1283e4b17023SJohn Marino 1284e4b17023SJohn Marinofinstrument-functions-exclude-function-list= 1285e4b17023SJohn MarinoCommon RejectNegative Joined 1286e4b17023SJohn Marino-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions 1287e4b17023SJohn Marino 1288e4b17023SJohn Marinofinstrument-functions-exclude-file-list= 1289e4b17023SJohn MarinoCommon RejectNegative Joined 1290e4b17023SJohn Marino-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files 1291e4b17023SJohn Marino 1292e4b17023SJohn Marinofipa-cp 1293e4b17023SJohn MarinoCommon Report Var(flag_ipa_cp) Optimization 1294e4b17023SJohn MarinoPerform Interprocedural constant propagation 1295e4b17023SJohn Marino 1296e4b17023SJohn Marinofipa-cp-clone 1297e4b17023SJohn MarinoCommon Report Var(flag_ipa_cp_clone) Optimization 1298e4b17023SJohn MarinoPerform cloning to make Interprocedural constant propagation stronger 1299e4b17023SJohn Marino 1300e4b17023SJohn Marinofipa-profile 1301e4b17023SJohn MarinoCommon Report Var(flag_ipa_profile) Init(0) Optimization 1302e4b17023SJohn MarinoPerform interprocedural profile propagation 1303e4b17023SJohn Marino 1304e4b17023SJohn Marinofipa-pta 1305e4b17023SJohn MarinoCommon Report Var(flag_ipa_pta) Init(0) Optimization 1306e4b17023SJohn MarinoPerform interprocedural points-to analysis 1307e4b17023SJohn Marino 1308e4b17023SJohn Marinofipa-pure-const 1309e4b17023SJohn MarinoCommon Report Var(flag_ipa_pure_const) Init(0) Optimization 1310e4b17023SJohn MarinoDiscover pure and const functions 1311e4b17023SJohn Marino 1312e4b17023SJohn Marinofipa-reference 1313e4b17023SJohn MarinoCommon Report Var(flag_ipa_reference) Init(0) Optimization 1314e4b17023SJohn MarinoDiscover readonly and non addressable static variables 1315e4b17023SJohn Marino 1316e4b17023SJohn Marinofipa-matrix-reorg 1317e4b17023SJohn MarinoCommon Report Var(flag_ipa_matrix_reorg) Optimization 1318e4b17023SJohn MarinoPerform matrix layout flattening and transposing based 1319e4b17023SJohn Marinoon profiling information. 1320e4b17023SJohn Marino 1321e4b17023SJohn Marinofipa-struct-reorg 1322e4b17023SJohn MarinoCommon Ignore 1323e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1324e4b17023SJohn Marino 1325e4b17023SJohn Marinofira-algorithm= 1326e4b17023SJohn MarinoCommon Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) 1327e4b17023SJohn Marino-fira-algorithm=[CB|priority] Set the used IRA algorithm 1328e4b17023SJohn Marino 1329e4b17023SJohn MarinoEnum 1330e4b17023SJohn MarinoName(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs) 1331e4b17023SJohn Marino 1332e4b17023SJohn MarinoEnumValue 1333e4b17023SJohn MarinoEnum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB) 1334e4b17023SJohn Marino 1335e4b17023SJohn MarinoEnumValue 1336e4b17023SJohn MarinoEnum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY) 1337e4b17023SJohn Marino 1338e4b17023SJohn Marinofira-region= 1339e4b17023SJohn MarinoCommon Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT) 1340e4b17023SJohn Marino-fira-region=[one|all|mixed] Set regions for IRA 1341e4b17023SJohn Marino 1342e4b17023SJohn MarinoEnum 1343e4b17023SJohn MarinoName(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs) 1344e4b17023SJohn Marino 1345e4b17023SJohn MarinoEnumValue 1346e4b17023SJohn MarinoEnum(ira_region) String(one) Value(IRA_REGION_ONE) 1347e4b17023SJohn Marino 1348e4b17023SJohn MarinoEnumValue 1349e4b17023SJohn MarinoEnum(ira_region) String(all) Value(IRA_REGION_ALL) 1350e4b17023SJohn Marino 1351e4b17023SJohn MarinoEnumValue 1352e4b17023SJohn MarinoEnum(ira_region) String(mixed) Value(IRA_REGION_MIXED) 1353e4b17023SJohn Marino 1354e4b17023SJohn Marinofira-loop-pressure 1355e4b17023SJohn MarinoCommon Report Var(flag_ira_loop_pressure) 1356e4b17023SJohn MarinoUse IRA based register pressure calculation 1357e4b17023SJohn Marinoin RTL loop optimizations. 1358e4b17023SJohn Marino 1359e4b17023SJohn Marinofira-share-save-slots 1360e4b17023SJohn MarinoCommon Report Var(flag_ira_share_save_slots) Init(1) 1361e4b17023SJohn MarinoShare slots for saving different hard registers. 1362e4b17023SJohn Marino 1363e4b17023SJohn Marinofira-share-spill-slots 1364e4b17023SJohn MarinoCommon Report Var(flag_ira_share_spill_slots) Init(1) 1365e4b17023SJohn MarinoShare stack slots for spilled pseudo-registers. 1366e4b17023SJohn Marino 1367e4b17023SJohn Marinofira-verbose= 1368e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5) 1369e4b17023SJohn Marino-fira-verbose=<number> Control IRA's level of diagnostic messages. 1370e4b17023SJohn Marino 1371e4b17023SJohn Marinofivopts 1372e4b17023SJohn MarinoCommon Report Var(flag_ivopts) Init(1) Optimization 1373e4b17023SJohn MarinoOptimize induction variables on trees 1374e4b17023SJohn Marino 1375e4b17023SJohn Marinofjump-tables 1376e4b17023SJohn MarinoCommon Var(flag_jump_tables) Init(1) Optimization 1377e4b17023SJohn MarinoUse jump tables for sufficiently large switch statements 1378e4b17023SJohn Marino 1379e4b17023SJohn Marinofkeep-inline-functions 1380e4b17023SJohn MarinoCommon Report Var(flag_keep_inline_functions) 1381e4b17023SJohn MarinoGenerate code for functions even if they are fully inlined 1382e4b17023SJohn Marino 1383e4b17023SJohn Marinofkeep-static-consts 1384e4b17023SJohn MarinoCommon Report Var(flag_keep_static_consts) Init(1) 1385e4b17023SJohn MarinoEmit static const variables even if they are not used 1386e4b17023SJohn Marino 1387e4b17023SJohn Marinofleading-underscore 1388e4b17023SJohn MarinoCommon Report Var(flag_leading_underscore) Init(-1) 1389e4b17023SJohn MarinoGive external symbols a leading underscore 1390e4b17023SJohn Marino 1391e4b17023SJohn Marinofloop-optimize 1392e4b17023SJohn MarinoCommon Ignore 1393e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1394e4b17023SJohn Marino 1395e4b17023SJohn Marinoflto 1396e4b17023SJohn MarinoCommon 1397e4b17023SJohn MarinoEnable link-time optimization. 1398e4b17023SJohn Marino 1399e4b17023SJohn Marinoflto= 1400e4b17023SJohn MarinoCommon RejectNegative Joined Var(flag_lto) 1401e4b17023SJohn MarinoLink-time optimization with number of parallel jobs or jobserver. 1402e4b17023SJohn Marino 1403e4b17023SJohn Marinoflto-partition=1to1 1404e4b17023SJohn MarinoCommon Var(flag_lto_partition_1to1) 1405e4b17023SJohn MarinoPartition functions and vars at linktime based on object files they originate from 1406e4b17023SJohn Marino 1407e4b17023SJohn Marinoflto-partition=balanced 1408e4b17023SJohn MarinoCommon Var(flag_lto_partition_balanced) 1409e4b17023SJohn MarinoPartition functions and vars at linktime into approximately same sized buckets 1410e4b17023SJohn Marino 1411e4b17023SJohn Marinoflto-partition=none 1412e4b17023SJohn MarinoCommon Var(flag_lto_partition_none) 1413e4b17023SJohn MarinoDisable partioning and streaming 1414e4b17023SJohn Marino 1415e4b17023SJohn Marino; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h. 1416e4b17023SJohn Marinoflto-compression-level= 1417e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1) 1418e4b17023SJohn Marino-flto-compression-level=<number> Use zlib compression level <number> for IL 1419e4b17023SJohn Marino 1420e4b17023SJohn Marinoflto-report 1421e4b17023SJohn MarinoCommon Report Var(flag_lto_report) Init(0) 1422e4b17023SJohn MarinoReport various link-time optimization statistics 1423e4b17023SJohn Marino 1424e4b17023SJohn Marinofmath-errno 1425e4b17023SJohn MarinoCommon Report Var(flag_errno_math) Init(1) Optimization SetByCombined 1426e4b17023SJohn MarinoSet errno after built-in math functions 1427e4b17023SJohn Marino 1428e4b17023SJohn Marinofmax-errors= 1429e4b17023SJohn MarinoCommon Joined RejectNegative UInteger Var(flag_max_errors) 1430e4b17023SJohn Marino-fmax-errors=<number> Maximum number of errors to report 1431e4b17023SJohn Marino 1432e4b17023SJohn Marinofmem-report 1433e4b17023SJohn MarinoCommon Report Var(mem_report) 1434e4b17023SJohn MarinoReport on permanent memory allocation 1435e4b17023SJohn Marino 1436e4b17023SJohn Marino; This will attempt to merge constant section constants, if 1 only 1437e4b17023SJohn Marino; string constants and constants from constant pool, if 2 also constant 1438e4b17023SJohn Marino; variables. 1439e4b17023SJohn Marinofmerge-all-constants 1440e4b17023SJohn MarinoCommon Report Var(flag_merge_constants,2) Init(1) Optimization 1441e4b17023SJohn MarinoAttempt to merge identical constants and constant variables 1442e4b17023SJohn Marino 1443e4b17023SJohn Marinofmerge-constants 1444e4b17023SJohn MarinoCommon Report Var(flag_merge_constants,1) Optimization 1445e4b17023SJohn MarinoAttempt to merge identical constants across compilation units 1446e4b17023SJohn Marino 1447e4b17023SJohn Marinofmerge-debug-strings 1448e4b17023SJohn MarinoCommon Report Var(flag_merge_debug_strings) Init(1) 1449e4b17023SJohn MarinoAttempt to merge identical debug strings across compilation units 1450e4b17023SJohn Marino 1451e4b17023SJohn Marinofmessage-length= 1452e4b17023SJohn MarinoCommon RejectNegative Joined UInteger 1453e4b17023SJohn Marino-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping 1454e4b17023SJohn Marino 1455e4b17023SJohn Marinofmodulo-sched 1456e4b17023SJohn MarinoCommon Report Var(flag_modulo_sched) Optimization 1457e4b17023SJohn MarinoPerform SMS based modulo scheduling before the first scheduling pass 1458e4b17023SJohn Marino 1459e4b17023SJohn Marinofmodulo-sched-allow-regmoves 1460e4b17023SJohn MarinoCommon Report Var(flag_modulo_sched_allow_regmoves) 1461e4b17023SJohn MarinoPerform SMS based modulo scheduling with register moves allowed 1462e4b17023SJohn Marino 1463e4b17023SJohn Marinofmove-loop-invariants 1464e4b17023SJohn MarinoCommon Report Var(flag_move_loop_invariants) Init(1) Optimization 1465e4b17023SJohn MarinoMove loop invariant computations out of loops 1466e4b17023SJohn Marino 1467e4b17023SJohn Marinofdce 1468e4b17023SJohn MarinoCommon Var(flag_dce) Init(1) Optimization 1469e4b17023SJohn MarinoUse the RTL dead code elimination pass 1470e4b17023SJohn Marino 1471e4b17023SJohn Marinofdse 1472e4b17023SJohn MarinoCommon Var(flag_dse) Init(1) Optimization 1473e4b17023SJohn MarinoUse the RTL dead store elimination pass 1474e4b17023SJohn Marino 1475e4b17023SJohn Marinofreschedule-modulo-scheduled-loops 1476e4b17023SJohn MarinoCommon Report Var(flag_resched_modulo_sched) Optimization 1477e4b17023SJohn MarinoEnable/Disable the traditional scheduling in loops that already passed modulo scheduling 1478e4b17023SJohn Marino 1479e4b17023SJohn Marinofnon-call-exceptions 1480e4b17023SJohn MarinoCommon Report Var(flag_non_call_exceptions) Optimization 1481e4b17023SJohn MarinoSupport synchronous non-call exceptions 1482e4b17023SJohn Marino 1483e4b17023SJohn Marinofomit-frame-pointer 1484e4b17023SJohn MarinoCommon Report Var(flag_omit_frame_pointer) Optimization 1485e4b17023SJohn MarinoWhen possible do not generate stack frames 1486e4b17023SJohn Marino 1487e4b17023SJohn Marinofoptimize-register-move 1488e4b17023SJohn MarinoCommon Report Var(flag_regmove) Optimization 1489e4b17023SJohn MarinoDo the full register move optimization pass 1490e4b17023SJohn Marino 1491e4b17023SJohn Marinofoptimize-sibling-calls 1492e4b17023SJohn MarinoCommon Report Var(flag_optimize_sibling_calls) Optimization 1493e4b17023SJohn MarinoOptimize sibling and tail recursive calls 1494e4b17023SJohn Marino 1495e4b17023SJohn Marinofpartial-inlining 1496e4b17023SJohn MarinoCommon Report Var(flag_partial_inlining) 1497e4b17023SJohn MarinoPerform partial inlining 1498e4b17023SJohn Marino 1499e4b17023SJohn Marinofpre-ipa-mem-report 1500e4b17023SJohn MarinoCommon Report Var(pre_ipa_mem_report) 1501e4b17023SJohn MarinoReport on memory allocation before interprocedural optimization 1502e4b17023SJohn Marino 1503e4b17023SJohn Marinofpost-ipa-mem-report 1504e4b17023SJohn MarinoCommon Report Var(post_ipa_mem_report) 1505e4b17023SJohn MarinoReport on memory allocation before interprocedural optimization 1506e4b17023SJohn Marino 1507e4b17023SJohn Marinofpack-struct 1508e4b17023SJohn MarinoCommon Report Var(flag_pack_struct) Optimization 1509e4b17023SJohn MarinoPack structure members together without holes 1510e4b17023SJohn Marino 1511e4b17023SJohn Marinofpack-struct= 1512e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Optimization 1513e4b17023SJohn Marino-fpack-struct=<number> Set initial maximum structure member alignment 1514e4b17023SJohn Marino 1515e4b17023SJohn Marinofpcc-struct-return 1516e4b17023SJohn MarinoCommon Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN) 1517e4b17023SJohn MarinoReturn small aggregates in memory, not registers 1518e4b17023SJohn Marino 1519e4b17023SJohn Marinofpeel-loops 1520e4b17023SJohn MarinoCommon Report Var(flag_peel_loops) Optimization 1521e4b17023SJohn MarinoPerform loop peeling 1522e4b17023SJohn Marino 1523e4b17023SJohn Marinofpeephole 1524e4b17023SJohn MarinoCommon Report Var(flag_no_peephole,0) Optimization 1525e4b17023SJohn MarinoEnable machine specific peephole optimizations 1526e4b17023SJohn Marino 1527e4b17023SJohn Marinofpeephole2 1528e4b17023SJohn MarinoCommon Report Var(flag_peephole2) Optimization 1529e4b17023SJohn MarinoEnable an RTL peephole pass before sched2 1530e4b17023SJohn Marino 1531e4b17023SJohn MarinofPIC 1532e4b17023SJohn MarinoCommon Report Var(flag_pic,2) 1533e4b17023SJohn MarinoGenerate position-independent code if possible (large mode) 1534e4b17023SJohn Marino 1535e4b17023SJohn MarinofPIE 1536e4b17023SJohn MarinoCommon Report Var(flag_pie,2) 1537e4b17023SJohn MarinoGenerate position-independent code for executables if possible (large mode) 1538e4b17023SJohn Marino 1539e4b17023SJohn Marinofpic 1540e4b17023SJohn MarinoCommon Report Var(flag_pic,1) 1541e4b17023SJohn MarinoGenerate position-independent code if possible (small mode) 1542e4b17023SJohn Marino 1543e4b17023SJohn Marinofpie 1544e4b17023SJohn MarinoCommon Report Var(flag_pie,1) 1545e4b17023SJohn MarinoGenerate position-independent code for executables if possible (small mode) 1546e4b17023SJohn Marino 1547e4b17023SJohn Marinofplugin= 1548e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1549e4b17023SJohn MarinoSpecify a plugin to load 1550e4b17023SJohn Marino 1551e4b17023SJohn Marinofplugin-arg- 1552e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1553e4b17023SJohn Marino-fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name> 1554e4b17023SJohn Marino 1555e4b17023SJohn Marinofpredictive-commoning 1556e4b17023SJohn MarinoCommon Report Var(flag_predictive_commoning) Optimization 1557e4b17023SJohn MarinoRun predictive commoning optimization. 1558e4b17023SJohn Marino 1559e4b17023SJohn Marinofprefetch-loop-arrays 1560e4b17023SJohn MarinoCommon Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization 1561e4b17023SJohn MarinoGenerate prefetch instructions, if available, for arrays in loops 1562e4b17023SJohn Marino 1563e4b17023SJohn Marinofprofile 1564e4b17023SJohn MarinoCommon Report Var(profile_flag) 1565e4b17023SJohn MarinoEnable basic program profiling code 1566e4b17023SJohn Marino 1567e4b17023SJohn Marinofprofile-arcs 1568e4b17023SJohn MarinoCommon Report Var(profile_arc_flag) 1569e4b17023SJohn MarinoInsert arc-based program profiling code 1570e4b17023SJohn Marino 1571e4b17023SJohn Marinofprofile-dir= 1572e4b17023SJohn MarinoCommon Joined RejectNegative Var(profile_data_prefix) 1573e4b17023SJohn MarinoSet the top-level directory for storing the profile data. 1574e4b17023SJohn MarinoThe default is 'pwd'. 1575e4b17023SJohn Marino 1576e4b17023SJohn Marinofprofile-correction 1577e4b17023SJohn MarinoCommon Report Var(flag_profile_correction) 1578e4b17023SJohn MarinoEnable correction of flow inconsistent profile data input 1579e4b17023SJohn Marino 1580e4b17023SJohn Marinofprofile-generate 1581e4b17023SJohn MarinoCommon 1582e4b17023SJohn MarinoEnable common options for generating profile info for profile feedback directed optimizations 1583e4b17023SJohn Marino 1584e4b17023SJohn Marinofprofile-generate= 1585e4b17023SJohn MarinoCommon Joined RejectNegative 1586e4b17023SJohn MarinoEnable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir= 1587e4b17023SJohn Marino 1588e4b17023SJohn Marinofprofile-use 1589e4b17023SJohn MarinoCommon Var(flag_profile_use) 1590e4b17023SJohn MarinoEnable common options for performing profile feedback directed optimizations 1591e4b17023SJohn Marino 1592e4b17023SJohn Marinofprofile-use= 1593e4b17023SJohn MarinoCommon Joined RejectNegative 1594e4b17023SJohn MarinoEnable common options for performing profile feedback directed optimizations, and set -fprofile-dir= 1595e4b17023SJohn Marino 1596e4b17023SJohn Marinofprofile-values 1597e4b17023SJohn MarinoCommon Report Var(flag_profile_values) 1598e4b17023SJohn MarinoInsert code to profile values of expressions 1599e4b17023SJohn Marino 1600e4b17023SJohn Marinofrandom-seed 1601e4b17023SJohn MarinoCommon Var(common_deferred_options) Defer 1602e4b17023SJohn Marino 1603e4b17023SJohn Marinofrandom-seed= 1604e4b17023SJohn MarinoCommon Joined RejectNegative Var(common_deferred_options) Defer 1605e4b17023SJohn Marino-frandom-seed=<string> Make compile reproducible using <string> 1606e4b17023SJohn Marino 1607e4b17023SJohn Marino; This switch causes the command line that was used to create an 1608e4b17023SJohn Marino; object file to be recorded into the object file. The exact format 1609e4b17023SJohn Marino; of this recording is target and binary file format dependent. 1610e4b17023SJohn Marino; It is related to the -fverbose-asm switch, but that switch only 1611e4b17023SJohn Marino; records information in the assembler output file as comments, so 1612e4b17023SJohn Marino; they never reach the object file. 1613e4b17023SJohn Marinofrecord-gcc-switches 1614e4b17023SJohn MarinoCommon Report Var(flag_record_gcc_switches) 1615e4b17023SJohn MarinoRecord gcc command line switches in the object file. 1616e4b17023SJohn Marino 1617e4b17023SJohn Marinofreg-struct-return 1618e4b17023SJohn MarinoCommon Report Var(flag_pcc_struct_return,0) Optimization 1619e4b17023SJohn MarinoReturn small aggregates in registers 1620e4b17023SJohn Marino 1621e4b17023SJohn Marinofregmove 1622e4b17023SJohn MarinoCommon Report Var(flag_regmove) Optimization 1623e4b17023SJohn MarinoEnables a register move optimization 1624e4b17023SJohn Marino 1625e4b17023SJohn Marinofrename-registers 1626e4b17023SJohn MarinoCommon Report Var(flag_rename_registers) Init(2) Optimization 1627e4b17023SJohn MarinoPerform a register renaming optimization pass 1628e4b17023SJohn Marino 1629e4b17023SJohn Marinofreorder-blocks 1630e4b17023SJohn MarinoCommon Report Var(flag_reorder_blocks) Optimization 1631e4b17023SJohn MarinoReorder basic blocks to improve code placement 1632e4b17023SJohn Marino 1633e4b17023SJohn Marinofreorder-blocks-and-partition 1634e4b17023SJohn MarinoCommon Report Var(flag_reorder_blocks_and_partition) Optimization 1635e4b17023SJohn MarinoReorder basic blocks and partition into hot and cold sections 1636e4b17023SJohn Marino 1637e4b17023SJohn Marinofreorder-functions 1638e4b17023SJohn MarinoCommon Report Var(flag_reorder_functions) Optimization 1639e4b17023SJohn MarinoReorder functions to improve code placement 1640e4b17023SJohn Marino 1641e4b17023SJohn Marinofrerun-cse-after-loop 1642e4b17023SJohn MarinoCommon Report Var(flag_rerun_cse_after_loop) Optimization 1643e4b17023SJohn MarinoAdd a common subexpression elimination pass after loop optimizations 1644e4b17023SJohn Marino 1645e4b17023SJohn Marinofrerun-loop-opt 1646e4b17023SJohn MarinoCommon Ignore 1647e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1648e4b17023SJohn Marino 1649e4b17023SJohn Marinofrounding-math 1650e4b17023SJohn MarinoCommon Report Var(flag_rounding_math) Optimization SetByCombined 1651e4b17023SJohn MarinoDisable optimizations that assume default FP rounding behavior 1652e4b17023SJohn Marino 1653e4b17023SJohn Marinofsched-interblock 1654e4b17023SJohn MarinoCommon Report Var(flag_schedule_interblock) Init(1) Optimization 1655e4b17023SJohn MarinoEnable scheduling across basic blocks 1656e4b17023SJohn Marino 1657e4b17023SJohn Marinofsched-pressure 1658e4b17023SJohn MarinoCommon Report Var(flag_sched_pressure) Init(0) Optimization 1659e4b17023SJohn MarinoEnable register pressure sensitive insn scheduling 1660e4b17023SJohn Marino 1661e4b17023SJohn Marinofsched-spec 1662e4b17023SJohn MarinoCommon Report Var(flag_schedule_speculative) Init(1) Optimization 1663e4b17023SJohn MarinoAllow speculative motion of non-loads 1664e4b17023SJohn Marino 1665e4b17023SJohn Marinofsched-spec-load 1666e4b17023SJohn MarinoCommon Report Var(flag_schedule_speculative_load) Optimization 1667e4b17023SJohn MarinoAllow speculative motion of some loads 1668e4b17023SJohn Marino 1669e4b17023SJohn Marinofsched-spec-load-dangerous 1670e4b17023SJohn MarinoCommon Report Var(flag_schedule_speculative_load_dangerous) Optimization 1671e4b17023SJohn MarinoAllow speculative motion of more loads 1672e4b17023SJohn Marino 1673e4b17023SJohn Marinofsched-verbose= 1674e4b17023SJohn MarinoCommon RejectNegative Joined UInteger Var(sched_verbose_param) 1675e4b17023SJohn Marino-fsched-verbose=<number> Set the verbosity level of the scheduler 1676e4b17023SJohn Marino 1677e4b17023SJohn Marinofsched2-use-superblocks 1678e4b17023SJohn MarinoCommon Report Var(flag_sched2_use_superblocks) Optimization 1679e4b17023SJohn MarinoIf scheduling post reload, do superblock scheduling 1680e4b17023SJohn Marino 1681e4b17023SJohn Marinofsched2-use-traces 1682e4b17023SJohn MarinoCommon Ignore 1683e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1684e4b17023SJohn Marino 1685e4b17023SJohn Marinofschedule-insns 1686e4b17023SJohn MarinoCommon Report Var(flag_schedule_insns) Optimization 1687e4b17023SJohn MarinoReschedule instructions before register allocation 1688e4b17023SJohn Marino 1689e4b17023SJohn Marinofschedule-insns2 1690e4b17023SJohn MarinoCommon Report Var(flag_schedule_insns_after_reload) Optimization 1691e4b17023SJohn MarinoReschedule instructions after register allocation 1692e4b17023SJohn Marino 1693e4b17023SJohn Marino; This flag should be on when a target implements non-trivial 1694e4b17023SJohn Marino; scheduling hooks, maybe saving some information for its own sake. 1695e4b17023SJohn Marino; On IA64, for example, this is used for correct bundling. 1696e4b17023SJohn Marinofselective-scheduling 1697e4b17023SJohn MarinoCommon Report Var(flag_selective_scheduling) Optimization 1698e4b17023SJohn MarinoSchedule instructions using selective scheduling algorithm 1699e4b17023SJohn Marino 1700e4b17023SJohn Marinofselective-scheduling2 1701e4b17023SJohn MarinoCommon Report Var(flag_selective_scheduling2) Optimization 1702e4b17023SJohn MarinoRun selective scheduling after reload 1703e4b17023SJohn Marino 1704e4b17023SJohn Marinofsel-sched-pipelining 1705e4b17023SJohn MarinoCommon Report Var(flag_sel_sched_pipelining) Init(0) Optimization 1706e4b17023SJohn MarinoPerform software pipelining of inner loops during selective scheduling 1707e4b17023SJohn Marino 1708e4b17023SJohn Marinofsel-sched-pipelining-outer-loops 1709e4b17023SJohn MarinoCommon Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization 1710e4b17023SJohn MarinoPerform software pipelining of outer loops during selective scheduling 1711e4b17023SJohn Marino 1712e4b17023SJohn Marinofsel-sched-reschedule-pipelined 1713e4b17023SJohn MarinoCommon Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization 1714e4b17023SJohn MarinoReschedule pipelined regions without pipelining 1715e4b17023SJohn Marino 1716e4b17023SJohn Marino; sched_stalled_insns means that insns can be moved prematurely from the queue 1717e4b17023SJohn Marino; of stalled insns into the ready list. 1718e4b17023SJohn Marinofsched-stalled-insns 1719e4b17023SJohn MarinoCommon Report Var(flag_sched_stalled_insns) Optimization UInteger 1720e4b17023SJohn MarinoAllow premature scheduling of queued insns 1721e4b17023SJohn Marino 1722e4b17023SJohn Marinofsched-stalled-insns= 1723e4b17023SJohn MarinoCommon RejectNegative Joined UInteger 1724e4b17023SJohn Marino-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled 1725e4b17023SJohn Marino 1726e4b17023SJohn Marino; sched_stalled_insns_dep controls how many recently scheduled cycles will 1727e4b17023SJohn Marino; be examined for a dependency on a stalled insn that is candidate for 1728e4b17023SJohn Marino; premature removal from the queue of stalled insns into the ready list (has 1729e4b17023SJohn Marino; an effect only if the flag 'sched_stalled_insns' is set). 1730e4b17023SJohn Marinofsched-stalled-insns-dep 1731e4b17023SJohn MarinoCommon Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger 1732e4b17023SJohn MarinoSet dependence distance checking in premature scheduling of queued insns 1733e4b17023SJohn Marino 1734e4b17023SJohn Marinofsched-stalled-insns-dep= 1735e4b17023SJohn MarinoCommon RejectNegative Joined UInteger 1736e4b17023SJohn Marino-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns 1737e4b17023SJohn Marino 1738e4b17023SJohn Marinofsched-group-heuristic 1739e4b17023SJohn MarinoCommon Report Var(flag_sched_group_heuristic) Init(1) Optimization 1740e4b17023SJohn MarinoEnable the group heuristic in the scheduler 1741e4b17023SJohn Marino 1742e4b17023SJohn Marinofsched-critical-path-heuristic 1743e4b17023SJohn MarinoCommon Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization 1744e4b17023SJohn MarinoEnable the critical path heuristic in the scheduler 1745e4b17023SJohn Marino 1746e4b17023SJohn Marinofsched-spec-insn-heuristic 1747e4b17023SJohn MarinoCommon Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization 1748e4b17023SJohn MarinoEnable the speculative instruction heuristic in the scheduler 1749e4b17023SJohn Marino 1750e4b17023SJohn Marinofsched-rank-heuristic 1751e4b17023SJohn MarinoCommon Report Var(flag_sched_rank_heuristic) Init(1) Optimization 1752e4b17023SJohn MarinoEnable the rank heuristic in the scheduler 1753e4b17023SJohn Marino 1754e4b17023SJohn Marinofsched-last-insn-heuristic 1755e4b17023SJohn MarinoCommon Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization 1756e4b17023SJohn MarinoEnable the last instruction heuristic in the scheduler 1757e4b17023SJohn Marino 1758e4b17023SJohn Marinofsched-dep-count-heuristic 1759e4b17023SJohn MarinoCommon Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization 1760e4b17023SJohn MarinoEnable the dependent count heuristic in the scheduler 1761e4b17023SJohn Marino 1762e4b17023SJohn Marinofsection-anchors 1763e4b17023SJohn MarinoCommon Report Var(flag_section_anchors) Optimization 1764e4b17023SJohn MarinoAccess data in the same section from shared anchor points 1765e4b17023SJohn Marino 1766e4b17023SJohn Marinofsee 1767e4b17023SJohn MarinoCommon Ignore 1768e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1769e4b17023SJohn Marino 1770e4b17023SJohn Marinofzee 1771e4b17023SJohn MarinoCommon Ignore 1772e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1773e4b17023SJohn Marino 1774e4b17023SJohn Marinofree 1775e4b17023SJohn MarinoCommon Report Var(flag_ree) Init(0) 1776e4b17023SJohn MarinoTurn on Redundant Extensions Elimination pass. 1777e4b17023SJohn Marino 1778e4b17023SJohn Marinofshow-column 1779e4b17023SJohn MarinoCommon Report Var(flag_show_column) Init(1) 1780e4b17023SJohn MarinoShow column numbers in diagnostics, when available. Default on 1781e4b17023SJohn Marino 1782e4b17023SJohn Marinofshrink-wrap 1783e4b17023SJohn MarinoCommon Report Var(flag_shrink_wrap) Optimization 1784e4b17023SJohn MarinoEmit function prologues only before parts of the function that need it, 1785e4b17023SJohn Marinorather than at the top of the function. 1786e4b17023SJohn Marino 1787e4b17023SJohn Marinofsignaling-nans 1788e4b17023SJohn MarinoCommon Report Var(flag_signaling_nans) Optimization SetByCombined 1789e4b17023SJohn MarinoDisable optimizations observable by IEEE signaling NaNs 1790e4b17023SJohn Marino 1791e4b17023SJohn Marinofsigned-zeros 1792e4b17023SJohn MarinoCommon Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined 1793e4b17023SJohn MarinoDisable floating point optimizations that ignore the IEEE signedness of zero 1794e4b17023SJohn Marino 1795e4b17023SJohn Marinofsingle-precision-constant 1796e4b17023SJohn MarinoCommon Report Var(flag_single_precision_constant) Optimization 1797e4b17023SJohn MarinoConvert floating point constants to single precision constants 1798e4b17023SJohn Marino 1799e4b17023SJohn Marinofsplit-ivs-in-unroller 1800e4b17023SJohn MarinoCommon Report Var(flag_split_ivs_in_unroller) Init(1) Optimization 1801e4b17023SJohn MarinoSplit lifetimes of induction variables when loops are unrolled 1802e4b17023SJohn Marino 1803e4b17023SJohn Marinofsplit-stack 1804e4b17023SJohn MarinoCommon Report Var(flag_split_stack) Init(-1) 1805e4b17023SJohn MarinoGenerate discontiguous stack frames 1806e4b17023SJohn Marino 1807e4b17023SJohn Marinofsplit-wide-types 1808e4b17023SJohn MarinoCommon Report Var(flag_split_wide_types) Optimization 1809e4b17023SJohn MarinoSplit wide types into independent registers 1810e4b17023SJohn Marino 1811e4b17023SJohn Marinofvariable-expansion-in-unroller 1812e4b17023SJohn MarinoCommon Report Var(flag_variable_expansion_in_unroller) Optimization 1813e4b17023SJohn MarinoApply variable expansion when loops are unrolled 1814e4b17023SJohn Marino 1815e4b17023SJohn Marinofstack-check= 1816e4b17023SJohn MarinoCommon Report RejectNegative Joined 1817e4b17023SJohn Marino-fstack-check=[no|generic|specific] Insert stack checking code into the program 1818e4b17023SJohn Marino 1819e4b17023SJohn Marinofstack-check 1820e4b17023SJohn MarinoCommon Alias(fstack-check=, specific, no) 1821e4b17023SJohn MarinoInsert stack checking code into the program. Same as -fstack-check=specific 1822e4b17023SJohn Marino 1823e4b17023SJohn Marinofstack-limit 1824e4b17023SJohn MarinoCommon Var(common_deferred_options) Defer 1825e4b17023SJohn Marino 1826e4b17023SJohn Marinofstack-limit-register= 1827e4b17023SJohn MarinoCommon RejectNegative Joined Var(common_deferred_options) Defer 1828e4b17023SJohn Marino-fstack-limit-register=<register> Trap if the stack goes past <register> 1829e4b17023SJohn Marino 1830e4b17023SJohn Marinofstack-limit-symbol= 1831e4b17023SJohn MarinoCommon RejectNegative Joined Var(common_deferred_options) Defer 1832e4b17023SJohn Marino-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name> 1833e4b17023SJohn Marino 1834e4b17023SJohn Marinofstack-protector 1835e4b17023SJohn MarinoCommon Report Var(flag_stack_protect, 1) 1836e4b17023SJohn MarinoUse propolice as a stack protection method 1837e4b17023SJohn Marino 1838e4b17023SJohn Marinofstack-protector-all 1839e4b17023SJohn MarinoCommon Report RejectNegative Var(flag_stack_protect, 2) 1840e4b17023SJohn MarinoUse a stack protection method for every function 1841e4b17023SJohn Marino 1842e4b17023SJohn Marinofstack-usage 1843e4b17023SJohn MarinoCommon RejectNegative Var(flag_stack_usage) 1844e4b17023SJohn MarinoOutput stack usage information on a per-function basis 1845e4b17023SJohn Marino 1846e4b17023SJohn Marinofstrength-reduce 1847e4b17023SJohn MarinoCommon Ignore 1848e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1849e4b17023SJohn Marino 1850e4b17023SJohn Marino; Nonzero if we should do (language-dependent) alias analysis. 1851e4b17023SJohn Marino; Typically, this analysis will assume that expressions of certain 1852e4b17023SJohn Marino; types do not alias expressions of certain other types. Only used 1853e4b17023SJohn Marino; if alias analysis (in general) is enabled. 1854e4b17023SJohn Marinofstrict-aliasing 1855e4b17023SJohn MarinoCommon Report Var(flag_strict_aliasing) Optimization 1856e4b17023SJohn MarinoAssume strict aliasing rules apply 1857e4b17023SJohn Marino 1858e4b17023SJohn Marinofstrict-overflow 1859e4b17023SJohn MarinoCommon Report Var(flag_strict_overflow) 1860e4b17023SJohn MarinoTreat signed overflow as undefined 1861e4b17023SJohn Marino 1862e4b17023SJohn Marinofsyntax-only 1863e4b17023SJohn MarinoCommon Report Var(flag_syntax_only) 1864e4b17023SJohn MarinoCheck for syntax errors, then stop 1865e4b17023SJohn Marino 1866e4b17023SJohn Marinoftest-coverage 1867e4b17023SJohn MarinoCommon Report Var(flag_test_coverage) 1868e4b17023SJohn MarinoCreate data files needed by \"gcov\" 1869e4b17023SJohn Marino 1870e4b17023SJohn Marinofthread-jumps 1871e4b17023SJohn MarinoCommon Report Var(flag_thread_jumps) Optimization 1872e4b17023SJohn MarinoPerform jump threading optimizations 1873e4b17023SJohn Marino 1874e4b17023SJohn Marinoftime-report 1875e4b17023SJohn MarinoCommon Report Var(time_report) 1876e4b17023SJohn MarinoReport the time taken by each compiler pass 1877e4b17023SJohn Marino 1878e4b17023SJohn Marinoftls-model= 1879e4b17023SJohn MarinoCommon Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC) 1880e4b17023SJohn Marino-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model 1881e4b17023SJohn Marino 1882e4b17023SJohn MarinoEnum 1883e4b17023SJohn MarinoName(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs) 1884e4b17023SJohn Marino 1885e4b17023SJohn MarinoEnumValue 1886e4b17023SJohn MarinoEnum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC) 1887e4b17023SJohn Marino 1888e4b17023SJohn MarinoEnumValue 1889e4b17023SJohn MarinoEnum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC) 1890e4b17023SJohn Marino 1891e4b17023SJohn MarinoEnumValue 1892e4b17023SJohn MarinoEnum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC) 1893e4b17023SJohn Marino 1894e4b17023SJohn MarinoEnumValue 1895e4b17023SJohn MarinoEnum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC) 1896e4b17023SJohn Marino 1897e4b17023SJohn Marinoftoplevel-reorder 1898e4b17023SJohn MarinoCommon Report Var(flag_toplevel_reorder) Init(2) Optimization 1899e4b17023SJohn MarinoReorder top level functions, variables, and asms 1900e4b17023SJohn Marino 1901e4b17023SJohn Marinoftracer 1902e4b17023SJohn MarinoCommon Report Var(flag_tracer) 1903e4b17023SJohn MarinoPerform superblock formation via tail duplication 1904e4b17023SJohn Marino 1905e4b17023SJohn Marino; Zero means that floating-point math operations cannot generate a 1906e4b17023SJohn Marino; (user-visible) trap. This is the case, for example, in nonstop 1907e4b17023SJohn Marino; IEEE 754 arithmetic. 1908e4b17023SJohn Marinoftrapping-math 1909e4b17023SJohn MarinoCommon Report Var(flag_trapping_math) Init(1) Optimization SetByCombined 1910e4b17023SJohn MarinoAssume floating-point operations can trap 1911e4b17023SJohn Marino 1912e4b17023SJohn Marinoftrapv 1913e4b17023SJohn MarinoCommon Report Var(flag_trapv) Optimization 1914e4b17023SJohn MarinoTrap for signed overflow in addition, subtraction and multiplication 1915e4b17023SJohn Marino 1916e4b17023SJohn Marinoftree-ccp 1917e4b17023SJohn MarinoCommon Report Var(flag_tree_ccp) Optimization 1918e4b17023SJohn MarinoEnable SSA-CCP optimization on trees 1919e4b17023SJohn Marino 1920e4b17023SJohn Marinoftree-bit-ccp 1921e4b17023SJohn MarinoCommon Report Var(flag_tree_bit_ccp) Optimization 1922e4b17023SJohn MarinoEnable SSA-BIT-CCP optimization on trees 1923e4b17023SJohn Marino 1924e4b17023SJohn Marinoftree-store-ccp 1925e4b17023SJohn MarinoCommon Ignore 1926e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1927e4b17023SJohn Marino 1928e4b17023SJohn Marinoftree-ch 1929e4b17023SJohn MarinoCommon Report Var(flag_tree_ch) Optimization 1930e4b17023SJohn MarinoEnable loop header copying on trees 1931e4b17023SJohn Marino 1932e4b17023SJohn Marinoftree-copyrename 1933e4b17023SJohn MarinoCommon Report Var(flag_tree_copyrename) Optimization 1934e4b17023SJohn MarinoReplace SSA temporaries with better names in copies 1935e4b17023SJohn Marino 1936e4b17023SJohn Marinoftree-copy-prop 1937e4b17023SJohn MarinoCommon Report Var(flag_tree_copy_prop) Optimization 1938e4b17023SJohn MarinoEnable copy propagation on trees 1939e4b17023SJohn Marino 1940e4b17023SJohn Marinoftree-store-copy-prop 1941e4b17023SJohn MarinoCommon Ignore 1942e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 1943e4b17023SJohn Marino 1944e4b17023SJohn Marinoftree-cselim 1945e4b17023SJohn MarinoCommon Report Var(flag_tree_cselim) Init(2) Optimization 1946e4b17023SJohn MarinoTransform condition stores into unconditional ones 1947e4b17023SJohn Marino 1948e4b17023SJohn Marinoftree-switch-conversion 1949e4b17023SJohn MarinoCommon Report Var(flag_tree_switch_conversion) Optimization 1950e4b17023SJohn MarinoPerform conversions of switch initializations. 1951e4b17023SJohn Marino 1952e4b17023SJohn Marinoftree-dce 1953e4b17023SJohn MarinoCommon Report Var(flag_tree_dce) Optimization 1954e4b17023SJohn MarinoEnable SSA dead code elimination optimization on trees 1955e4b17023SJohn Marino 1956e4b17023SJohn Marinoftree-dominator-opts 1957e4b17023SJohn MarinoCommon Report Var(flag_tree_dom) Optimization 1958e4b17023SJohn MarinoEnable dominator optimizations 1959e4b17023SJohn Marino 1960e4b17023SJohn Marinoftree-tail-merge 1961e4b17023SJohn MarinoCommon Report Var(flag_tree_tail_merge) Optimization 1962e4b17023SJohn MarinoEnable tail merging on trees 1963e4b17023SJohn Marino 1964e4b17023SJohn Marinoftree-dse 1965e4b17023SJohn MarinoCommon Report Var(flag_tree_dse) Optimization 1966e4b17023SJohn MarinoEnable dead store elimination 1967e4b17023SJohn Marino 1968e4b17023SJohn Marinoftree-forwprop 1969e4b17023SJohn MarinoCommon Report Var(flag_tree_forwprop) Init(1) Optimization 1970e4b17023SJohn MarinoEnable forward propagation on trees 1971e4b17023SJohn Marino 1972e4b17023SJohn Marinoftree-fre 1973e4b17023SJohn MarinoCommon Report Var(flag_tree_fre) Optimization 1974e4b17023SJohn MarinoEnable Full Redundancy Elimination (FRE) on trees 1975e4b17023SJohn Marino 1976e4b17023SJohn Marinofoptimize-strlen 1977e4b17023SJohn MarinoCommon Report Var(flag_optimize_strlen) Optimization 1978e4b17023SJohn MarinoEnable string length optimizations on trees 1979e4b17023SJohn Marino 1980e4b17023SJohn Marinoftree-loop-distribution 1981e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_distribution) Optimization 1982e4b17023SJohn MarinoEnable loop distribution on trees 1983e4b17023SJohn Marino 1984e4b17023SJohn Marinoftree-loop-distribute-patterns 1985e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_distribute_patterns) Optimization 1986e4b17023SJohn MarinoEnable loop distribution for patterns transformed into a library call 1987e4b17023SJohn Marino 1988e4b17023SJohn Marinoftree-loop-im 1989e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_im) Init(1) Optimization 1990e4b17023SJohn MarinoEnable loop invariant motion on trees 1991e4b17023SJohn Marino 1992e4b17023SJohn Marinoftree-loop-linear 1993e4b17023SJohn MarinoCommon Alias(floop-interchange) 1994e4b17023SJohn MarinoEnable loop interchange transforms. Same as -floop-interchange 1995e4b17023SJohn Marino 1996e4b17023SJohn Marinoftree-loop-ivcanon 1997e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_ivcanon) Init(1) Optimization 1998e4b17023SJohn MarinoCreate canonical induction variables in loops 1999e4b17023SJohn Marino 2000e4b17023SJohn Marinoftree-loop-optimize 2001e4b17023SJohn MarinoCommon Report Var(flag_tree_loop_optimize) Init(1) Optimization 2002e4b17023SJohn MarinoEnable loop optimizations on tree level 2003e4b17023SJohn Marino 2004e4b17023SJohn Marinoftree-parallelize-loops= 2005e4b17023SJohn MarinoCommon Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1) 2006e4b17023SJohn MarinoEnable automatic parallelization of loops 2007e4b17023SJohn Marino 2008e4b17023SJohn Marinoftree-phiprop 2009e4b17023SJohn MarinoCommon Report Var(flag_tree_phiprop) Init(1) Optimization 2010e4b17023SJohn MarinoEnable hoisting loads from conditional pointers. 2011e4b17023SJohn Marino 2012e4b17023SJohn Marinoftree-pre 2013e4b17023SJohn MarinoCommon Report Var(flag_tree_pre) Optimization 2014e4b17023SJohn MarinoEnable SSA-PRE optimization on trees 2015e4b17023SJohn Marino 2016e4b17023SJohn Marinoftree-pta 2017e4b17023SJohn MarinoCommon Report Var(flag_tree_pta) Init(1) Optimization 2018e4b17023SJohn MarinoPerform function-local points-to analysis on trees. 2019e4b17023SJohn Marino 2020e4b17023SJohn Marinoftree-reassoc 2021e4b17023SJohn MarinoCommon Report Var(flag_tree_reassoc) Init(1) Optimization 2022e4b17023SJohn MarinoEnable reassociation on tree level 2023e4b17023SJohn Marino 2024e4b17023SJohn Marinoftree-salias 2025e4b17023SJohn MarinoCommon Ignore 2026e4b17023SJohn MarinoDoes nothing. Preserved for backward compatibility. 2027e4b17023SJohn Marino 2028e4b17023SJohn Marinoftree-sink 2029e4b17023SJohn MarinoCommon Report Var(flag_tree_sink) Optimization 2030e4b17023SJohn MarinoEnable SSA code sinking on trees 2031e4b17023SJohn Marino 2032e4b17023SJohn Marinoftree-sra 2033e4b17023SJohn MarinoCommon Report Var(flag_tree_sra) Optimization 2034e4b17023SJohn MarinoPerform scalar replacement of aggregates 2035e4b17023SJohn Marino 2036e4b17023SJohn Marinoftree-ter 2037e4b17023SJohn MarinoCommon Report Var(flag_tree_ter) Optimization 2038e4b17023SJohn MarinoReplace temporary expressions in the SSA->normal pass 2039e4b17023SJohn Marino 2040e4b17023SJohn Marinoftree-lrs 2041e4b17023SJohn MarinoCommon Report Var(flag_tree_live_range_split) Optimization 2042e4b17023SJohn MarinoPerform live range splitting during the SSA->normal pass 2043e4b17023SJohn Marino 2044e4b17023SJohn Marinoftree-vrp 2045e4b17023SJohn MarinoCommon Report Var(flag_tree_vrp) Init(0) Optimization 2046e4b17023SJohn MarinoPerform Value Range Propagation on trees 2047e4b17023SJohn Marino 2048e4b17023SJohn Marinofunit-at-a-time 2049e4b17023SJohn MarinoCommon Report Var(flag_unit_at_a_time) Init(1) Optimization 2050e4b17023SJohn MarinoCompile whole compilation unit at a time 2051e4b17023SJohn Marino 2052e4b17023SJohn Marinofunroll-loops 2053e4b17023SJohn MarinoCommon Report Var(flag_unroll_loops) Optimization 2054e4b17023SJohn MarinoPerform loop unrolling when iteration count is known 2055e4b17023SJohn Marino 2056e4b17023SJohn Marinofunroll-all-loops 2057e4b17023SJohn MarinoCommon Report Var(flag_unroll_all_loops) Optimization 2058e4b17023SJohn MarinoPerform loop unrolling for all loops 2059e4b17023SJohn Marino 2060e4b17023SJohn Marino; Nonzero means that loop optimizer may assume that the induction variables 2061e4b17023SJohn Marino; that control loops do not overflow and that the loops with nontrivial 2062e4b17023SJohn Marino; exit condition are not infinite 2063e4b17023SJohn Marinofunsafe-loop-optimizations 2064e4b17023SJohn MarinoCommon Report Var(flag_unsafe_loop_optimizations) Optimization 2065e4b17023SJohn MarinoAllow loop optimizations to assume that the loops behave in normal way 2066e4b17023SJohn Marino 2067e4b17023SJohn Marinofassociative-math 2068e4b17023SJohn MarinoCommon Report Var(flag_associative_math) SetByCombined 2069e4b17023SJohn MarinoAllow optimization for floating-point arithmetic which may change the 2070e4b17023SJohn Marinoresult of the operation due to rounding. 2071e4b17023SJohn Marino 2072e4b17023SJohn Marinofreciprocal-math 2073e4b17023SJohn MarinoCommon Report Var(flag_reciprocal_math) SetByCombined 2074e4b17023SJohn MarinoSame as -fassociative-math for expressions which include division. 2075e4b17023SJohn Marino 2076e4b17023SJohn Marino; Nonzero means that unsafe floating-point math optimizations are allowed 2077e4b17023SJohn Marino; for the sake of speed. IEEE compliance is not guaranteed, and operations 2078e4b17023SJohn Marino; are allowed to assume that their arguments and results are "normal" 2079e4b17023SJohn Marino; (e.g., nonnegative for SQRT). 2080e4b17023SJohn Marinofunsafe-math-optimizations 2081e4b17023SJohn MarinoCommon Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined 2082e4b17023SJohn MarinoAllow math optimizations that may violate IEEE or ISO standards 2083e4b17023SJohn Marino 2084e4b17023SJohn Marinofunswitch-loops 2085e4b17023SJohn MarinoCommon Report Var(flag_unswitch_loops) Optimization 2086e4b17023SJohn MarinoPerform loop unswitching 2087e4b17023SJohn Marino 2088e4b17023SJohn Marinofunwind-tables 2089e4b17023SJohn MarinoCommon Report Var(flag_unwind_tables) Optimization 2090e4b17023SJohn MarinoJust generate unwind tables for exception handling 2091e4b17023SJohn Marino 2092e4b17023SJohn Marinofuse-linker-plugin 2093e4b17023SJohn MarinoCommon Undocumented 2094e4b17023SJohn Marino 2095e4b17023SJohn Marino; Positive if we should track variables, negative if we should run 2096e4b17023SJohn Marino; the var-tracking pass only to discard debug annotations, zero if 2097e4b17023SJohn Marino; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it 2098e4b17023SJohn Marino; will be set according to optimize, debug_info_level and debug_hooks 2099e4b17023SJohn Marino; in process_options (). 2100e4b17023SJohn Marinofvar-tracking 2101e4b17023SJohn MarinoCommon Report Var(flag_var_tracking) Init(2) Optimization 2102e4b17023SJohn MarinoPerform variable tracking 2103e4b17023SJohn Marino 2104e4b17023SJohn Marino; Positive if we should track variables at assignments, negative if 2105e4b17023SJohn Marino; we should run the var-tracking pass only to discard debug 2106e4b17023SJohn Marino; annotations. When flag_var_tracking_assignments == 2107e4b17023SJohn Marino; AUTODETECT_VALUE it will be set according to flag_var_tracking. 2108e4b17023SJohn Marinofvar-tracking-assignments 2109e4b17023SJohn MarinoCommon Report Var(flag_var_tracking_assignments) Init(2) Optimization 2110e4b17023SJohn MarinoPerform variable tracking by annotating assignments 2111e4b17023SJohn Marino 2112e4b17023SJohn Marino; Nonzero if we should toggle flag_var_tracking_assignments after 2113e4b17023SJohn Marino; processing options and computing its default. */ 2114e4b17023SJohn Marinofvar-tracking-assignments-toggle 2115e4b17023SJohn MarinoCommon Report Var(flag_var_tracking_assignments_toggle) Optimization 2116e4b17023SJohn MarinoToggle -fvar-tracking-assignments 2117e4b17023SJohn Marino 2118*5ce9237cSJohn Marino; Positive if we should track uninitialized variables, negative if 2119*5ce9237cSJohn Marino; we should run the var-tracking pass only to discard debug 2120*5ce9237cSJohn Marino; annotations. When flag_var_tracking_uninit == AUTODETECT_VALUE it 2121*5ce9237cSJohn Marino; will be set according to flag_var_tracking. 2122e4b17023SJohn Marinofvar-tracking-uninit 2123e4b17023SJohn MarinoCommon Report Var(flag_var_tracking_uninit) Optimization 2124e4b17023SJohn MarinoPerform variable tracking and also tag variables that are uninitialized 2125e4b17023SJohn Marino 2126e4b17023SJohn Marinoftree-vectorize 2127e4b17023SJohn MarinoCommon Report Var(flag_tree_vectorize) Optimization 2128e4b17023SJohn MarinoEnable loop vectorization on trees 2129e4b17023SJohn Marino 2130e4b17023SJohn Marinoftree-slp-vectorize 2131e4b17023SJohn MarinoCommon Report Var(flag_tree_slp_vectorize) Init(2) Optimization 2132e4b17023SJohn MarinoEnable basic block vectorization (SLP) on trees 2133e4b17023SJohn Marino 2134e4b17023SJohn Marinofvect-cost-model 2135e4b17023SJohn MarinoCommon Report Var(flag_vect_cost_model) Optimization 2136e4b17023SJohn MarinoEnable use of cost model in vectorization 2137e4b17023SJohn Marino 2138e4b17023SJohn Marinoftree-vect-loop-version 2139e4b17023SJohn MarinoCommon Report Var(flag_tree_vect_loop_version) Init(1) Optimization 2140e4b17023SJohn MarinoEnable loop versioning when doing loop vectorization on trees 2141e4b17023SJohn Marino 2142e4b17023SJohn Marinoftree-vectorizer-verbose= 2143e4b17023SJohn MarinoCommon RejectNegative Joined UInteger 2144e4b17023SJohn Marino-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer 2145e4b17023SJohn Marino 2146e4b17023SJohn Marinoftree-scev-cprop 2147e4b17023SJohn MarinoCommon Report Var(flag_tree_scev_cprop) Init(1) Optimization 2148e4b17023SJohn MarinoEnable copy propagation of scalar-evolution information. 2149e4b17023SJohn Marino 2150e4b17023SJohn Marino; -fverbose-asm causes extra commentary information to be produced in 2151e4b17023SJohn Marino; the generated assembly code (to make it more readable). This option 2152e4b17023SJohn Marino; is generally only of use to those who actually need to read the 2153e4b17023SJohn Marino; generated assembly code (perhaps while debugging the compiler itself). 2154e4b17023SJohn Marino; -fno-verbose-asm, the default, causes the extra information 2155e4b17023SJohn Marino; to not be added and is useful when comparing two assembler files. 2156e4b17023SJohn Marinofverbose-asm 2157e4b17023SJohn MarinoCommon Report Var(flag_verbose_asm) 2158e4b17023SJohn MarinoAdd extra commentary to assembler output 2159e4b17023SJohn Marino 2160e4b17023SJohn Marinofvisibility= 2161e4b17023SJohn MarinoCommon Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT) 2162e4b17023SJohn Marino-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility 2163e4b17023SJohn Marino 2164e4b17023SJohn MarinoEnum 2165e4b17023SJohn MarinoName(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs) 2166e4b17023SJohn Marino 2167e4b17023SJohn MarinoEnumValue 2168e4b17023SJohn MarinoEnum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT) 2169e4b17023SJohn Marino 2170e4b17023SJohn MarinoEnumValue 2171e4b17023SJohn MarinoEnum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL) 2172e4b17023SJohn Marino 2173e4b17023SJohn MarinoEnumValue 2174e4b17023SJohn MarinoEnum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN) 2175e4b17023SJohn Marino 2176e4b17023SJohn MarinoEnumValue 2177e4b17023SJohn MarinoEnum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED) 2178e4b17023SJohn Marino 2179e4b17023SJohn Marinofvpt 2180e4b17023SJohn MarinoCommon Report Var(flag_value_profile_transformations) Optimization 2181e4b17023SJohn MarinoUse expression value profiles in optimizations 2182e4b17023SJohn Marino 2183e4b17023SJohn Marinofweb 2184e4b17023SJohn MarinoCommon Report Var(flag_web) Init(2) Optimization 2185e4b17023SJohn MarinoConstruct webs and split unrelated uses of single variable 2186e4b17023SJohn Marino 2187e4b17023SJohn Marinoftree-builtin-call-dce 2188e4b17023SJohn MarinoCommon Report Var(flag_tree_builtin_call_dce) Init(0) Optimization 2189e4b17023SJohn MarinoEnable conditional dead code elimination for builtin calls 2190e4b17023SJohn Marino 2191e4b17023SJohn Marinofwhole-program 2192e4b17023SJohn MarinoCommon Report Var(flag_whole_program) Init(0) Optimization 2193e4b17023SJohn MarinoPerform whole program optimizations 2194e4b17023SJohn Marino 2195e4b17023SJohn Marinofwrapv 2196e4b17023SJohn MarinoCommon Report Var(flag_wrapv) Optimization 2197e4b17023SJohn MarinoAssume signed arithmetic overflow wraps around 2198e4b17023SJohn Marino 2199e4b17023SJohn Marinofzero-initialized-in-bss 2200e4b17023SJohn MarinoCommon Report Var(flag_zero_initialized_in_bss) Init(1) 2201e4b17023SJohn MarinoPut zero initialized data in the bss section 2202e4b17023SJohn Marino 2203e4b17023SJohn Marinog 2204e4b17023SJohn MarinoCommon JoinedOrMissing 2205e4b17023SJohn MarinoGenerate debug information in default format 2206e4b17023SJohn Marino 2207e4b17023SJohn Marinogcoff 2208e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gdwarf-) 2209e4b17023SJohn MarinoGenerate debug information in COFF format 2210e4b17023SJohn Marino 2211e4b17023SJohn Marinogdwarf- 2212e4b17023SJohn MarinoCommon Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs) 2213e4b17023SJohn MarinoGenerate debug information in DWARF v2 (or later) format 2214e4b17023SJohn Marino 2215e4b17023SJohn Marinoggdb 2216e4b17023SJohn MarinoCommon JoinedOrMissing 2217e4b17023SJohn MarinoGenerate debug information in default extended format 2218e4b17023SJohn Marino 2219e4b17023SJohn Marinogno-record-gcc-switches 2220e4b17023SJohn MarinoCommon RejectNegative Var(dwarf_record_gcc_switches,0) Init(0) 2221e4b17023SJohn MarinoDon't record gcc command line switches in DWARF DW_AT_producer. 2222e4b17023SJohn Marino 2223e4b17023SJohn Marinogrecord-gcc-switches 2224e4b17023SJohn MarinoCommon RejectNegative Var(dwarf_record_gcc_switches,1) 2225e4b17023SJohn MarinoRecord gcc command line switches in DWARF DW_AT_producer. 2226e4b17023SJohn Marino 2227e4b17023SJohn Marinogstabs 2228e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gstabs+) 2229e4b17023SJohn MarinoGenerate debug information in STABS format 2230e4b17023SJohn Marino 2231e4b17023SJohn Marinogstabs+ 2232e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gvms) 2233e4b17023SJohn MarinoGenerate debug information in extended STABS format 2234e4b17023SJohn Marino 2235e4b17023SJohn Marinogno-strict-dwarf 2236e4b17023SJohn MarinoCommon RejectNegative Var(dwarf_strict,0) Init(-1) 2237e4b17023SJohn MarinoEmit DWARF additions beyond selected version 2238e4b17023SJohn Marino 2239e4b17023SJohn Marinogstrict-dwarf 2240e4b17023SJohn MarinoCommon Report RejectNegative Var(dwarf_strict,1) 2241e4b17023SJohn MarinoDon't emit DWARF additions beyond selected version 2242e4b17023SJohn Marino 2243e4b17023SJohn Marinogtoggle 2244e4b17023SJohn MarinoCommon Report Var(flag_gtoggle) 2245e4b17023SJohn MarinoToggle debug information generation 2246e4b17023SJohn Marino 2247e4b17023SJohn Marinogvms 2248e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gxcoff) 2249e4b17023SJohn MarinoGenerate debug information in VMS format 2250e4b17023SJohn Marino 2251e4b17023SJohn Marinogxcoff 2252e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gxcoff+) 2253e4b17023SJohn MarinoGenerate debug information in XCOFF format 2254e4b17023SJohn Marino 2255e4b17023SJohn Marinogxcoff+ 2256e4b17023SJohn MarinoCommon JoinedOrMissing Negative(gcoff) 2257e4b17023SJohn MarinoGenerate debug information in extended XCOFF format 2258e4b17023SJohn Marino 2259e4b17023SJohn Marinoh 2260e4b17023SJohn MarinoDriver Joined Separate 2261e4b17023SJohn Marino 2262e4b17023SJohn Marinoiplugindir= 2263e4b17023SJohn MarinoCommon Joined Var(plugindir_string) Init(0) 2264e4b17023SJohn Marino-iplugindir=<dir> Set <dir> to be the default plugin directory 2265e4b17023SJohn Marino 2266*5ce9237cSJohn Marinoimultiarch 2267*5ce9237cSJohn MarinoCommon Joined Separate RejectDriver Var(imultiarch) Init(0) 2268*5ce9237cSJohn Marino-imultiarch <dir> Set <dir> to be the multiarch include subdirectory 2269*5ce9237cSJohn Marino 2270e4b17023SJohn Marinol 2271e4b17023SJohn MarinoDriver Joined Separate 2272e4b17023SJohn Marino 2273e4b17023SJohn Marinon 2274e4b17023SJohn MarinoDriver 2275e4b17023SJohn Marino 2276e4b17023SJohn Marinono-canonical-prefixes 2277e4b17023SJohn MarinoDriver 2278e4b17023SJohn Marino 2279e4b17023SJohn Marinonodefaultlibs 2280e4b17023SJohn MarinoDriver 2281e4b17023SJohn Marino 2282e4b17023SJohn Marinonostartfiles 2283e4b17023SJohn MarinoDriver 2284e4b17023SJohn Marino 2285e4b17023SJohn Marinonostdlib 2286e4b17023SJohn MarinoDriver 2287e4b17023SJohn Marino 2288e4b17023SJohn Marinoo 2289e4b17023SJohn MarinoCommon Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs) 2290e4b17023SJohn Marino-o <file> Place output into <file> 2291e4b17023SJohn Marino 2292e4b17023SJohn Marinop 2293e4b17023SJohn MarinoCommon Var(profile_flag) 2294e4b17023SJohn MarinoEnable function profiling 2295e4b17023SJohn Marino 2296e4b17023SJohn Marinopass-exit-codes 2297e4b17023SJohn MarinoDriver Var(pass_exit_codes) 2298e4b17023SJohn Marino 2299e4b17023SJohn Marinopedantic 2300e4b17023SJohn MarinoCommon Var(pedantic) 2301e4b17023SJohn MarinoIssue warnings needed for strict compliance to the standard 2302e4b17023SJohn Marino 2303e4b17023SJohn Marinopedantic-errors 2304e4b17023SJohn MarinoCommon Var(flag_pedantic_errors) 2305e4b17023SJohn MarinoLike -pedantic but issue them as errors 2306e4b17023SJohn Marino 2307e4b17023SJohn Marinopg 2308e4b17023SJohn MarinoDriver 2309e4b17023SJohn Marino 2310e4b17023SJohn Marinopipe 2311e4b17023SJohn MarinoDriver Var(use_pipes) 2312e4b17023SJohn Marino 2313e4b17023SJohn Marinoprint-file-name= 2314e4b17023SJohn MarinoDriver JoinedOrMissing Var(print_file_name) 2315e4b17023SJohn Marino 2316e4b17023SJohn Marinoprint-libgcc-file-name 2317e4b17023SJohn MarinoDriver 2318e4b17023SJohn Marino 2319e4b17023SJohn Marinoprint-multi-directory 2320e4b17023SJohn MarinoDriver Var(print_multi_directory) 2321e4b17023SJohn Marino 2322e4b17023SJohn Marinoprint-multi-lib 2323e4b17023SJohn MarinoDriver Var(print_multi_lib) 2324e4b17023SJohn Marino 2325e4b17023SJohn Marinoprint-multi-os-directory 2326e4b17023SJohn MarinoDriver Var(print_multi_os_directory) 2327e4b17023SJohn Marino 2328*5ce9237cSJohn Marinoprint-multiarch 2329*5ce9237cSJohn MarinoDriver Var(print_multiarch) 2330*5ce9237cSJohn Marino 2331e4b17023SJohn Marinoprint-prog-name= 2332e4b17023SJohn MarinoDriver JoinedOrMissing Var(print_prog_name) 2333e4b17023SJohn Marino 2334e4b17023SJohn Marinoprint-search-dirs 2335e4b17023SJohn MarinoDriver Var(print_search_dirs) 2336e4b17023SJohn Marino 2337e4b17023SJohn Marinoprint-sysroot 2338e4b17023SJohn MarinoDriver Var(print_sysroot) 2339e4b17023SJohn Marino 2340e4b17023SJohn Marinoprint-sysroot-headers-suffix 2341e4b17023SJohn MarinoDriver Var(print_sysroot_headers_suffix) 2342e4b17023SJohn Marino 2343e4b17023SJohn Marinoquiet 2344e4b17023SJohn MarinoCommon Var(quiet_flag) RejectDriver 2345e4b17023SJohn MarinoDo not display functions compiled or elapsed time 2346e4b17023SJohn Marino 2347e4b17023SJohn Marinor 2348e4b17023SJohn MarinoDriver 2349e4b17023SJohn Marino 2350e4b17023SJohn Marinos 2351e4b17023SJohn MarinoDriver 2352e4b17023SJohn Marino 2353e4b17023SJohn Marinosave-temps 2354e4b17023SJohn MarinoDriver 2355e4b17023SJohn Marino 2356e4b17023SJohn Marinosave-temps= 2357e4b17023SJohn MarinoDriver Joined 2358e4b17023SJohn Marino 2359e4b17023SJohn Marinot 2360e4b17023SJohn MarinoDriver 2361e4b17023SJohn Marino 2362e4b17023SJohn Marinotime 2363e4b17023SJohn MarinoDriver Var(report_times) 2364e4b17023SJohn Marino 2365e4b17023SJohn Marinotime= 2366e4b17023SJohn MarinoDriver JoinedOrMissing 2367e4b17023SJohn Marino 2368e4b17023SJohn Marinou 2369e4b17023SJohn MarinoDriver Joined Separate 2370e4b17023SJohn Marino 2371e4b17023SJohn Marinoundef 2372e4b17023SJohn MarinoDriver 2373e4b17023SJohn Marino; C option, but driver must not handle as "-u ndef". 2374e4b17023SJohn Marino 2375e4b17023SJohn Marinov 2376e4b17023SJohn MarinoCommon Driver Var(verbose_flag) 2377e4b17023SJohn MarinoEnable verbose output 2378e4b17023SJohn Marino 2379e4b17023SJohn Marinoversion 2380e4b17023SJohn MarinoCommon Var(version_flag) RejectDriver 2381e4b17023SJohn MarinoDisplay the compiler's version 2382e4b17023SJohn Marino 2383e4b17023SJohn Marinow 2384e4b17023SJohn MarinoCommon Var(inhibit_warnings) 2385e4b17023SJohn MarinoSuppress warnings 2386e4b17023SJohn Marino 2387e4b17023SJohn Marinowrapper 2388e4b17023SJohn MarinoDriver Separate Var(wrapper_string) 2389e4b17023SJohn Marino 2390e4b17023SJohn Marinox 2391e4b17023SJohn MarinoDriver Joined Separate 2392e4b17023SJohn Marino 2393e4b17023SJohn Marinoshared 2394e4b17023SJohn MarinoDriver RejectNegative Negative(pie) 2395e4b17023SJohn MarinoCreate a shared library 2396e4b17023SJohn Marino 2397e4b17023SJohn Marinoshared-libgcc 2398e4b17023SJohn MarinoDriver 2399e4b17023SJohn Marino 2400e4b17023SJohn Marinospecs 2401e4b17023SJohn MarinoDriver Separate Alias(specs=) 2402e4b17023SJohn Marino 2403e4b17023SJohn Marinospecs= 2404e4b17023SJohn MarinoDriver Joined 2405e4b17023SJohn Marino 2406e4b17023SJohn Marinostatic 2407e4b17023SJohn MarinoDriver 2408e4b17023SJohn Marino 2409e4b17023SJohn Marinostatic-libgcc 2410e4b17023SJohn MarinoDriver 2411e4b17023SJohn Marino 2412e4b17023SJohn Marinostatic-libgfortran 2413e4b17023SJohn MarinoDriver 2414e4b17023SJohn Marino; Documented for Fortran, but always accepted by driver. 2415e4b17023SJohn Marino 2416e4b17023SJohn Marinostatic-libstdc++ 2417e4b17023SJohn MarinoDriver 2418e4b17023SJohn Marino 2419e4b17023SJohn Marinostatic-libgo 2420e4b17023SJohn MarinoDriver 2421e4b17023SJohn Marino; Documented for Go, but always accepted by driver. 2422e4b17023SJohn Marino 2423e4b17023SJohn Marinosymbolic 2424e4b17023SJohn MarinoDriver 2425e4b17023SJohn Marino 2426e4b17023SJohn Marinopie 2427e4b17023SJohn MarinoDriver RejectNegative Negative(shared) 2428e4b17023SJohn MarinoCreate a position independent executable 2429e4b17023SJohn Marino 2430e4b17023SJohn Marinoz 2431e4b17023SJohn MarinoDriver Joined Separate 2432e4b17023SJohn Marino 2433e4b17023SJohn Marino; This comment is to ensure we retain the blank line above. 2434