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