1 ; Options for the language- and target-independent parts of the compiler.
3 ; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
5 ; This file is part of GCC.
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
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
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
22 ; See the GCC internals manual for a description of this file's format.
24 ; Please try to keep this file in ASCII collating order.
28 Display this information
32 --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
41 Common Joined Separate UInteger
42 -G<number> Put global and static data smaller than <number> bytes into a special section (on some targets)
45 Common JoinedOrMissing
46 -O<number> Set optimization level to <number>
50 Optimize for space rather than speed
54 This switch is deprecated; use -Wextra instead
57 Common Var(warn_aggregate_return)
58 Warn about returning structures, unions or arrays
61 Common Var(warn_always_true)
62 Warn about comparisons that always evaluate to true
65 Common Var(warn_attributes) Init(1)
66 Warn about inappropriate attribute usage
69 Common Var(warn_cast_align)
70 Warn about pointer casts which increase alignment
72 Wdeprecated-declarations
73 Common Var(warn_deprecated_decl) Init(1)
74 Warn about uses of __attribute__((deprecated)) declarations
76 Wdisabled-optimization
77 Common Var(warn_disabled_optimization)
78 Warn when an optimization pass is disabled
81 Common Var(warnings_are_errors)
82 Treat all warnings as errors
86 Print extra (possibly unwanted) warnings
89 Common Var(flag_fatal_errors)
90 Exit on the first error occurred
93 Common Var(warn_inline)
94 Warn when an inlined function cannot be inlined
97 Common RejectNegative Joined UInteger
98 -Wlarger-than-<number> Warn if an object is larger than <number> bytes
100 Wunsafe-loop-optimizations
101 Common Var(warn_unsafe_loop_optimizations)
102 Warn if the loop cannot be optimized due to nontrivial assumptions.
105 Common Var(warn_missing_noreturn)
106 Warn about functions which might be candidates for __attribute__((noreturn))
109 Common Var(warn_packed)
110 Warn when the packed attribute has no effect on struct layout
113 Common Var(warn_padded)
114 Warn when padding is required to align structure members
117 Common Var(warn_shadow)
118 Warn when one local variable shadows another
121 Common Var(warn_stack_protect)
122 Warn when not issuing stack smashing protection for some reason
126 Warn about code which might break strict aliasing rules
129 Common Joined UInteger
130 Warn about code which might break strict aliasing rules
132 Wstring-literal-comparison
133 Common Var(warn_string_literal_comparison)
134 Warn about comparisons to constant string literals
137 Common Var(warn_switch)
138 Warn about enumerated switches, with no default, missing a case
141 Common Var(warn_switch_default)
142 Warn about enumerated switches missing a \"default:\" statement
145 Common Var(warn_switch_enum)
146 Warn about all enumerated switches missing a specific case
149 Common Var(warn_system_headers)
150 Do not suppress warnings from system headers
153 Common Var(warn_uninitialized)
154 Warn about uninitialized automatic variables
157 Common Var(warn_notreached)
158 Warn about code that will never be executed
162 Enable all -Wunused- warnings
165 Common Var(warn_unused_function)
166 Warn when a function is unused
169 Common Var(warn_unused_label)
170 Warn when a label is unused
173 Common Var(warn_unused_parameter)
174 Warn when a function parameter is unused
177 Common Var(warn_unused_value)
178 Warn when an expression value is unused
181 Common Var(warn_unused_variable)
182 Warn when a variable is unused
184 Wvolatile-register-var
185 Common Var(warn_register_var)
186 Warn when a register variable is declared volatile
190 -aux-info <file> Emit declaration information into <file>
203 -d<letters> Enable dumps from specific passes of the compiler
207 -dumpbase <file> Set the file basename to be used for dumps
209 ; The version of the C++ ABI in use. The following values are allowed:
211 ; 0: The version of the ABI believed most conformant with the C++ ABI
212 ; specification. This ABI may change as bugs are discovered and fixed.
213 ; Therefore, 0 will not necessarily indicate the same ABI in different
216 ; 1: The version of the ABI first used in G++ 3.2.
218 ; Additional positive integers will be assigned as new versions of
219 ; the ABI become the default version of the ABI.
221 Common Joined UInteger Var(flag_abi_version) Init(2)
224 Common Report Var(align_functions,0)
225 Align the start of functions
228 Common RejectNegative Joined UInteger
231 Common Report Var(align_jumps,0)
232 Align labels which are only reached by jumping
235 Common RejectNegative Joined UInteger
238 Common Report Var(align_labels,0)
242 Common RejectNegative Joined UInteger
245 Common Report Var(align_loops)
246 Align the start of loops
249 Common RejectNegative Joined UInteger
251 ; This flag is only tested if alias checking is enabled.
252 ; 0 if pointer arguments may alias each other. True in C.
253 ; 1 if pointer arguments may not alias each other but may alias
255 ; 2 if pointer arguments may not alias each other and may not
256 ; alias global variables. True in Fortran.
258 Common Report Var(flag_argument_noalias,0)
259 Specify that arguments may alias each other and globals
262 Common Report Var(flag_argument_noalias,1) VarExists
263 Assume arguments may alias globals but not each other
265 fargument-noalias-global
266 Common Report Var(flag_argument_noalias,2) VarExists
267 Assume arguments alias neither each other nor globals
269 fasynchronous-unwind-tables
270 Common Report Var(flag_asynchronous_unwind_tables)
271 Generate unwind tables that are exact at each instruction boundary
273 ; -fcheck-bounds causes gcc to generate array bounds checks.
274 ; For C, C++ and ObjC: defaults off.
275 ; For Java: defaults to on.
276 ; For Fortran: defaults to off.
278 Common Report Var(flag_bounds_check)
279 Generate code to check bounds before indexing arrays
282 Common Report Var(flag_branch_on_count_reg) Init(1)
283 Replace add, compare, branch with branch on count register
285 fbranch-probabilities
286 Common Report Var(flag_branch_probabilities)
287 Use profiling information for branch probabilities
289 fbranch-target-load-optimize
290 Common Report Var(flag_branch_target_load_optimize)
291 Perform branch target load optimization before prologue / epilogue threading
293 fbranch-target-load-optimize2
294 Common Report Var(flag_branch_target_load_optimize2)
295 Perform branch target load optimization after prologue / epilogue threading
298 Common Report Var(flag_btr_bb_exclusive)
299 Restrict target load migration not to re-use registers in any basic block
302 Common Joined RejectNegative
303 -fcall-saved-<register> Mark <register> as being preserved across functions
306 Common Joined RejectNegative
307 -fcall-used-<register> Mark <register> as being corrupted by function calls
309 ; Nonzero for -fcaller-saves: allocate values in regs that need to
310 ; be saved across function calls, if that produces overall better code.
311 ; Optional now, so people can test it.
313 Common Report Var(flag_caller_saves)
314 Save registers around function calls
317 Common Report Var(flag_check_data_deps)
318 Compare the results of several data dependence analyzers.
321 Common Report Var(flag_no_common,0)
322 Do not put uninitialized globals in the common section
325 Common Report Var(flag_cprop_registers)
326 Perform a register copy-propagation optimization pass
329 Common Report Var(flag_crossjumping)
330 Perform cross-jumping optimization
333 Common Report Var(flag_cse_follow_jumps)
334 When running CSE, follow jumps to their targets
337 Common Report Var(flag_cse_skip_blocks)
338 When running CSE, follow conditional jumps
341 Common Report Var(flag_cx_limited_range)
342 Omit range reduction step when performing complex division
345 Common Report Var(flag_data_sections)
346 Place data items into their own section
348 ; Nonzero for -fdefer-pop: don't pop args after each function call
349 ; instead save them up to pop many calls' args with one insns.
351 Common Report Var(flag_defer_pop)
352 Defer popping functions args from stack until later
355 Common Report Var(flag_delayed_branch)
356 Attempt to fill delay slots of branch instructions
358 fdelete-null-pointer-checks
359 Common Report Var(flag_delete_null_pointer_checks)
360 Delete useless null pointer checks
362 fdiagnostics-show-location=
363 Common Joined RejectNegative
364 -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
366 fdiagnostics-show-option
368 Amend appropriate diagnostic messages with the command line option that controls them
371 Common Joined RejectNegative
372 -fdump-<type> Dump various compiler internals to a file
375 Common Report Var(flag_dump_unnumbered) VarExists
376 Suppress output of instruction numbers and line number notes in debugging dumps
379 Common Report Var(flag_early_inlining) Init(1)
380 Perform early inlining
383 Common Report Var(flag_tree_early_loop_optimize)
387 feliminate-dwarf2-dups
388 Common Report Var(flag_eliminate_dwarf2_dups)
389 Perform DWARF2 duplicate elimination
391 feliminate-unused-debug-symbols
392 Common Report Var(flag_debug_only_used_symbols)
393 Perform unused type elimination in debug info
395 feliminate-unused-debug-types
396 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
397 Perform unused type elimination in debug info
400 Common Report Var(flag_exceptions)
401 Enable exception handling
403 fexpensive-optimizations
404 Common Report Var(flag_expensive_optimizations)
405 Perform a number of minor, expensive optimizations
411 Common Report Var(flag_finite_math_only)
412 Assume no NaNs or infinities are generated
415 Common Joined RejectNegative
416 -ffixed-<register> Mark <register> as being unavailable to the compiler
419 Common Report Var(flag_float_store)
420 Don't allocate floats and doubles in extended-precision registers
422 ; Nonzero for -fforce-addr: load memory address into a register before
423 ; reference to memory. This makes better cse but slower compilation.
425 Common Report Var(flag_force_addr)
426 Copy memory address constants into registers before use
428 ; Nonzero for -fforce-mem: load memory value into a register
429 ; before arithmetic on it. This makes better cse but slower compilation.
431 Common Report Var(flag_force_mem)
432 Copy memory operands into registers before use
434 ; Nonzero means don't put addresses of constant functions in registers.
435 ; Used for compiling the Unix kernel, where strange substitutions are
436 ; done on the assembly output.
438 Common Report Var(flag_no_function_cse,0)
439 Allow function addresses to be held in registers
442 Common Report Var(flag_function_sections)
443 Place each function into its own section
446 Common Report Var(flag_gcse)
447 Perform global common subexpression elimination
450 Common Report Var(flag_gcse_lm) Init(1)
451 Perform enhanced load motion during global common subexpression elimination
454 Common Report Var(flag_gcse_sm) Init(0)
455 Perform store motion after global common subexpression elimination
458 Common Report Var(flag_gcse_las) Init(0)
459 Perform redundant load after store elimination in global common subexpression
463 Common Report Var(flag_gcse_after_reload)
464 Perform global common subexpression elimination after register allocation
467 fguess-branch-probability
468 Common Report Var(flag_guess_branch_prob)
469 Enable guessing of branch probabilities
471 ; Nonzero means ignore `#ident' directives. 0 means handle them.
472 ; Generate position-independent code for executables if possible
473 ; On SVR4 targets, it also controls whether or not to emit a
474 ; string identifying the compiler.
476 Common Report Var(flag_no_ident,0)
477 Process #ident directives
480 Common Report Var(flag_if_conversion)
481 Perform conversion of conditional jumps to branchless equivalents
484 Common Report Var(flag_if_conversion2)
485 Perform conversion of conditional jumps to conditional execution
487 ; -finhibit-size-directive inhibits output of .size for ELF.
488 ; This is used only for compiling crtstuff.c,
489 ; and it may be extended to other effects
490 ; needed for crtstuff.c on other systems.
491 finhibit-size-directive
492 Common Report Var(flag_inhibit_size_directive)
493 Do not generate .size directives
495 ; Nonzero means that functions declared `inline' will be treated
496 ; as `static'. Prevents generation of zillions of copies of unused
497 ; static inline functions; instead, `inlines' are written out
498 ; only when actually used. Used in conjunction with -g. Also
499 ; does the right thing with #pragma interface.
501 Common Report Var(flag_no_inline,0) Init(2)
502 Pay attention to the \"inline\" keyword
505 Common Report Var(flag_inline_functions)
506 Integrate simple functions into their callers
508 finline-functions-called-once
509 Common Report Var(flag_inline_functions_called_once) Init(1)
510 Integrate functions called once into their callers
513 Common RejectNegative Joined UInteger
516 Common RejectNegative Joined UInteger
517 -finline-limit=<number> Limit the size of inlined functions to <number>
519 finstrument-functions
520 Common Report Var(flag_instrument_function_entry_exit)
521 Instrument function entry and exit with profiling calls
524 Common Report Var(flag_cv)
525 Perform call versioning
528 Common Report Var(flag_ipa_cp)
529 Perform Interprocedural constant propagation
532 Common Report Var(flag_ipa_pure_const) Init(0)
533 Discover pure and const functions
536 Common Report Var(flag_ipa_reference) Init(0)
537 Discover readonly and non addressable static variables
540 Common Report Var(flag_ipa_type_escape) Init(0)
541 Type based escape and alias analysis
544 Common Report Var(flag_ivopts) Init(1)
545 Optimize induction variables on trees
548 Common Var(flag_jump_tables) Init(1)
549 Use jump tables for sufficiently large switch statements
551 fkeep-inline-functions
552 Common Report Var(flag_keep_inline_functions)
553 Generate code for functions even if they are fully inlined
556 Common Report Var(flag_keep_static_consts) Init(1)
557 Emit static const variables even if they are not used
560 Common Report Var(flag_leading_underscore) Init(-1)
561 Give external symbols a leading underscore
564 Common Report Var(flag_loop_optimize)
565 Perform loop optimizations
568 Common Report Var(flag_loop_optimize2)
569 Perform loop optimizations using the new loop optimizer
572 Common Report Var(flag_errno_math) Init(1)
573 Set errno after built-in math functions
576 Common Report Var(mem_report)
577 Report on permanent memory allocation
579 ; This will attempt to merge constant section constants, if 1 only
580 ; string constants and constants from constant pool, if 2 also constant
583 Common Report Var(flag_merge_constants,2) Init(1)
584 Attempt to merge identical constants and constant variables
587 Common Report Var(flag_merge_constants,1) VarExists
588 Attempt to merge identical constants across compilation units
591 Common RejectNegative Joined UInteger
592 -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
595 Common Report Var(flag_modulo_sched)
596 Perform SMS based modulo scheduling before the first scheduling pass
599 Common Report Var(flag_rtl_loop_hc)
600 Perform loop header copying at RTL level.
602 fmove-loop-invariants
603 Common Report Var(flag_move_loop_invariants)
604 Move loop invariant computations out of loops
607 Common RejectNegative Report Var(flag_mudflap)
608 Add mudflap bounds-checking instrumentation for single-threaded program
611 Common RejectNegative Report Var(flag_mudflap_threads)
612 Add mudflap bounds-checking instrumentation for multi-threaded program
615 Common RejectNegative Report Var(flag_mudflap_ignore_reads)
616 Ignore read operations when inserting mudflap instrumentation
618 freschedule-modulo-scheduled-loops
619 Common Report Var(flag_resched_modulo_sched)
620 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
623 Common Report Var(flag_non_call_exceptions)
624 Support synchronous non-call exceptions
627 Common Report Var(flag_omit_frame_pointer)
628 When possible do not generate stack frames
630 foptimize-register-move
631 Common Report Var(flag_regmove)
632 Do the full register move optimization pass
634 foptimize-sibling-calls
635 Common Report Var(flag_optimize_sibling_calls)
636 Optimize sibling and tail recursive calls
639 Common Report Var(flag_pack_struct)
640 Pack structure members together without holes
643 Common RejectNegative Joined UInteger
644 -fpack-struct=<number> Set initial maximum structure member alignment
647 Common Report Var(flag_pcc_struct_return,1) VarExists
648 Return small aggregates in memory, not registers
651 Common Report Var(flag_peel_loops)
655 Common Report Var(flag_no_peephole,0)
656 Enable machine specific peephole optimizations
659 Common Report Var(flag_peephole2)
660 Enable an RTL peephole pass before sched2
663 Common Report Var(flag_pic,2)
664 Generate position-independent code if possible (large mode)
667 Common Report Var(flag_pie,2)
668 Generate position-independent code for executables if possible (large mode)
671 Common Report Var(flag_pic,1) VarExists
672 Generate position-independent code if possible (small mode)
675 Common Report Var(flag_pie,1) VarExists
676 Generate position-independent code for executables if possible (small mode)
678 fprefetch-loop-arrays
679 Common Report Var(flag_prefetch_loop_arrays)
680 Generate prefetch instructions, if available, for arrays in loops
683 Common Report Var(profile_flag)
684 Enable basic program profiling code
687 Common Report Var(profile_arc_flag)
688 Insert arc-based program profiling code
692 Enable common options for generating profile info for profile feedback directed optimizations
696 Enable common options for performing profile feedback directed optimizations
699 Common Report Var(flag_profile_values)
700 Insert code to profile values of expressions
706 Common Joined RejectNegative
707 -frandom-seed=<string> Make compile reproducible using <string>
710 Common Report Var(flag_pcc_struct_return,0) VarExists
711 Return small aggregates in registers
714 Common Report Var(flag_regmove)
715 Enables a register move optimization
718 Common Report Var(flag_rename_registers) Init(2)
719 Perform a register renaming optimization pass
722 Common Report Var(flag_reorder_blocks)
723 Reorder basic blocks to improve code placement
725 freorder-blocks-and-partition
726 Common Report Var(flag_reorder_blocks_and_partition)
727 Reorder basic blocks and partition into hot and cold sections
730 Common Report Var(flag_reorder_functions)
731 Reorder functions to improve code placement
733 frerun-cse-after-loop
734 Common Report Var(flag_rerun_cse_after_loop) Init(2)
735 Add a common subexpression elimination pass after loop optimizations
738 Common Report Var(flag_rerun_loop_opt)
739 Run the loop optimizer twice
742 Common Report Var(flag_rounding_math)
743 Disable optimizations that assume default FP rounding behavior
746 Common Report Var(flag_schedule_interblock) Init(1)
747 Enable scheduling across basic blocks
750 Common Report Var(flag_schedule_speculative) Init(1)
751 Allow speculative motion of non-loads
754 Common Report Var(flag_schedule_speculative_load)
755 Allow speculative motion of some loads
757 fsched-spec-load-dangerous
758 Common Report Var(flag_schedule_speculative_load_dangerous)
759 Allow speculative motion of more loads
762 Common RejectNegative Joined
763 -fsched-verbose=<number> Set the verbosity level of the scheduler
765 fsched2-use-superblocks
766 Common Report Var(flag_sched2_use_superblocks)
767 If scheduling post reload, do superblock scheduling
770 Common Report Var(flag_sched2_use_traces)
771 If scheduling post reload, do trace scheduling
774 Common Report Var(flag_schedule_insns)
775 Reschedule instructions before register allocation
778 Common Report Var(flag_schedule_insns_after_reload)
779 Reschedule instructions after register allocation
781 ; sched_stalled_insns means that insns can be moved prematurely from the queue
782 ; of stalled insns into the ready list.
784 Common Report Var(flag_sched_stalled_insns)
785 Allow premature scheduling of queued insns
787 fsched-stalled-insns=
788 Common RejectNegative Joined UInteger
789 -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
791 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
792 ; be examined for a dependency on a stalled insn that is candidate for
793 ; premature removal from the queue of stalled insns into the ready list (has
794 ; an effect only if the flag 'sched_stalled_insns' is set).
795 fsched-stalled-insns-dep
796 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1)
797 Set dependence distance checking in premature scheduling of queued insns
799 fsched-stalled-insns-dep=
800 Common RejectNegative Joined UInteger
801 -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
804 Common Report Var(flag_shared_data)
805 Mark data as shared rather than private
808 Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
809 Show column numbers in diagnostics, when available. Default on
812 Common Report Var(flag_signaling_nans)
813 Disable optimizations observable by IEEE signaling NaNs
815 fsingle-precision-constant
816 Common Report Var(flag_single_precision_constant)
817 Convert floating point constants to single precision constants
819 fsplit-ivs-in-unroller
820 Common Report Var(flag_split_ivs_in_unroller) Init(1)
821 Split lifetimes of induction variables when loops are unrolled
823 fvariable-expansion-in-unroller
824 Common Report Var(flag_variable_expansion_in_unroller)
825 Apply variable expansion when loops are unrolled
827 ; Emit code to probe the stack, to help detect stack overflow; also
828 ; may cause large objects to be allocated dynamically.
830 Common Report Var(flag_stack_check)
831 Insert stack checking code into the program
836 fstack-limit-register=
837 Common RejectNegative Joined
838 -fstack-limit-register=<register> Trap if the stack goes past <register>
841 Common RejectNegative Joined
842 -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
845 Common Report Var(flag_stack_protect, 1)
846 Use propolice as a stack protection method
849 Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
850 Use a stack protection method for every function
853 Common Report Var(flag_strength_reduce)
854 Perform strength reduction optimizations
856 ; Nonzero if we should do (language-dependent) alias analysis.
857 ; Typically, this analysis will assume that expressions of certain
858 ; types do not alias expressions of certain other types. Only used
859 ; if alias analysis (in general) is enabled.
861 Common Report Var(flag_strict_aliasing)
862 Assume strict aliasing rules apply
865 Common Report Var(flag_syntax_only)
866 Check for syntax errors, then stop
869 Common Report Var(flag_test_coverage)
870 Create data files needed by \"gcov\"
873 Common Report Var(flag_thread_jumps)
874 Perform jump threading optimizations
877 Common Report Var(time_report)
878 Report the time taken by each compiler pass
881 Common Joined RejectNegative
882 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
885 Common Report Var(flag_tracer)
886 Perform superblock formation via tail duplication
888 ; Zero means that floating-point math operations cannot generate a
889 ; (user-visible) trap. This is the case, for example, in nonstop
890 ; IEEE 754 arithmetic.
892 Common Report Var(flag_trapping_math) Init(1)
893 Assume floating-point operations can trap
896 Common Report Var(flag_trapv)
897 Trap for signed overflow in addition, subtraction and multiplication
900 Common Report Var(flag_tree_ccp)
901 Enable SSA-CCP optimization on trees
904 Common Report Var(flag_tree_store_ccp)
905 Enable SSA-CCP optimization for stores and loads
908 Common Report Var(flag_tree_ch)
909 Enable loop header copying on trees
912 Common Report Var(flag_tree_combine_temps)
913 Coalesce memory temporaries in the SSA->normal pass
916 Common Report Var(flag_tree_copyrename)
917 Replace SSA temporaries with better names in copies
920 Common Report Var(flag_tree_copy_prop)
921 Enable copy propagation on trees
923 ftree-store-copy-prop
924 Common Report Var(flag_tree_store_copy_prop)
925 Enable copy propagation for stores and loads
928 Common Report Var(flag_tree_dce)
929 Enable SSA dead code elimination optimization on trees
932 Common Report Var(flag_tree_dom)
933 Enable dominator optimizations
936 Common Report Var(flag_tree_dse)
937 Enable dead store elimination
940 Common Report Var(flag_tree_elim_checks)
941 Enable Redundant Checks Elimination
944 Common Report Var(flag_tree_reassoc)
945 Enable reassociation on trees
948 Common Report Var(flag_tree_fre)
949 Enable Full Redundancy Elimination (FRE) on trees
952 Common Report Var(flag_tree_loop_im) Init(1)
953 Enable loop invariant motion on trees
956 Common Report Var(flag_tree_loop_linear)
957 Enable linear loop transforms on trees
960 Common Report Var(flag_tree_loop_ivcanon) Init(1)
961 Create canonical induction variables in loops
964 Common Report Var(flag_tree_loop_optimize) Init(1)
965 Enable loop optimizations on tree level
968 Common Report Var(flag_tree_pre)
969 Enable SSA-PRE optimization on trees
972 Common Report Var(flag_tree_salias)
973 Perform structural alias analysis
976 Common Report Var(flag_tree_sink)
977 Enable SSA code sinking on trees
980 Common Report Var(flag_tree_sra)
981 Perform scalar replacement of aggregates
984 Common Report Var(flag_tree_ter)
985 Replace temporary expressions in the SSA->normal pass
988 Common Report Var(flag_tree_live_range_split)
989 Perform live range splitting during the SSA->normal pass
992 Common Report Var(flag_tree_vrp) Init(0)
993 Perform Value Range Propagation on trees
996 Common Report Var(flag_unit_at_a_time)
997 Compile whole compilation unit at a time
1000 Common Report Var(flag_unroll_loops)
1001 Perform loop unrolling when iteration count is known
1004 Common Report Var(flag_unroll_all_loops)
1005 Perform loop unrolling for all loops
1007 ; Nonzero means that loop optimizer may assume that the induction variables
1008 ; that control loops do not overflow and that the loops with nontrivial
1009 ; exit condition are not infinite
1010 funsafe-loop-optimizations
1011 Common Report Var(flag_unsafe_loop_optimizations)
1012 Allow loop optimizations to assume that the loops behave in normal way
1014 ; Nonzero means that unsafe floating-point math optimizations are allowed
1015 ; for the sake of speed. IEEE compliance is not guaranteed, and operations
1016 ; are allowed to assume that their arguments and results are "normal"
1017 ; (e.g., nonnegative for SQRT).
1018 funsafe-math-optimizations
1019 Common Report Var(flag_unsafe_math_optimizations)
1020 Allow math optimizations that may violate IEEE or ISO standards
1023 Common Report Var(flag_unswitch_loops)
1024 Perform loop unswitching
1027 Common Report Var(flag_unwind_tables)
1028 Just generate unwind tables for exception handling
1031 Common Report Var(flag_var_tracking) VarExists
1032 Perform variable tracking
1035 Common Report Var(flag_tree_vectorize)
1036 Enable loop vectorization on trees
1038 ftree-vect-loop-version
1039 Common Report Var(flag_tree_vect_loop_version) Init(1)
1040 Enable loop versioning when doing loop vectorization on trees
1042 ftree-vectorizer-verbose=
1043 Common RejectNegative Joined
1044 -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
1046 ; -fverbose-asm causes extra commentary information to be produced in
1047 ; the generated assembly code (to make it more readable). This option
1048 ; is generally only of use to those who actually need to read the
1049 ; generated assembly code (perhaps while debugging the compiler itself).
1050 ; -fno-verbose-asm, the default, causes the extra information
1051 ; to not be added and is useful when comparing two assembler files.
1053 Common Report Var(flag_verbose_asm)
1054 Add extra commentary to assembler output
1057 Common Joined RejectNegative
1058 -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1062 Common Report Var(flag_value_profile_transformations)
1063 Use expression value profiles in optimizations
1066 Common Report Var(flag_web) Init(2)
1067 Construct webs and split unrelated uses of single variable
1070 Common Report Var(flag_whole_program) Init(0)
1071 Perform whole program optimizations
1074 Common Report Var(flag_wrapv)
1075 Assume signed arithmetic overflow wraps around
1077 fzero-initialized-in-bss
1078 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1079 Put zero initialized data in the bss section
1082 Common JoinedOrMissing
1083 Generate debug information in default format
1086 Common JoinedOrMissing
1087 Generate debug information in COFF format
1090 Common JoinedOrMissing
1091 Generate debug information in DWARF v2 format
1094 Common JoinedOrMissing
1095 Generate debug information in default extended format
1098 Common JoinedOrMissing
1099 Generate debug information in STABS format
1102 Common JoinedOrMissing
1103 Generate debug information in extended STABS format
1106 Common JoinedOrMissing
1107 Generate debug information in VMS format
1110 Common JoinedOrMissing
1111 Generate debug information in XCOFF format
1114 Common JoinedOrMissing
1115 Generate debug information in extended XCOFF format
1118 Common Joined Separate
1119 -o <file> Place output into <file>
1122 Common Var(profile_flag)
1123 Enable function profiling
1126 Common Var(pedantic)
1127 Issue warnings needed for strict compliance to the standard
1131 Like -pedantic but issue them as errors
1134 Common Var(quiet_flag)
1135 Do not display functions compiled or elapsed time
1138 Common Var(version_flag)
1139 Display the compiler's version
1142 Common Var(inhibit_warnings)
1145 ; This comment is to ensure we retain the blank line above.