]>
Commit | Line | Data |
---|---|---|
3272db82 | 1 | ; Options for the language- and target-independent parts of the compiler. |
2e9da478 | 2 | |
cfaf579d | 3 | ; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
7765591b | 4 | ; Free Software Foundation, Inc. |
3272db82 | 5 | ; |
6 | ; This file is part of GCC. | |
7 | ; | |
8 | ; GCC is free software; you can redistribute it and/or modify it under | |
9 | ; the terms of the GNU General Public License as published by the Free | |
8c4c00c1 | 10 | ; Software Foundation; either version 3, or (at your option) any later |
3272db82 | 11 | ; version. |
a0c938f0 | 12 | ; |
3272db82 | 13 | ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
14 | ; WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
15 | ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
16 | ; for more details. | |
a0c938f0 | 17 | ; |
3272db82 | 18 | ; You should have received a copy of the GNU General Public License |
8c4c00c1 | 19 | ; along with GCC; see the file COPYING3. If not see |
20 | ; <http://www.gnu.org/licenses/>. | |
3272db82 | 21 | |
a4b0007b | 22 | ; See the GCC internals manual (options.texi) for a description of this file's format. |
3272db82 | 23 | |
24 | ; Please try to keep this file in ASCII collating order. | |
25 | ||
e690b385 | 26 | -help |
27 | Common | |
53b8e5c1 | 28 | Display this information |
e690b385 | 29 | |
87c75316 | 30 | -help= |
31 | Common Report Joined | |
32 | --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params | |
da3b1bab | 33 | |
e690b385 | 34 | -target-help |
35 | Common | |
87c75316 | 36 | Alias for --help=target |
37 | ||
39932bd2 | 38 | ;; The following four entries are to work around the gcc driver |
87c75316 | 39 | ;; program's insatiable desire to turn options starting with a |
40 | ;; double dash (--) into options starting with a dash f (-f). | |
41 | fhelp | |
2dfeb300 | 42 | Common Var(help_flag) |
87c75316 | 43 | |
44 | fhelp= | |
45 | Common Joined | |
46 | ||
47 | ftarget-help | |
48 | Common | |
49 | ||
39932bd2 | 50 | fversion |
51 | Common | |
52 | ||
87c75316 | 53 | -param |
54 | Common Separate | |
55 | --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters | |
e690b385 | 56 | |
57 | -version | |
58 | Common | |
59 | ||
60 | G | |
837277ab | 61 | Common Joined Separate UInteger |
53b8e5c1 | 62 | -G<number> Put global and static data smaller than <number> bytes into a special section (on some targets) |
e690b385 | 63 | |
da3b1bab | 64 | O |
46f8e3b0 | 65 | Common JoinedOrMissing Optimization |
53b8e5c1 | 66 | -O<number> Set optimization level to <number> |
da3b1bab | 67 | |
68 | Os | |
46f8e3b0 | 69 | Common Optimization |
53b8e5c1 | 70 | Optimize for space rather than speed |
da3b1bab | 71 | |
72 | W | |
73 | Common RejectNegative | |
bb0814ce | 74 | This switch is deprecated; use -Wextra instead |
da3b1bab | 75 | |
6f2f567f | 76 | Waggregate-return |
87c75316 | 77 | Common Var(warn_aggregate_return) Warning |
bb0814ce | 78 | Warn about returning structures, unions or arrays |
6f2f567f | 79 | |
5bc96398 | 80 | Warray-bounds |
e8831472 | 81 | Common Var(warn_array_bounds) Warning |
5bc96398 | 82 | Warn if an array is accessed out of bounds |
83 | ||
9b2d6d13 | 84 | Wattributes |
87c75316 | 85 | Common Var(warn_attributes) Init(1) Warning |
9b2d6d13 | 86 | Warn about inappropriate attribute usage |
87 | ||
6f2f567f | 88 | Wcast-align |
87c75316 | 89 | Common Var(warn_cast_align) Warning |
bb0814ce | 90 | Warn about pointer casts which increase alignment |
6f2f567f | 91 | |
92 | Wdeprecated-declarations | |
87c75316 | 93 | Common Var(warn_deprecated_decl) Init(1) Warning |
bb0814ce | 94 | Warn about uses of __attribute__((deprecated)) declarations |
6f2f567f | 95 | |
96 | Wdisabled-optimization | |
87c75316 | 97 | Common Var(warn_disabled_optimization) Warning |
bb0814ce | 98 | Warn when an optimization pass is disabled |
6f2f567f | 99 | |
100 | Werror | |
2e9da478 | 101 | Common Var(warnings_are_errors) |
bb0814ce | 102 | Treat all warnings as errors |
6f2f567f | 103 | |
76f02516 | 104 | Werror= |
105 | Common Joined | |
106 | Treat specified warning as error | |
107 | ||
da3b1bab | 108 | Wextra |
87c75316 | 109 | Common Warning |
53b8e5c1 | 110 | Print extra (possibly unwanted) warnings |
da3b1bab | 111 | |
295acf4f | 112 | Wfatal-errors |
2e9da478 | 113 | Common Var(flag_fatal_errors) |
295acf4f | 114 | Exit on the first error occurred |
115 | ||
6fdade09 | 116 | Wframe-larger-than= |
117 | Common RejectNegative Joined UInteger | |
15e88abc | 118 | -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes |
6fdade09 | 119 | |
6f2f567f | 120 | Winline |
87c75316 | 121 | Common Var(warn_inline) Warning |
bb0814ce | 122 | Warn when an inlined function cannot be inlined |
6f2f567f | 123 | |
124 | Wlarger-than- | |
87c75316 | 125 | Common RejectNegative Joined UInteger Warning |
17c66687 | 126 | |
127 | Wlarger-than= | |
128 | Common RejectNegative Joined UInteger Warning | |
129 | -Wlarger-than=<number> Warn if an object is larger than <number> bytes | |
6f2f567f | 130 | |
b13d1547 | 131 | Wlogical-op |
132 | Common Warning Var(warn_logical_op) | |
133 | Warn when a logical operator is suspicously always evaluating to true or false | |
134 | ||
7e3cc681 | 135 | Wunsafe-loop-optimizations |
87c75316 | 136 | Common Var(warn_unsafe_loop_optimizations) Warning |
7e3cc681 | 137 | Warn if the loop cannot be optimized due to nontrivial assumptions. |
138 | ||
6f2f567f | 139 | Wmissing-noreturn |
87c75316 | 140 | Common Var(warn_missing_noreturn) Warning |
bb0814ce | 141 | Warn about functions which might be candidates for __attribute__((noreturn)) |
6f2f567f | 142 | |
f63eb5d3 | 143 | Wmudflap |
144 | Common Var(warn_mudflap) Init(1) Warning | |
145 | Warn about constructs not instrumented by -fmudflap | |
146 | ||
55972f40 | 147 | Woverflow |
87c75316 | 148 | Common Var(warn_overflow) Init(1) Warning |
55972f40 | 149 | Warn about overflow in arithmetic expressions |
150 | ||
6f2f567f | 151 | Wpacked |
87c75316 | 152 | Common Var(warn_packed) Warning |
bb0814ce | 153 | Warn when the packed attribute has no effect on struct layout |
6f2f567f | 154 | |
155 | Wpadded | |
87c75316 | 156 | Common Var(warn_padded) Warning |
bb0814ce | 157 | Warn when padding is required to align structure members |
6f2f567f | 158 | |
159 | Wshadow | |
87c75316 | 160 | Common Var(warn_shadow) Warning |
bb0814ce | 161 | Warn when one local variable shadows another |
6f2f567f | 162 | |
f1a0edff | 163 | Wstack-protector |
87c75316 | 164 | Common Var(warn_stack_protect) Warning |
f1a0edff | 165 | Warn when not issuing stack smashing protection for some reason |
166 | ||
6f2f567f | 167 | Wstrict-aliasing |
87c75316 | 168 | Common Warning |
bb0814ce | 169 | Warn about code which might break strict aliasing rules |
6f2f567f | 170 | |
c1628b55 | 171 | Wstrict-aliasing= |
a54ab330 | 172 | Common Joined UInteger Var(warn_strict_aliasing) Init(-1) Warning |
c1628b55 | 173 | Warn about code which might break strict aliasing rules |
174 | ||
add6ee5e | 175 | Wstrict-overflow |
e8831472 | 176 | Common Warning |
add6ee5e | 177 | Warn about optimizations that assume that signed overflow is undefined |
178 | ||
179 | Wstrict-overflow= | |
a54ab330 | 180 | Common Joined UInteger Var(warn_strict_overflow) Init(-1) Warning |
add6ee5e | 181 | Warn about optimizations that assume that signed overflow is undefined |
182 | ||
6f2f567f | 183 | Wswitch |
87c75316 | 184 | Common Var(warn_switch) Warning |
bb0814ce | 185 | Warn about enumerated switches, with no default, missing a case |
6f2f567f | 186 | |
187 | Wswitch-default | |
87c75316 | 188 | Common Var(warn_switch_default) Warning |
bb0814ce | 189 | Warn about enumerated switches missing a \"default:\" statement |
6f2f567f | 190 | |
191 | Wswitch-enum | |
87c75316 | 192 | Common Var(warn_switch_enum) Warning |
bb0814ce | 193 | Warn about all enumerated switches missing a specific case |
6f2f567f | 194 | |
195 | Wsystem-headers | |
87c75316 | 196 | Common Var(warn_system_headers) Warning |
72528c71 | 197 | Do not suppress warnings from system headers |
6f2f567f | 198 | |
100b67da | 199 | Wtype-limits |
200 | Common Var(warn_type_limits) Init(-1) Warning | |
201 | Warn if a comparison is always true or always false due to the limited range of the data type | |
202 | ||
6f2f567f | 203 | Wuninitialized |
87c75316 | 204 | Common Var(warn_uninitialized) Warning |
bb0814ce | 205 | Warn about uninitialized automatic variables |
6f2f567f | 206 | |
207 | Wunreachable-code | |
87c75316 | 208 | Common Var(warn_notreached) Warning |
bb0814ce | 209 | Warn about code that will never be executed |
6f2f567f | 210 | |
da3b1bab | 211 | Wunused |
278e3a1f | 212 | Common Var(warn_unused) Init(0) Warning |
53b8e5c1 | 213 | Enable all -Wunused- warnings |
da3b1bab | 214 | |
6f2f567f | 215 | Wunused-function |
278e3a1f | 216 | Common Var(warn_unused_function) Init(-1) Warning |
bb0814ce | 217 | Warn when a function is unused |
6f2f567f | 218 | |
219 | Wunused-label | |
278e3a1f | 220 | Common Var(warn_unused_label) Init(-1) Warning |
bb0814ce | 221 | Warn when a label is unused |
6f2f567f | 222 | |
223 | Wunused-parameter | |
278e3a1f | 224 | Common Var(warn_unused_parameter) Init(-1) Warning |
bb0814ce | 225 | Warn when a function parameter is unused |
6f2f567f | 226 | |
227 | Wunused-value | |
278e3a1f | 228 | Common Var(warn_unused_value) Init(-1) Warning |
bb0814ce | 229 | Warn when an expression value is unused |
6f2f567f | 230 | |
231 | Wunused-variable | |
278e3a1f | 232 | Common Var(warn_unused_variable) Init(-1) Warning |
bb0814ce | 233 | Warn when a variable is unused |
6f2f567f | 234 | |
c81ed7c1 | 235 | Wcoverage-mismatch |
e8831472 | 236 | Common RejectNegative Var(warn_coverage_mismatch) Warning |
c81ed7c1 | 237 | Warn instead of error in case profiles in -fprofile-use do not match |
238 | ||
e690b385 | 239 | aux-info |
240 | Common Separate | |
53b8e5c1 | 241 | -aux-info <file> Emit declaration information into <file> |
e690b385 | 242 | |
243 | aux-info= | |
244 | Common Joined | |
245 | ||
246 | auxbase | |
247 | Common Separate | |
248 | ||
249 | auxbase-strip | |
250 | Common Separate | |
251 | ||
252 | d | |
253 | Common Joined | |
53b8e5c1 | 254 | -d<letters> Enable dumps from specific passes of the compiler |
e690b385 | 255 | |
256 | dumpbase | |
257 | Common Separate | |
53b8e5c1 | 258 | -dumpbase <file> Set the file basename to be used for dumps |
e690b385 | 259 | |
82a16202 | 260 | ; The version of the C++ ABI in use. The following values are allowed: |
261 | ; | |
262 | ; 0: The version of the ABI believed most conformant with the C++ ABI | |
263 | ; specification. This ABI may change as bugs are discovered and fixed. | |
264 | ; Therefore, 0 will not necessarily indicate the same ABI in different | |
265 | ; versions of G++. | |
266 | ; | |
267 | ; 1: The version of the ABI first used in G++ 3.2. | |
268 | ; | |
e9e7c198 | 269 | ; 2: The version of the ABI first used in G++ 3.4. |
270 | ; | |
82a16202 | 271 | ; Additional positive integers will be assigned as new versions of |
272 | ; the ABI become the default version of the ABI. | |
e100aadc | 273 | fabi-version= |
2e9da478 | 274 | Common Joined UInteger Var(flag_abi_version) Init(2) |
e100aadc | 275 | |
ecdb6d1a | 276 | falign-functions |
46f8e3b0 | 277 | Common Report Var(align_functions,0) Optimization UInteger |
72528c71 | 278 | Align the start of functions |
ecdb6d1a | 279 | |
941a4893 | 280 | falign-functions= |
281 | Common RejectNegative Joined UInteger | |
282 | ||
ecdb6d1a | 283 | falign-jumps |
46f8e3b0 | 284 | Common Report Var(align_jumps,0) Optimization UInteger |
72528c71 | 285 | Align labels which are only reached by jumping |
ecdb6d1a | 286 | |
941a4893 | 287 | falign-jumps= |
288 | Common RejectNegative Joined UInteger | |
289 | ||
ecdb6d1a | 290 | falign-labels |
46f8e3b0 | 291 | Common Report Var(align_labels,0) Optimization UInteger |
72528c71 | 292 | Align all labels |
ecdb6d1a | 293 | |
941a4893 | 294 | falign-labels= |
295 | Common RejectNegative Joined UInteger | |
296 | ||
ecdb6d1a | 297 | falign-loops |
46f8e3b0 | 298 | Common Report Var(align_loops) Optimization UInteger |
72528c71 | 299 | Align the start of loops |
ecdb6d1a | 300 | |
941a4893 | 301 | falign-loops= |
302 | Common RejectNegative Joined UInteger | |
303 | ||
82a16202 | 304 | ; This flag is only tested if alias checking is enabled. |
305 | ; 0 if pointer arguments may alias each other. True in C. | |
306 | ; 1 if pointer arguments may not alias each other but may alias | |
307 | ; global variables. | |
308 | ; 2 if pointer arguments may not alias each other and may not | |
5ff22aea | 309 | ; alias global variables. |
310 | ; 3 if pointer arguments may not alias anything. True in Fortran. | |
311 | ; Set by the front end. | |
ecdb6d1a | 312 | fargument-alias |
87c75316 | 313 | Common Report Var(flag_argument_noalias,0) Optimization |
72528c71 | 314 | Specify that arguments may alias each other and globals |
ecdb6d1a | 315 | |
316 | fargument-noalias | |
87c75316 | 317 | Common Report Var(flag_argument_noalias,1) VarExists Optimization |
72528c71 | 318 | Assume arguments may alias globals but not each other |
ecdb6d1a | 319 | |
320 | fargument-noalias-global | |
87c75316 | 321 | Common Report Var(flag_argument_noalias,2) VarExists Optimization |
72528c71 | 322 | Assume arguments alias neither each other nor globals |
ecdb6d1a | 323 | |
5ff22aea | 324 | fargument-noalias-anything |
87c75316 | 325 | Common Report Var(flag_argument_noalias,3) VarExists Optimization |
5ff22aea | 326 | Assume arguments alias no other storage |
327 | ||
ecdb6d1a | 328 | fasynchronous-unwind-tables |
87c75316 | 329 | Common Report Var(flag_asynchronous_unwind_tables) Optimization |
72528c71 | 330 | Generate unwind tables that are exact at each instruction boundary |
ecdb6d1a | 331 | |
3072d30e | 332 | fauto-inc-dec |
333 | Common Report Var(flag_auto_inc_dec) Init(1) | |
334 | Generate auto-inc/dec instructions | |
335 | ||
82a16202 | 336 | ; -fcheck-bounds causes gcc to generate array bounds checks. |
337 | ; For C, C++ and ObjC: defaults off. | |
338 | ; For Java: defaults to on. | |
339 | ; For Fortran: defaults to off. | |
ecdb6d1a | 340 | fbounds-check |
2e9da478 | 341 | Common Report Var(flag_bounds_check) |
72528c71 | 342 | Generate code to check bounds before indexing arrays |
ecdb6d1a | 343 | |
344 | fbranch-count-reg | |
87c75316 | 345 | Common Report Var(flag_branch_on_count_reg) Init(1) Optimization |
72528c71 | 346 | Replace add, compare, branch with branch on count register |
ecdb6d1a | 347 | |
348 | fbranch-probabilities | |
87c75316 | 349 | Common Report Var(flag_branch_probabilities) Optimization |
72528c71 | 350 | Use profiling information for branch probabilities |
ecdb6d1a | 351 | |
1e06725a | 352 | fbranch-target-load-optimize |
87c75316 | 353 | Common Report Var(flag_branch_target_load_optimize) Optimization |
72528c71 | 354 | Perform branch target load optimization before prologue / epilogue threading |
1e06725a | 355 | |
356 | fbranch-target-load-optimize2 | |
87c75316 | 357 | Common Report Var(flag_branch_target_load_optimize2) Optimization |
72528c71 | 358 | Perform branch target load optimization after prologue / epilogue threading |
1e06725a | 359 | |
08d163a9 | 360 | fbtr-bb-exclusive |
87c75316 | 361 | Common Report Var(flag_btr_bb_exclusive) Optimization |
08d163a9 | 362 | Restrict target load migration not to re-use registers in any basic block |
363 | ||
941a4893 | 364 | fcall-saved- |
365 | Common Joined RejectNegative | |
53b8e5c1 | 366 | -fcall-saved-<register> Mark <register> as being preserved across functions |
941a4893 | 367 | |
368 | fcall-used- | |
369 | Common Joined RejectNegative | |
53b8e5c1 | 370 | -fcall-used-<register> Mark <register> as being corrupted by function calls |
941a4893 | 371 | |
82a16202 | 372 | ; Nonzero for -fcaller-saves: allocate values in regs that need to |
373 | ; be saved across function calls, if that produces overall better code. | |
374 | ; Optional now, so people can test it. | |
1e06725a | 375 | fcaller-saves |
87c75316 | 376 | Common Report Var(flag_caller_saves) Optimization |
72528c71 | 377 | Save registers around function calls |
1e06725a | 378 | |
355572cc | 379 | fcheck-data-deps |
380 | Common Report Var(flag_check_data_deps) | |
381 | Compare the results of several data dependence analyzers. | |
382 | ||
ecdb6d1a | 383 | fcommon |
87c75316 | 384 | Common Report Var(flag_no_common,0) Optimization |
72528c71 | 385 | Do not put uninitialized globals in the common section |
ecdb6d1a | 386 | |
c231842d | 387 | fconserve-stack |
c45dd88a | 388 | Common Var(flag_conserve_stack) Optimization |
c231842d | 389 | Do not perform optimizations increasing noticeably stack usage |
390 | ||
ecdb6d1a | 391 | fcprop-registers |
87c75316 | 392 | Common Report Var(flag_cprop_registers) Optimization |
72528c71 | 393 | Perform a register copy-propagation optimization pass |
ecdb6d1a | 394 | |
1e06725a | 395 | fcrossjumping |
87c75316 | 396 | Common Report Var(flag_crossjumping) Optimization |
72528c71 | 397 | Perform cross-jumping optimization |
1e06725a | 398 | |
399 | fcse-follow-jumps | |
87c75316 | 400 | Common Report Var(flag_cse_follow_jumps) Optimization |
72528c71 | 401 | When running CSE, follow jumps to their targets |
1e06725a | 402 | |
403 | fcse-skip-blocks | |
87c75316 | 404 | Common Report Var(flag_cse_skip_blocks) Optimization |
72528c71 | 405 | When running CSE, follow conditional jumps |
1e06725a | 406 | |
45b9d334 | 407 | fcx-limited-range |
87c75316 | 408 | Common Report Var(flag_cx_limited_range) Optimization |
45b9d334 | 409 | Omit range reduction step when performing complex division |
410 | ||
608256a0 | 411 | fcx-fortran-rules |
412 | Common Report Var(flag_cx_fortran_rules) Optimization | |
413 | Complex multiplication and division follow Fortran rules | |
414 | ||
ecdb6d1a | 415 | fdata-sections |
87c75316 | 416 | Common Report Var(flag_data_sections) Optimization |
72528c71 | 417 | Place data items into their own section |
ecdb6d1a | 418 | |
d2153a46 | 419 | fdbg-cnt-list |
420 | Common Report | |
421 | List all available debugging counters with their limits and counts. | |
422 | ||
3072d30e | 423 | fdbg-cnt= |
424 | Common RejectNegative Joined | |
d2153a46 | 425 | -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. |
3072d30e | 426 | |
5f1f2de5 | 427 | fdebug-prefix-map= |
428 | Common Joined RejectNegative | |
429 | Map one directory name to another in debug information | |
430 | ||
82a16202 | 431 | ; Nonzero for -fdefer-pop: don't pop args after each function call |
432 | ; instead save them up to pop many calls' args with one insns. | |
1e06725a | 433 | fdefer-pop |
87c75316 | 434 | Common Report Var(flag_defer_pop) Optimization |
72528c71 | 435 | Defer popping functions args from stack until later |
1e06725a | 436 | |
437 | fdelayed-branch | |
87c75316 | 438 | Common Report Var(flag_delayed_branch) Optimization |
72528c71 | 439 | Attempt to fill delay slots of branch instructions |
1e06725a | 440 | |
441 | fdelete-null-pointer-checks | |
7df298fe | 442 | Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization |
72528c71 | 443 | Delete useless null pointer checks |
1e06725a | 444 | |
445 | fdiagnostics-show-location= | |
446 | Common Joined RejectNegative | |
53b8e5c1 | 447 | -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics |
1e06725a | 448 | |
efb9d9ee | 449 | fdiagnostics-show-option |
b0932b2f | 450 | Common |
3284a242 | 451 | Amend appropriate diagnostic messages with the command line option that controls them |
efb9d9ee | 452 | |
4ee9c684 | 453 | fdump- |
454 | Common Joined RejectNegative | |
455 | -fdump-<type> Dump various compiler internals to a file | |
456 | ||
969239ad | 457 | fdump-noaddr |
458 | Common Report Var(flag_dump_noaddr) | |
459 | Suppress output of addresses in debugging dumps | |
460 | ||
ecdb6d1a | 461 | fdump-unnumbered |
2e9da478 | 462 | Common Report Var(flag_dump_unnumbered) VarExists |
969239ad | 463 | Suppress output of instruction numbers, line number notes and addresses in debugging dumps |
ecdb6d1a | 464 | |
fb39ff6e | 465 | fdwarf2-cfi-asm |
466 | Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE) | |
467 | Enable CFI tables via GAS assembler directives. | |
468 | ||
f1aa280c | 469 | fearly-inlining |
87c75316 | 470 | Common Report Var(flag_early_inlining) Init(1) Optimization |
f1aa280c | 471 | Perform early inlining |
472 | ||
1e06725a | 473 | feliminate-dwarf2-dups |
2e9da478 | 474 | Common Report Var(flag_eliminate_dwarf2_dups) |
72528c71 | 475 | Perform DWARF2 duplicate elimination |
1e06725a | 476 | |
262444a6 | 477 | feliminate-unused-debug-symbols |
2e9da478 | 478 | Common Report Var(flag_debug_only_used_symbols) |
72528c71 | 479 | Perform unused type elimination in debug info |
262444a6 | 480 | |
1e06725a | 481 | feliminate-unused-debug-types |
2e9da478 | 482 | Common Report Var(flag_eliminate_unused_debug_types) Init(1) |
72528c71 | 483 | Perform unused type elimination in debug info |
1e06725a | 484 | |
0c573f98 | 485 | femit-class-debug-always |
fd5e1dfe | 486 | Common Report Var(flag_emit_class_debug_always) Init(0) |
0c573f98 | 487 | Do not suppress C++ class debug information. |
488 | ||
ecdb6d1a | 489 | fexceptions |
87c75316 | 490 | Common Report Var(flag_exceptions) Optimization |
72528c71 | 491 | Enable exception handling |
ecdb6d1a | 492 | |
1e06725a | 493 | fexpensive-optimizations |
87c75316 | 494 | Common Report Var(flag_expensive_optimizations) Optimization |
72528c71 | 495 | Perform a number of minor, expensive optimizations |
1e06725a | 496 | |
c6418a4e | 497 | fexcess-precision= |
498 | Common Joined RejectNegative | |
499 | -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision | |
500 | ||
941a4893 | 501 | ffast-math |
502 | Common | |
503 | ||
ecdb6d1a | 504 | ffinite-math-only |
87c75316 | 505 | Common Report Var(flag_finite_math_only) Optimization |
72528c71 | 506 | Assume no NaNs or infinities are generated |
ecdb6d1a | 507 | |
941a4893 | 508 | ffixed- |
509 | Common Joined RejectNegative | |
53b8e5c1 | 510 | -ffixed-<register> Mark <register> as being unavailable to the compiler |
941a4893 | 511 | |
1e06725a | 512 | ffloat-store |
87c75316 | 513 | Common Report Var(flag_float_store) Optimization |
82a16202 | 514 | Don't allocate floats and doubles in extended-precision registers |
1e06725a | 515 | |
516 | fforce-addr | |
4d25f9eb | 517 | Common |
518 | Does nothing. Preserved for backward compatibility. | |
1e06725a | 519 | |
55d51835 | 520 | fforward-propagate |
521 | Common Report Var(flag_forward_propagate) Optimization | |
42a3a38b | 522 | Perform a forward propagation pass on RTL |
523 | ||
82a16202 | 524 | ; Nonzero means don't put addresses of constant functions in registers. |
525 | ; Used for compiling the Unix kernel, where strange substitutions are | |
526 | ; done on the assembly output. | |
1e06725a | 527 | ffunction-cse |
2e9da478 | 528 | Common Report Var(flag_no_function_cse,0) |
72528c71 | 529 | Allow function addresses to be held in registers |
1e06725a | 530 | |
ecdb6d1a | 531 | ffunction-sections |
2e9da478 | 532 | Common Report Var(flag_function_sections) |
72528c71 | 533 | Place each function into its own section |
ecdb6d1a | 534 | |
1e06725a | 535 | fgcse |
87c75316 | 536 | Common Report Var(flag_gcse) Optimization |
72528c71 | 537 | Perform global common subexpression elimination |
1e06725a | 538 | |
539 | fgcse-lm | |
87c75316 | 540 | Common Report Var(flag_gcse_lm) Init(1) Optimization |
72528c71 | 541 | Perform enhanced load motion during global common subexpression elimination |
1e06725a | 542 | |
543 | fgcse-sm | |
87c75316 | 544 | Common Report Var(flag_gcse_sm) Init(0) Optimization |
72528c71 | 545 | Perform store motion after global common subexpression elimination |
1e06725a | 546 | |
5c47e414 | 547 | fgcse-las |
87c75316 | 548 | Common Report Var(flag_gcse_las) Init(0) Optimization |
839f8415 | 549 | Perform redundant load after store elimination in global common subexpression |
550 | elimination | |
551 | ||
552 | fgcse-after-reload | |
87c75316 | 553 | Common Report Var(flag_gcse_after_reload) Optimization |
839f8415 | 554 | Perform global common subexpression elimination after register allocation |
3284a242 | 555 | has finished |
5c47e414 | 556 | |
d3399492 | 557 | ; This option is not documented yet as its semantics will change. |
255b6be7 | 558 | fgraphite |
559 | Common Report Var(flag_graphite) | |
560 | Enable in and out of Graphite representation | |
561 | ||
562 | floop-strip-mine | |
563 | Common Report Var(flag_loop_strip_mine) Optimization | |
564 | Enable Loop Strip Mining transformation | |
565 | ||
566 | floop-interchange | |
567 | Common Report Var(flag_loop_interchange) Optimization | |
568 | Enable Loop Interchange transformation | |
569 | ||
570 | floop-block | |
571 | Common Report Var(flag_loop_block) Optimization | |
572 | Enable Loop Blocking transformation | |
573 | ||
d3399492 | 574 | ; This option is not documented as it does not perform any useful optimization. |
f4c4e2a2 | 575 | fgraphite-identity |
576 | Common Report Var(flag_graphite_identity) Optimization | |
577 | Enable Graphite Identity transformation | |
578 | ||
ecdb6d1a | 579 | fguess-branch-probability |
87c75316 | 580 | Common Report Var(flag_guess_branch_prob) Optimization |
72528c71 | 581 | Enable guessing of branch probabilities |
ecdb6d1a | 582 | |
82a16202 | 583 | ; Nonzero means ignore `#ident' directives. 0 means handle them. |
584 | ; Generate position-independent code for executables if possible | |
585 | ; On SVR4 targets, it also controls whether or not to emit a | |
586 | ; string identifying the compiler. | |
ecdb6d1a | 587 | fident |
2e9da478 | 588 | Common Report Var(flag_no_ident,0) |
72528c71 | 589 | Process #ident directives |
ecdb6d1a | 590 | |
1e06725a | 591 | fif-conversion |
87c75316 | 592 | Common Report Var(flag_if_conversion) Optimization |
72528c71 | 593 | Perform conversion of conditional jumps to branchless equivalents |
1e06725a | 594 | |
595 | fif-conversion2 | |
87c75316 | 596 | Common Report Var(flag_if_conversion2) Optimization |
72528c71 | 597 | Perform conversion of conditional jumps to conditional execution |
1e06725a | 598 | |
82a16202 | 599 | ; -finhibit-size-directive inhibits output of .size for ELF. |
600 | ; This is used only for compiling crtstuff.c, | |
601 | ; and it may be extended to other effects | |
602 | ; needed for crtstuff.c on other systems. | |
ecdb6d1a | 603 | finhibit-size-directive |
2e9da478 | 604 | Common Report Var(flag_inhibit_size_directive) |
72528c71 | 605 | Do not generate .size directives |
ecdb6d1a | 606 | |
f8daee9b | 607 | findirect-inlining |
608 | Common Report Var(flag_indirect_inlining) | |
609 | Perform indirect inlining | |
610 | ||
82a16202 | 611 | ; Nonzero means that functions declared `inline' will be treated |
612 | ; as `static'. Prevents generation of zillions of copies of unused | |
613 | ; static inline functions; instead, `inlines' are written out | |
614 | ; only when actually used. Used in conjunction with -g. Also | |
615 | ; does the right thing with #pragma interface. | |
1e06725a | 616 | finline |
1c2f0012 | 617 | Common Report Var(flag_no_inline,0) Init(0) |
72528c71 | 618 | Pay attention to the \"inline\" keyword |
1e06725a | 619 | |
b97510b2 | 620 | finline-small-functions |
621 | Common Report Var(flag_inline_small_functions) Optimization | |
622 | Integrate simple functions into their callers when code size is known to not growth | |
623 | ||
1e06725a | 624 | finline-functions |
87c75316 | 625 | Common Report Var(flag_inline_functions) Optimization |
72528c71 | 626 | Integrate simple functions into their callers |
1e06725a | 627 | |
f1aa280c | 628 | finline-functions-called-once |
87c75316 | 629 | Common Report Var(flag_inline_functions_called_once) Init(1) Optimization |
f1aa280c | 630 | Integrate functions called once into their callers |
9e0baf4d | 631 | |
39470ac3 | 632 | finline-limit- |
633 | Common RejectNegative Joined UInteger | |
634 | ||
635 | finline-limit= | |
636 | Common RejectNegative Joined UInteger | |
53b8e5c1 | 637 | -finline-limit=<number> Limit the size of inlined functions to <number> |
39470ac3 | 638 | |
ecdb6d1a | 639 | finstrument-functions |
2e9da478 | 640 | Common Report Var(flag_instrument_function_entry_exit) |
72528c71 | 641 | Instrument function entry and exit with profiling calls |
ecdb6d1a | 642 | |
a95c0776 | 643 | finstrument-functions-exclude-function-list= |
644 | Common RejectNegative Joined | |
645 | -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions | |
646 | ||
647 | finstrument-functions-exclude-file-list= | |
648 | Common RejectNegative Joined | |
649 | -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files | |
650 | ||
a17a73c7 | 651 | fipa-cp |
87c75316 | 652 | Common Report Var(flag_ipa_cp) Optimization |
a17a73c7 | 653 | Perform Interprocedural constant propagation |
654 | ||
2a15795f | 655 | fipa-cp-clone |
656 | Common Report Var(flag_ipa_cp_clone) Optimization | |
657 | Perform cloning to make Interprocedural constant propagation stronger | |
658 | ||
f7d118a9 | 659 | fipa-pure-const |
87c75316 | 660 | Common Report Var(flag_ipa_pure_const) Init(0) Optimization |
f7d118a9 | 661 | Discover pure and const functions |
662 | ||
bdf4f142 | 663 | fipa-pta |
87c75316 | 664 | Common Report Var(flag_ipa_pta) Init(0) Optimization |
bdf4f142 | 665 | Perform interprocedural points-to analysis |
666 | ||
f7d118a9 | 667 | fipa-reference |
87c75316 | 668 | Common Report Var(flag_ipa_reference) Init(0) Optimization |
f7d118a9 | 669 | Discover readonly and non addressable static variables |
670 | ||
671 | fipa-type-escape | |
87c75316 | 672 | Common Report Var(flag_ipa_type_escape) Init(0) Optimization |
f7d118a9 | 673 | Type based escape and alias analysis |
674 | ||
604cde73 | 675 | fipa-matrix-reorg |
76c71f34 | 676 | Common Report Var(flag_ipa_matrix_reorg) Optimization |
604cde73 | 677 | Perform matrix layout flattening and transposing based |
678 | on profiling information. | |
679 | ||
f27ac341 | 680 | fipa-struct-reorg |
681 | Common Report Var(flag_ipa_struct_reorg) | |
682 | Perform structure layout optimizations based | |
683 | on profiling information. | |
684 | ||
47dd2e78 | 685 | fira-algorithm= |
686 | Common Joined RejectNegative | |
14792f4e | 687 | -fira-algorithm=[CB|priority] Set the used IRA algorithm |
688 | ||
689 | fira-region= | |
690 | Common Joined RejectNegative | |
691 | -fira-region=[one|all|mixed] Set regions for IRA | |
47dd2e78 | 692 | |
693 | fira-coalesce | |
694 | Common Report Var(flag_ira_coalesce) Init(0) | |
695 | Do optimistic coalescing. | |
696 | ||
697 | fira-share-save-slots | |
698 | Common Report Var(flag_ira_share_save_slots) Init(1) | |
699 | Share slots for saving different hard registers. | |
700 | ||
701 | fira-share-spill-slots | |
702 | Common Report Var(flag_ira_share_spill_slots) Init(1) | |
703 | Share stack slots for spilled pseudo-registers. | |
704 | ||
705 | fira-verbose= | |
706 | Common RejectNegative Joined UInteger | |
707 | -fira-verbose=<number> Control IRA's level of diagnostic messages. | |
708 | ||
dec41e98 | 709 | fivopts |
87c75316 | 710 | Common Report Var(flag_ivopts) Init(1) Optimization |
dec41e98 | 711 | Optimize induction variables on trees |
712 | ||
51d8e657 | 713 | fjump-tables |
87c75316 | 714 | Common Var(flag_jump_tables) Init(1) Optimization |
51d8e657 | 715 | Use jump tables for sufficiently large switch statements |
716 | ||
1e06725a | 717 | fkeep-inline-functions |
2e9da478 | 718 | Common Report Var(flag_keep_inline_functions) |
72528c71 | 719 | Generate code for functions even if they are fully inlined |
1e06725a | 720 | |
721 | fkeep-static-consts | |
2e9da478 | 722 | Common Report Var(flag_keep_static_consts) Init(1) |
72528c71 | 723 | Emit static const variables even if they are not used |
1e06725a | 724 | |
ecdb6d1a | 725 | fleading-underscore |
2e9da478 | 726 | Common Report Var(flag_leading_underscore) Init(-1) |
72528c71 | 727 | Give external symbols a leading underscore |
ecdb6d1a | 728 | |
4f87b914 | 729 | floop-optimize |
730 | Common | |
334ec2d8 | 731 | Does nothing. Preserved for backward compatibility. |
4f87b914 | 732 | |
ecdb6d1a | 733 | fmath-errno |
46f8e3b0 | 734 | Common Report Var(flag_errno_math) Init(1) Optimization |
72528c71 | 735 | Set errno after built-in math functions |
ecdb6d1a | 736 | |
737 | fmem-report | |
2e9da478 | 738 | Common Report Var(mem_report) |
72528c71 | 739 | Report on permanent memory allocation |
ecdb6d1a | 740 | |
82a16202 | 741 | ; This will attempt to merge constant section constants, if 1 only |
742 | ; string constants and constants from constant pool, if 2 also constant | |
743 | ; variables. | |
ecdb6d1a | 744 | fmerge-all-constants |
87c75316 | 745 | Common Report Var(flag_merge_constants,2) Init(1) Optimization |
72528c71 | 746 | Attempt to merge identical constants and constant variables |
ecdb6d1a | 747 | |
748 | fmerge-constants | |
87c75316 | 749 | Common Report Var(flag_merge_constants,1) VarExists Optimization |
72528c71 | 750 | Attempt to merge identical constants across compilation units |
ecdb6d1a | 751 | |
7765591b | 752 | fmerge-debug-strings |
753 | Common Report Var(flag_merge_debug_strings) Init(1) | |
754 | Attempt to merge identical debug strings across compilation units | |
755 | ||
1e06725a | 756 | fmessage-length= |
757 | Common RejectNegative Joined UInteger | |
53b8e5c1 | 758 | -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping |
1e06725a | 759 | |
406a73e7 | 760 | fmodulo-sched |
87c75316 | 761 | Common Report Var(flag_modulo_sched) Optimization |
406a73e7 | 762 | Perform SMS based modulo scheduling before the first scheduling pass |
763 | ||
3a943084 | 764 | fmodulo-sched-allow-regmoves |
765 | Common Report Var(flag_modulo_sched_allow_regmoves) | |
766 | Perform SMS based modulo scheduling with register moves allowed | |
767 | ||
3a0ecac2 | 768 | fmove-loop-invariants |
87c75316 | 769 | Common Report Var(flag_move_loop_invariants) Init(1) Optimization |
3a0ecac2 | 770 | Move loop invariant computations out of loops |
771 | ||
4ee9c684 | 772 | fmudflap |
2e9da478 | 773 | Common RejectNegative Report Var(flag_mudflap) |
3284a242 | 774 | Add mudflap bounds-checking instrumentation for single-threaded program |
4ee9c684 | 775 | |
776 | fmudflapth | |
c1d36cca | 777 | Common RejectNegative Report VarExists Var(flag_mudflap,2) |
3284a242 | 778 | Add mudflap bounds-checking instrumentation for multi-threaded program |
4ee9c684 | 779 | |
780 | fmudflapir | |
2e9da478 | 781 | Common RejectNegative Report Var(flag_mudflap_ignore_reads) |
3284a242 | 782 | Ignore read operations when inserting mudflap instrumentation |
4ee9c684 | 783 | |
3072d30e | 784 | fdce |
76c71f34 | 785 | Common Var(flag_dce) Init(1) Optimization |
3072d30e | 786 | Use the RTL dead code elimination pass |
787 | ||
788 | fdse | |
76c71f34 | 789 | Common Var(flag_dse) Init(1) Optimization |
3072d30e | 790 | Use the RTL dead store elimination pass |
791 | ||
f045d41d | 792 | freschedule-modulo-scheduled-loops |
87c75316 | 793 | Common Report Var(flag_resched_modulo_sched) Optimization |
f045d41d | 794 | Enable/Disable the traditional scheduling in loops that already passed modulo scheduling |
795 | ||
ecdb6d1a | 796 | fnon-call-exceptions |
87c75316 | 797 | Common Report Var(flag_non_call_exceptions) Optimization |
72528c71 | 798 | Support synchronous non-call exceptions |
ecdb6d1a | 799 | |
1e06725a | 800 | fomit-frame-pointer |
87c75316 | 801 | Common Report Var(flag_omit_frame_pointer) Optimization |
72528c71 | 802 | When possible do not generate stack frames |
1e06725a | 803 | |
ecdb6d1a | 804 | foptimize-register-move |
87c75316 | 805 | Common Report Var(flag_regmove) Optimization |
72528c71 | 806 | Do the full register move optimization pass |
ecdb6d1a | 807 | |
1e06725a | 808 | foptimize-sibling-calls |
87c75316 | 809 | Common Report Var(flag_optimize_sibling_calls) Optimization |
72528c71 | 810 | Optimize sibling and tail recursive calls |
1e06725a | 811 | |
51949610 | 812 | fpre-ipa-mem-report |
813 | Common Report Var(pre_ipa_mem_report) | |
814 | Report on memory allocation before interprocedural optimization | |
815 | ||
816 | fpost-ipa-mem-report | |
817 | Common Report Var(post_ipa_mem_report) | |
818 | Report on memory allocation before interprocedural optimization | |
819 | ||
ecdb6d1a | 820 | fpack-struct |
87c75316 | 821 | Common Report Var(flag_pack_struct) Optimization |
72528c71 | 822 | Pack structure members together without holes |
ecdb6d1a | 823 | |
6b5553e5 | 824 | fpack-struct= |
87c75316 | 825 | Common RejectNegative Joined UInteger Optimization |
6b5553e5 | 826 | -fpack-struct=<number> Set initial maximum structure member alignment |
827 | ||
1e06725a | 828 | fpcc-struct-return |
2e9da478 | 829 | Common Report Var(flag_pcc_struct_return,1) VarExists |
72528c71 | 830 | Return small aggregates in memory, not registers |
1e06725a | 831 | |
832 | fpeel-loops | |
87c75316 | 833 | Common Report Var(flag_peel_loops) Optimization |
72528c71 | 834 | Perform loop peeling |
1e06725a | 835 | |
836 | fpeephole | |
87c75316 | 837 | Common Report Var(flag_no_peephole,0) Optimization |
72528c71 | 838 | Enable machine specific peephole optimizations |
1e06725a | 839 | |
ecdb6d1a | 840 | fpeephole2 |
87c75316 | 841 | Common Report Var(flag_peephole2) Optimization |
72528c71 | 842 | Enable an RTL peephole pass before sched2 |
ecdb6d1a | 843 | |
82a16202 | 844 | fPIC |
845 | Common Report Var(flag_pic,2) | |
846 | Generate position-independent code if possible (large mode) | |
847 | ||
848 | fPIE | |
849 | Common Report Var(flag_pie,2) | |
850 | Generate position-independent code for executables if possible (large mode) | |
851 | ||
ecdb6d1a | 852 | fpic |
2e9da478 | 853 | Common Report Var(flag_pic,1) VarExists |
82a16202 | 854 | Generate position-independent code if possible (small mode) |
ecdb6d1a | 855 | |
856 | fpie | |
2e9da478 | 857 | Common Report Var(flag_pie,1) VarExists |
82a16202 | 858 | Generate position-independent code for executables if possible (small mode) |
ecdb6d1a | 859 | |
9227b6fc | 860 | fplugin= |
861 | Common Joined RejectNegative | |
862 | Specify a plugin to load | |
863 | ||
864 | fplugin-arg- | |
865 | Common Joined RejectNegative | |
866 | -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name> | |
867 | ||
ad4a85ad | 868 | fpredictive-commoning |
76c71f34 | 869 | Common Report Var(flag_predictive_commoning) Optimization |
ad4a85ad | 870 | Run predictive commoning optimization. |
871 | ||
1e06725a | 872 | fprefetch-loop-arrays |
87c75316 | 873 | Common Report Var(flag_prefetch_loop_arrays) Optimization |
72528c71 | 874 | Generate prefetch instructions, if available, for arrays in loops |
1e06725a | 875 | |
ecdb6d1a | 876 | fprofile |
2e9da478 | 877 | Common Report Var(profile_flag) |
72528c71 | 878 | Enable basic program profiling code |
ecdb6d1a | 879 | |
880 | fprofile-arcs | |
2e9da478 | 881 | Common Report Var(profile_arc_flag) |
72528c71 | 882 | Insert arc-based program profiling code |
ecdb6d1a | 883 | |
3e3a0e9c | 884 | fprofile-dir= |
885 | Common Joined RejectNegative | |
886 | Set the top-level directory for storing the profile data. | |
887 | The default is 'pwd'. | |
888 | ||
e0dc6f2b | 889 | fprofile-correction |
890 | Common Report Var(flag_profile_correction) | |
891 | Enable correction of flow inconsistent profile data input | |
892 | ||
7dea76ba | 893 | fprofile-generate |
894 | Common | |
895 | Enable common options for generating profile info for profile feedback directed optimizations | |
896 | ||
3e3a0e9c | 897 | fprofile-generate= |
898 | Common Joined RejectNegative | |
899 | Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir= | |
900 | ||
7dea76ba | 901 | fprofile-use |
3e3a0e9c | 902 | Common Var(flag_profile_use) |
7dea76ba | 903 | Enable common options for performing profile feedback directed optimizations |
904 | ||
3e3a0e9c | 905 | fprofile-use= |
906 | Common Joined RejectNegative | |
907 | Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir= | |
908 | ||
1c6a7b8c | 909 | fprofile-values |
2e9da478 | 910 | Common Report Var(flag_profile_values) |
1c6a7b8c | 911 | Insert code to profile values of expressions |
912 | ||
1e06725a | 913 | frandom-seed |
914 | Common | |
915 | ||
916 | frandom-seed= | |
917 | Common Joined RejectNegative | |
53b8e5c1 | 918 | -frandom-seed=<string> Make compile reproducible using <string> |
1e06725a | 919 | |
7c6733e8 | 920 | ; This switch causes the command line that was used to create an |
921 | ; object file to be recorded into the object file. The exact format | |
922 | ; of this recording is target and binary file format dependent. | |
923 | ; It is related to the -fverbose-asm switch, but that switch only | |
924 | ; records information in the assembler output file as comments, so | |
925 | ; they never reach the object file. | |
926 | frecord-gcc-switches | |
927 | Common Report Var(flag_record_gcc_switches) | |
928 | Record gcc command line switches in the object file. | |
929 | ||
1e06725a | 930 | freg-struct-return |
87c75316 | 931 | Common Report Var(flag_pcc_struct_return,0) VarExists Optimization |
72528c71 | 932 | Return small aggregates in registers |
1e06725a | 933 | |
ecdb6d1a | 934 | fregmove |
87c75316 | 935 | Common Report Var(flag_regmove) Optimization |
72528c71 | 936 | Enables a register move optimization |
ecdb6d1a | 937 | |
938 | frename-registers | |
87c75316 | 939 | Common Report Var(flag_rename_registers) Init(2) Optimization |
72528c71 | 940 | Perform a register renaming optimization pass |
ecdb6d1a | 941 | |
942 | freorder-blocks | |
87c75316 | 943 | Common Report Var(flag_reorder_blocks) Optimization |
72528c71 | 944 | Reorder basic blocks to improve code placement |
ecdb6d1a | 945 | |
4f18499c | 946 | freorder-blocks-and-partition |
87c75316 | 947 | Common Report Var(flag_reorder_blocks_and_partition) Optimization |
4f18499c | 948 | Reorder basic blocks and partition into hot and cold sections |
949 | ||
ecdb6d1a | 950 | freorder-functions |
87c75316 | 951 | Common Report Var(flag_reorder_functions) Optimization |
72528c71 | 952 | Reorder functions to improve code placement |
ecdb6d1a | 953 | |
1e06725a | 954 | frerun-cse-after-loop |
87c75316 | 955 | Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization |
72528c71 | 956 | Add a common subexpression elimination pass after loop optimizations |
1e06725a | 957 | |
4f87b914 | 958 | frerun-loop-opt |
959 | Common | |
334ec2d8 | 960 | Does nothing. Preserved for backward compatibility. |
4f87b914 | 961 | |
5466f589 | 962 | frounding-math |
87c75316 | 963 | Common Report Var(flag_rounding_math) Optimization |
5466f589 | 964 | Disable optimizations that assume default FP rounding behavior |
965 | ||
ecdb6d1a | 966 | fsched-interblock |
87c75316 | 967 | Common Report Var(flag_schedule_interblock) Init(1) Optimization |
72528c71 | 968 | Enable scheduling across basic blocks |
ecdb6d1a | 969 | |
970 | fsched-spec | |
87c75316 | 971 | Common Report Var(flag_schedule_speculative) Init(1) Optimization |
72528c71 | 972 | Allow speculative motion of non-loads |
ecdb6d1a | 973 | |
974 | fsched-spec-load | |
87c75316 | 975 | Common Report Var(flag_schedule_speculative_load) Optimization |
72528c71 | 976 | Allow speculative motion of some loads |
ecdb6d1a | 977 | |
978 | fsched-spec-load-dangerous | |
87c75316 | 979 | Common Report Var(flag_schedule_speculative_load_dangerous) Optimization |
72528c71 | 980 | Allow speculative motion of more loads |
ecdb6d1a | 981 | |
1e06725a | 982 | fsched-verbose= |
983 | Common RejectNegative Joined | |
53b8e5c1 | 984 | -fsched-verbose=<number> Set the verbosity level of the scheduler |
1e06725a | 985 | |
ecdb6d1a | 986 | fsched2-use-superblocks |
87c75316 | 987 | Common Report Var(flag_sched2_use_superblocks) Optimization |
72528c71 | 988 | If scheduling post reload, do superblock scheduling |
ecdb6d1a | 989 | |
990 | fsched2-use-traces | |
87c75316 | 991 | Common Report Var(flag_sched2_use_traces) Optimization |
72528c71 | 992 | If scheduling post reload, do trace scheduling |
ecdb6d1a | 993 | |
1e06725a | 994 | fschedule-insns |
87c75316 | 995 | Common Report Var(flag_schedule_insns) Optimization |
72528c71 | 996 | Reschedule instructions before register allocation |
1e06725a | 997 | |
998 | fschedule-insns2 | |
87c75316 | 999 | Common Report Var(flag_schedule_insns_after_reload) Optimization |
72528c71 | 1000 | Reschedule instructions after register allocation |
1e06725a | 1001 | |
e1ab7874 | 1002 | ; This flag should be on when a target implements non-trivial |
1003 | ; scheduling hooks, maybe saving some information for its own sake. | |
1004 | ; On IA64, for example, this is used for correct bundling. | |
1005 | fselective-scheduling | |
1006 | Common Report Var(flag_selective_scheduling) Optimization | |
1007 | Schedule instructions using selective scheduling algorithm | |
1008 | ||
1009 | fselective-scheduling2 | |
1010 | Common Report Var(flag_selective_scheduling2) Optimization | |
1011 | Run selective scheduling after reload | |
1012 | ||
1013 | fsel-sched-pipelining | |
1014 | Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization | |
1015 | Perform software pipelining of inner loops during selective scheduling | |
1016 | ||
1017 | fsel-sched-pipelining-outer-loops | |
1018 | Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization | |
1019 | Perform software pipelining of outer loops during selective scheduling | |
1020 | ||
1021 | fsel-sched-reschedule-pipelined | |
1022 | Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization | |
1023 | Reschedule pipelined regions without pipelining | |
1024 | ||
82a16202 | 1025 | ; sched_stalled_insns means that insns can be moved prematurely from the queue |
1026 | ; of stalled insns into the ready list. | |
52c4b43f | 1027 | fsched-stalled-insns |
46f8e3b0 | 1028 | Common Report Var(flag_sched_stalled_insns) Optimization UInteger |
52c4b43f | 1029 | Allow premature scheduling of queued insns |
1030 | ||
1031 | fsched-stalled-insns= | |
a0c938f0 | 1032 | Common RejectNegative Joined UInteger |
98b93ebb | 1033 | -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled |
52c4b43f | 1034 | |
82a16202 | 1035 | ; sched_stalled_insns_dep controls how many recently scheduled cycles will |
1036 | ; be examined for a dependency on a stalled insn that is candidate for | |
1037 | ; premature removal from the queue of stalled insns into the ready list (has | |
1038 | ; an effect only if the flag 'sched_stalled_insns' is set). | |
52c4b43f | 1039 | fsched-stalled-insns-dep |
46f8e3b0 | 1040 | Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger |
52c4b43f | 1041 | Set dependence distance checking in premature scheduling of queued insns |
1042 | ||
1043 | fsched-stalled-insns-dep= | |
1044 | Common RejectNegative Joined UInteger | |
98b93ebb | 1045 | -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns |
52c4b43f | 1046 | |
f2d0e9f1 | 1047 | fsection-anchors |
87c75316 | 1048 | Common Report Var(flag_section_anchors) Optimization |
f2d0e9f1 | 1049 | Access data in the same section from shared anchor points |
1050 | ||
2b74c150 | 1051 | fsee |
1052 | Common Report Var(flag_see) Init(0) | |
1053 | Eliminate redundant sign extensions using LCM. | |
1054 | ||
5fd4bf3b | 1055 | fshow-column |
3df4c876 | 1056 | Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(0) |
1057 | Show column numbers in diagnostics, when available. Default off | |
5fd4bf3b | 1058 | |
ecdb6d1a | 1059 | fsignaling-nans |
87c75316 | 1060 | Common Report Var(flag_signaling_nans) Optimization |
72528c71 | 1061 | Disable optimizations observable by IEEE signaling NaNs |
ecdb6d1a | 1062 | |
893038cd | 1063 | fsigned-zeros |
e8831472 | 1064 | Common Report Var(flag_signed_zeros) Init(1) Optimization |
893038cd | 1065 | Disable floating point optimizations that ignore the IEEE signedness of zero |
1066 | ||
ecdb6d1a | 1067 | fsingle-precision-constant |
87c75316 | 1068 | Common Report Var(flag_single_precision_constant) Optimization |
72528c71 | 1069 | Convert floating point constants to single precision constants |
ecdb6d1a | 1070 | |
a9989fb4 | 1071 | fsplit-ivs-in-unroller |
87c75316 | 1072 | Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization |
3284a242 | 1073 | Split lifetimes of induction variables when loops are unrolled |
a9989fb4 | 1074 | |
1a6a0f2a | 1075 | fsplit-wide-types |
e8831472 | 1076 | Common Report Var(flag_split_wide_types) Optimization |
1a6a0f2a | 1077 | Split wide types into independent registers |
1078 | ||
375bb675 | 1079 | fvariable-expansion-in-unroller |
87c75316 | 1080 | Common Report Var(flag_variable_expansion_in_unroller) Optimization |
3284a242 | 1081 | Apply variable expansion when loops are unrolled |
375bb675 | 1082 | |
4852b829 | 1083 | fstack-check= |
1084 | Common Report RejectNegative Joined | |
1085 | -fstack-check=[no|generic|specific] Insert stack checking code into the program | |
1086 | ||
ecdb6d1a | 1087 | fstack-check |
4852b829 | 1088 | Common Report |
1089 | Insert stack checking code into the program. Same as -fstack-check=specific | |
ecdb6d1a | 1090 | |
1e06725a | 1091 | fstack-limit |
1092 | Common | |
1093 | ||
941a4893 | 1094 | fstack-limit-register= |
1095 | Common RejectNegative Joined | |
53b8e5c1 | 1096 | -fstack-limit-register=<register> Trap if the stack goes past <register> |
941a4893 | 1097 | |
1098 | fstack-limit-symbol= | |
1099 | Common RejectNegative Joined | |
53b8e5c1 | 1100 | -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name> |
941a4893 | 1101 | |
f1a0edff | 1102 | fstack-protector |
1103 | Common Report Var(flag_stack_protect, 1) | |
1104 | Use propolice as a stack protection method | |
1105 | ||
1106 | fstack-protector-all | |
1107 | Common Report RejectNegative Var(flag_stack_protect, 2) VarExists | |
1108 | Use a stack protection method for every function | |
1109 | ||
1e06725a | 1110 | fstrength-reduce |
4f87b914 | 1111 | Common |
334ec2d8 | 1112 | Does nothing. Preserved for backward compatibility. |
1e06725a | 1113 | |
82a16202 | 1114 | ; Nonzero if we should do (language-dependent) alias analysis. |
1115 | ; Typically, this analysis will assume that expressions of certain | |
1116 | ; types do not alias expressions of certain other types. Only used | |
1117 | ; if alias analysis (in general) is enabled. | |
ecdb6d1a | 1118 | fstrict-aliasing |
87c75316 | 1119 | Common Report Var(flag_strict_aliasing) Optimization |
72528c71 | 1120 | Assume strict aliasing rules apply |
ecdb6d1a | 1121 | |
981eb798 | 1122 | fstrict-overflow |
1123 | Common Report Var(flag_strict_overflow) | |
1124 | Treat signed overflow as undefined | |
1125 | ||
1e06725a | 1126 | fsyntax-only |
2e9da478 | 1127 | Common Report Var(flag_syntax_only) |
72528c71 | 1128 | Check for syntax errors, then stop |
1e06725a | 1129 | |
ecdb6d1a | 1130 | ftest-coverage |
2e9da478 | 1131 | Common Report Var(flag_test_coverage) |
72528c71 | 1132 | Create data files needed by \"gcov\" |
ecdb6d1a | 1133 | |
1e06725a | 1134 | fthread-jumps |
87c75316 | 1135 | Common Report Var(flag_thread_jumps) Optimization |
72528c71 | 1136 | Perform jump threading optimizations |
1e06725a | 1137 | |
ecdb6d1a | 1138 | ftime-report |
2e9da478 | 1139 | Common Report Var(time_report) |
72528c71 | 1140 | Report the time taken by each compiler pass |
ecdb6d1a | 1141 | |
941a4893 | 1142 | ftls-model= |
1143 | Common Joined RejectNegative | |
53b8e5c1 | 1144 | -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model |
941a4893 | 1145 | |
56af936e | 1146 | ftoplevel-reorder |
8188ae06 | 1147 | Common Report Var(flag_toplevel_reorder) Init(2) Optimization |
56af936e | 1148 | Reorder top level functions, variables, and asms |
1149 | ||
1e06725a | 1150 | ftracer |
2e9da478 | 1151 | Common Report Var(flag_tracer) |
72528c71 | 1152 | Perform superblock formation via tail duplication |
1e06725a | 1153 | |
82a16202 | 1154 | ; Zero means that floating-point math operations cannot generate a |
1155 | ; (user-visible) trap. This is the case, for example, in nonstop | |
1156 | ; IEEE 754 arithmetic. | |
ecdb6d1a | 1157 | ftrapping-math |
87c75316 | 1158 | Common Report Var(flag_trapping_math) Init(1) Optimization |
72528c71 | 1159 | Assume floating-point operations can trap |
ecdb6d1a | 1160 | |
1161 | ftrapv | |
87c75316 | 1162 | Common Report Var(flag_trapv) Optimization |
72528c71 | 1163 | Trap for signed overflow in addition, subtraction and multiplication |
ecdb6d1a | 1164 | |
4ee9c684 | 1165 | ftree-ccp |
87c75316 | 1166 | Common Report Var(flag_tree_ccp) Optimization |
4ee9c684 | 1167 | Enable SSA-CCP optimization on trees |
1168 | ||
88dbf20f | 1169 | ftree-store-ccp |
61207d43 | 1170 | Common |
1171 | Does nothing. Preserved for backward compatibility. | |
88dbf20f | 1172 | |
4ee9c684 | 1173 | ftree-ch |
87c75316 | 1174 | Common Report Var(flag_tree_ch) Optimization |
4ee9c684 | 1175 | Enable loop header copying on trees |
1176 | ||
4ee9c684 | 1177 | ftree-copyrename |
87c75316 | 1178 | Common Report Var(flag_tree_copyrename) Optimization |
3284a242 | 1179 | Replace SSA temporaries with better names in copies |
4ee9c684 | 1180 | |
88dbf20f | 1181 | ftree-copy-prop |
87c75316 | 1182 | Common Report Var(flag_tree_copy_prop) Optimization |
88dbf20f | 1183 | Enable copy propagation on trees |
1184 | ||
1185 | ftree-store-copy-prop | |
317d3b82 | 1186 | Common |
578ef723 | 1187 | Does nothing. Preserved for backward compatibility. |
88dbf20f | 1188 | |
e6d0e152 | 1189 | ftree-cselim |
1190 | Common Report Var(flag_tree_cselim) Init(2) Optimization | |
1191 | Transform condition stores into unconditional ones | |
1192 | ||
a347af29 | 1193 | ftree-switch-conversion |
1194 | Common Report Var(flag_tree_switch_conversion) Optimization | |
1195 | Perform conversions of switch initializations. | |
1196 | ||
4ee9c684 | 1197 | ftree-dce |
87c75316 | 1198 | Common Report Var(flag_tree_dce) Optimization |
4ee9c684 | 1199 | Enable SSA dead code elimination optimization on trees |
1200 | ||
1201 | ftree-dominator-opts | |
87c75316 | 1202 | Common Report Var(flag_tree_dom) Optimization |
4ee9c684 | 1203 | Enable dominator optimizations |
1204 | ||
1205 | ftree-dse | |
87c75316 | 1206 | Common Report Var(flag_tree_dse) Optimization |
4ee9c684 | 1207 | Enable dead store elimination |
1208 | ||
591c2a30 | 1209 | ftree-fre |
87c75316 | 1210 | Common Report Var(flag_tree_fre) Optimization |
591c2a30 | 1211 | Enable Full Redundancy Elimination (FRE) on trees |
1212 | ||
801c5610 | 1213 | ftree-loop-distribution |
2b945500 | 1214 | Common Report Var(flag_tree_loop_distribution) Optimization |
801c5610 | 1215 | Enable loop distribution on trees |
1216 | ||
41b5cc78 | 1217 | ftree-loop-im |
87c75316 | 1218 | Common Report Var(flag_tree_loop_im) Init(1) Optimization |
7d23383d | 1219 | Enable loop invariant motion on trees |
1220 | ||
60cfcb79 | 1221 | ftree-loop-linear |
87c75316 | 1222 | Common Report Var(flag_tree_loop_linear) Optimization |
60cfcb79 | 1223 | Enable linear loop transforms on trees |
1224 | ||
41b5cc78 | 1225 | ftree-loop-ivcanon |
87c75316 | 1226 | Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization |
41b5cc78 | 1227 | Create canonical induction variables in loops |
1228 | ||
dcb9eccb | 1229 | ftree-loop-optimize |
87c75316 | 1230 | Common Report Var(flag_tree_loop_optimize) Init(1) Optimization |
dcb9eccb | 1231 | Enable loop optimizations on tree level |
1232 | ||
28c92cbb | 1233 | ftree-parallelize-loops= |
1234 | Common Report Joined UInteger Var(flag_tree_parallelize_loops) Init(1) | |
1235 | Enable automatic parallelization of loops | |
1236 | ||
4ee9c684 | 1237 | ftree-pre |
87c75316 | 1238 | Common Report Var(flag_tree_pre) Optimization |
4ee9c684 | 1239 | Enable SSA-PRE optimization on trees |
1240 | ||
621a93b1 | 1241 | ftree-reassoc |
1242 | Common Report Var(flag_tree_reassoc) Init(1) Optimization | |
1243 | Enable reassociation on tree level | |
1244 | ||
2be14d8b | 1245 | ftree-salias |
70393469 | 1246 | Common |
1247 | Does nothing. Preserved for backward compatibility. | |
2be14d8b | 1248 | |
5e733b02 | 1249 | ftree-sink |
87c75316 | 1250 | Common Report Var(flag_tree_sink) Optimization |
5e733b02 | 1251 | Enable SSA code sinking on trees |
1252 | ||
4ee9c684 | 1253 | ftree-sra |
87c75316 | 1254 | Common Report Var(flag_tree_sra) Optimization |
4ee9c684 | 1255 | Perform scalar replacement of aggregates |
1256 | ||
1257 | ftree-ter | |
bff4202c | 1258 | Common Report Var(flag_tree_ter) Init(1) Optimization |
4ee9c684 | 1259 | Replace temporary expressions in the SSA->normal pass |
1260 | ||
87c75316 | 1261 | ftree-lrs |
1262 | Common Report Var(flag_tree_live_range_split) Optimization | |
1263 | Perform live range splitting during the SSA->normal pass | |
1264 | ||
88dbf20f | 1265 | ftree-vrp |
87c75316 | 1266 | Common Report Var(flag_tree_vrp) Init(0) Optimization |
88dbf20f | 1267 | Perform Value Range Propagation on trees |
1268 | ||
1e06725a | 1269 | funit-at-a-time |
8188ae06 | 1270 | Common Report Var(flag_unit_at_a_time) Init(1) Optimization |
72528c71 | 1271 | Compile whole compilation unit at a time |
1e06725a | 1272 | |
1273 | funroll-loops | |
87c75316 | 1274 | Common Report Var(flag_unroll_loops) Optimization |
72528c71 | 1275 | Perform loop unrolling when iteration count is known |
1e06725a | 1276 | |
1277 | funroll-all-loops | |
87c75316 | 1278 | Common Report Var(flag_unroll_all_loops) Optimization |
72528c71 | 1279 | Perform loop unrolling for all loops |
1e06725a | 1280 | |
7e3cc681 | 1281 | ; Nonzero means that loop optimizer may assume that the induction variables |
1282 | ; that control loops do not overflow and that the loops with nontrivial | |
1283 | ; exit condition are not infinite | |
1284 | funsafe-loop-optimizations | |
87c75316 | 1285 | Common Report Var(flag_unsafe_loop_optimizations) Optimization |
7e3cc681 | 1286 | Allow loop optimizations to assume that the loops behave in normal way |
1287 | ||
49d060d7 | 1288 | fassociative-math |
1289 | Common Report Var(flag_associative_math) | |
1290 | Allow optimization for floating-point arithmetic which may change the | |
1291 | result of the operation due to rounding. | |
1292 | ||
1293 | freciprocal-math | |
1294 | Common Report Var(flag_reciprocal_math) | |
1295 | Same as -fassociative-math for expressions which include division. | |
1296 | ||
82a16202 | 1297 | ; Nonzero means that unsafe floating-point math optimizations are allowed |
1298 | ; for the sake of speed. IEEE compliance is not guaranteed, and operations | |
1299 | ; are allowed to assume that their arguments and results are "normal" | |
1300 | ; (e.g., nonnegative for SQRT). | |
ecdb6d1a | 1301 | funsafe-math-optimizations |
87c75316 | 1302 | Common Report Var(flag_unsafe_math_optimizations) Optimization |
72528c71 | 1303 | Allow math optimizations that may violate IEEE or ISO standards |
ecdb6d1a | 1304 | |
1e06725a | 1305 | funswitch-loops |
87c75316 | 1306 | Common Report Var(flag_unswitch_loops) Optimization |
72528c71 | 1307 | Perform loop unswitching |
1e06725a | 1308 | |
ecdb6d1a | 1309 | funwind-tables |
87c75316 | 1310 | Common Report Var(flag_unwind_tables) Optimization |
72528c71 | 1311 | Just generate unwind tables for exception handling |
ecdb6d1a | 1312 | |
5923a5e7 | 1313 | fvar-tracking |
87c75316 | 1314 | Common Report Var(flag_var_tracking) VarExists Optimization |
5923a5e7 | 1315 | Perform variable tracking |
1316 | ||
d53bb226 | 1317 | fvar-tracking-uninit |
1318 | Common Report Var(flag_var_tracking_uninit) Optimization | |
1319 | Perform variable tracking and also tag variables that are uninitialized | |
1320 | ||
c91e8223 | 1321 | ftree-vectorize |
87c75316 | 1322 | Common Report Var(flag_tree_vectorize) Optimization |
c91e8223 | 1323 | Enable loop vectorization on trees |
1324 | ||
867c03eb | 1325 | fvect-cost-model |
1326 | Common Report Var(flag_vect_cost_model) Optimization | |
1327 | Enable use of cost model in vectorization | |
1328 | ||
25e3c2e8 | 1329 | ftree-vect-loop-version |
87c75316 | 1330 | Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization |
25e3c2e8 | 1331 | Enable loop versioning when doing loop vectorization on trees |
1332 | ||
459e8543 | 1333 | ftree-vectorizer-verbose= |
1334 | Common RejectNegative Joined | |
98b93ebb | 1335 | -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer |
459e8543 | 1336 | |
2a6e95ba | 1337 | ftree-scev-cprop |
e8831472 | 1338 | Common Report Var(flag_tree_scev_cprop) Init(1) Optimization |
2a6e95ba | 1339 | Enable copy propagation of scalar-evolution information. |
1340 | ||
82a16202 | 1341 | ; -fverbose-asm causes extra commentary information to be produced in |
1342 | ; the generated assembly code (to make it more readable). This option | |
1343 | ; is generally only of use to those who actually need to read the | |
1344 | ; generated assembly code (perhaps while debugging the compiler itself). | |
1345 | ; -fno-verbose-asm, the default, causes the extra information | |
1346 | ; to not be added and is useful when comparing two assembler files. | |
ecdb6d1a | 1347 | fverbose-asm |
2e9da478 | 1348 | Common Report Var(flag_verbose_asm) |
72528c71 | 1349 | Add extra commentary to assembler output |
ecdb6d1a | 1350 | |
b212f378 | 1351 | fvisibility= |
1352 | Common Joined RejectNegative | |
1353 | -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility | |
1354 | ||
1355 | ||
1c6a7b8c | 1356 | fvpt |
87c75316 | 1357 | Common Report Var(flag_value_profile_transformations) Optimization |
1c6a7b8c | 1358 | Use expression value profiles in optimizations |
1359 | ||
eeb4a70e | 1360 | fweb |
87c75316 | 1361 | Common Report Var(flag_web) Init(2) Optimization |
eeb4a70e | 1362 | Construct webs and split unrelated uses of single variable |
1363 | ||
e6a23add | 1364 | ftree-builtin-call-dce |
1365 | Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization | |
1366 | Enable conditional dead code elimination for builtin calls | |
1367 | ||
62eec3b4 | 1368 | fwhole-program |
87c75316 | 1369 | Common Report Var(flag_whole_program) Init(0) Optimization |
62eec3b4 | 1370 | Perform whole program optimizations |
1371 | ||
ecdb6d1a | 1372 | fwrapv |
87c75316 | 1373 | Common Report Var(flag_wrapv) Optimization |
72528c71 | 1374 | Assume signed arithmetic overflow wraps around |
ecdb6d1a | 1375 | |
ecdb6d1a | 1376 | fzero-initialized-in-bss |
2e9da478 | 1377 | Common Report Var(flag_zero_initialized_in_bss) Init(1) |
72528c71 | 1378 | Put zero initialized data in the bss section |
ecdb6d1a | 1379 | |
6f2f567f | 1380 | g |
1381 | Common JoinedOrMissing | |
b0e56fb1 | 1382 | Generate debug information in default format |
1383 | ||
1384 | gcoff | |
a1baa5f1 | 1385 | Common JoinedOrMissing Negative(gdwarf-2) |
b0e56fb1 | 1386 | Generate debug information in COFF format |
1387 | ||
b0e56fb1 | 1388 | gdwarf-2 |
a1baa5f1 | 1389 | Common JoinedOrMissing Negative(gstabs) |
b0e56fb1 | 1390 | Generate debug information in DWARF v2 format |
1391 | ||
1392 | ggdb | |
1393 | Common JoinedOrMissing | |
1394 | Generate debug information in default extended format | |
1395 | ||
1396 | gstabs | |
a1baa5f1 | 1397 | Common JoinedOrMissing Negative(gstabs+) |
b0e56fb1 | 1398 | Generate debug information in STABS format |
1399 | ||
1400 | gstabs+ | |
a1baa5f1 | 1401 | Common JoinedOrMissing Negative(gvms) |
b0e56fb1 | 1402 | Generate debug information in extended STABS format |
1403 | ||
1404 | gvms | |
a1baa5f1 | 1405 | Common JoinedOrMissing Negative(gxcoff) |
b0e56fb1 | 1406 | Generate debug information in VMS format |
1407 | ||
1408 | gxcoff | |
a1baa5f1 | 1409 | Common JoinedOrMissing Negative(gxcoff+) |
b0e56fb1 | 1410 | Generate debug information in XCOFF format |
1411 | ||
1412 | gxcoff+ | |
a1baa5f1 | 1413 | Common JoinedOrMissing Negative(gcoff) |
b0e56fb1 | 1414 | Generate debug information in extended XCOFF format |
6f2f567f | 1415 | |
e690b385 | 1416 | o |
1417 | Common Joined Separate | |
53b8e5c1 | 1418 | -o <file> Place output into <file> |
e690b385 | 1419 | |
1420 | p | |
2e9da478 | 1421 | Common Var(profile_flag) |
53b8e5c1 | 1422 | Enable function profiling |
e690b385 | 1423 | |
1424 | pedantic | |
2e9da478 | 1425 | Common Var(pedantic) |
53b8e5c1 | 1426 | Issue warnings needed for strict compliance to the standard |
e690b385 | 1427 | |
1428 | pedantic-errors | |
1429 | Common | |
53b8e5c1 | 1430 | Like -pedantic but issue them as errors |
e690b385 | 1431 | |
3272db82 | 1432 | quiet |
2e9da478 | 1433 | Common Var(quiet_flag) |
53b8e5c1 | 1434 | Do not display functions compiled or elapsed time |
3272db82 | 1435 | |
e690b385 | 1436 | version |
2e9da478 | 1437 | Common Var(version_flag) |
53b8e5c1 | 1438 | Display the compiler's version |
e690b385 | 1439 | |
1440 | w | |
2e9da478 | 1441 | Common Var(inhibit_warnings) |
53b8e5c1 | 1442 | Suppress warnings |
e690b385 | 1443 | |
794febf8 | 1444 | shared |
1445 | Common RejectNegative Negative(pie) | |
1446 | Create a shared library | |
1447 | ||
1448 | pie | |
1449 | Common RejectNegative Negative(shared) | |
1450 | Create a position independent executable | |
1451 | ||
3272db82 | 1452 | ; This comment is to ensure we retain the blank line above. |