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