1 ; Options for the language- and target-independent parts of the compiler.
2 ; Copyright (C) 2003 Free Software Foundation, Inc.
4 ; This file is part of GCC.
6 ; GCC is free software; you can redistribute it and/or modify it under
7 ; the terms of the GNU General Public License as published by the Free
8 ; Software Foundation; either version 2, or (at your option) any later
11 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 ; You should have received a copy of the GNU General Public License
17 ; along with GCC; see the file COPYING. If not, write to the Free
18 ; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21 ; See c.opt for a description of this file's format.
23 ; Please try to keep this file in ASCII collating order.
27 Display this information
31 --param <param>=<value> Set paramter <param> to value. See below for a complete list of parameters
40 Common Joined Separate UInteger
41 -G<number> Put global and static data smaller than <number> bytes into a special section (on some targets)
44 Common JoinedOrMissing
45 -O<number> Set optimization level to <number>
49 Optimize for space rather than speed
53 This switch is deprecated; use -Wextra instead
57 Warn about returning structures, unions or arrays
61 Warn about pointer casts which increase alignment
63 Wdeprecated-declarations
65 Warn about uses of __attribute__((deprecated)) declarations
67 Wdisabled-optimization
69 Warn when an optimization pass is disabled
73 Treat all warnings as errors
77 Print extra (possibly unwanted) warnings
81 Warn when an inlined function cannot be inlined
84 Common RejectNegative Joined UInteger
85 -Wlarger-than-<number> Warn if an object is larger than <number> bytes
89 Warn about functions which might be candidates for __attribute__((noreturn))
93 Warn when the packed attribute has no effect on struct layout
97 Warn when padding is required to align structure members
101 Warn when one local variable shadows another
105 Warn about code which might break strict aliasing rules
109 Warn about enumerated switches, with no default, missing a case
113 Warn about enumerated switches missing a \"default:\" statement
117 Warn about all enumerated switches missing a specific case
121 Do not suppress warnings from system headers
125 Warn about uninitialized automatic variables
129 Warn about code that will never be executed
133 Enable all -Wunused- warnings
137 Warn when a function is unused
141 Warn when a label is unused
145 Warn when a function parameter is unused
149 Warn when an expression value is unused
153 Warn when a variable is unused
157 -aux-info <file> Emit declaration information into <file>
170 -d<letters> Enable dumps from specific passes of the compiler
174 -dumpbase <file> Set the file basename to be used for dumps
184 Align the start of functions
187 Common RejectNegative Joined UInteger
191 Align labels which are only reached by jumping
194 Common RejectNegative Joined UInteger
201 Common RejectNegative Joined UInteger
205 Align the start of loops
208 Common RejectNegative Joined UInteger
212 Specify that arguments may alias each other and globals
216 Assume arguments may alias globals but not each other
218 fargument-noalias-global
220 Assume arguments alias neither each other nor globals
222 fasynchronous-unwind-tables
224 Generate unwind tables that are exact at each instruction boundary
228 Generate code to check bounds before indexing arrays
232 Replace add, compare, branch with branch on count register
234 fbranch-probabilities
236 Use profiling information for branch probabilities
238 fbranch-target-load-optimize
240 Perform branch target load optimization before prologue / epilogue threading
242 fbranch-target-load-optimize2
244 Perform branch target load optimization after prologue / epilogue threading
247 Common Joined RejectNegative
248 -fcall-saved-<register> Mark <register> as being preserved across functions
251 Common Joined RejectNegative
252 -fcall-used-<register> Mark <register> as being corrupted by function calls
256 Save registers around function calls
260 Do not put uninitialized globals in the common section
264 Perform a register copy-propagation optimization pass
268 Perform cross-jumping optimization
272 When running CSE, follow jumps to their targets
276 When running CSE, follow conditional jumps
280 Place data items into their own section
284 Defer popping functions args from stack until later
288 Attempt to fill delay slots of branch instructions
290 fdelete-null-pointer-checks
292 Delete useless null pointer checks
294 fdiagnostics-show-location=
295 Common Joined RejectNegative
296 -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
300 Suppress output of instruction numbers and line number notes in debugging dumps
302 feliminate-dwarf2-dups
304 Perform DWARF2 duplicate elimination
306 feliminate-unused-debug-symbols
308 Perform unused type elimination in debug info
310 feliminate-unused-debug-types
312 Perform unused type elimination in debug info
316 Enable exception handling
318 fexpensive-optimizations
320 Perform a number of minor, expensive optimizations
327 Assume no NaNs or infinities are generated
330 Common Joined RejectNegative
331 -ffixed-<register> Mark <register> as being unavailable to the compiler
335 Do not store floats in registers
339 Copy memory address constants into registers before use
343 Copy memory operands into registers before use
347 Allow function addresses to be held in registers
351 Place each function into its own section
355 Perform global common subexpression elimination
359 Perform enhanced load motion during global common subexpression elimination
363 Perform store motion after global common subexpression elimination
367 Perform redundant load after store elimination in global common subexpression elimination
371 Output GNU ld formatted global initializers
373 fguess-branch-probability
375 Enable guessing of branch probabilities
379 Process #ident directives
383 Perform conversion of conditional jumps to branchless equivalents
387 Perform conversion of conditional jumps to conditional execution
389 finhibit-size-directive
391 Do not generate .size directives
395 Pay attention to the \"inline\" keyword
399 Integrate simple functions into their callers
402 Common RejectNegative Joined UInteger
405 Common RejectNegative Joined UInteger
406 -finline-limit=<number> Limit the size of inlined functions to <number>
408 finstrument-functions
410 Instrument function entry and exit with profiling calls
412 fkeep-inline-functions
414 Generate code for functions even if they are fully inlined
418 Emit static const variables even if they are not used
422 Give external symbols a leading underscore
426 Perform loop optimizations
430 Set errno after built-in math functions
434 Report on permanent memory allocation
438 Attempt to merge identical constants and constant variables
442 Attempt to merge identical constants across compilation units
445 Common RejectNegative Joined UInteger
446 -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
450 Force all loop invariant computations out of loops
454 Use graph-coloring register allocation
458 Support synchronous non-call exceptions
462 Perform loop unrolling when iteration count is known
464 fold-unroll-all-loops
466 Perform loop unrolling for all loops
470 When possible do not generate stack frames
472 foptimize-register-move
474 Do the full register move optimization pass
476 foptimize-sibling-calls
478 Optimize sibling and tail recursive calls
482 Pack structure members together without holes
486 Return small aggregates in memory, not registers
494 Enable machine specific peephole optimizations
498 Enable an RTL peephole pass before sched2
502 Generate position-independent code if possible
506 Generate position-independent code for executables if possible
508 fprefetch-loop-arrays
510 Generate prefetch instructions, if available, for arrays in loops
514 Enable basic program profiling code
518 Insert arc-based program profiling code
522 Insert code to profile values of expressions
528 Common Joined RejectNegative
529 -frandom-seed=<string> Make compile reproducible using <string>
533 Strength reduce all loop general induction variables
537 Return small aggregates in registers
541 Enables a register move optimization
545 Perform a register renaming optimization pass
549 Reorder basic blocks to improve code placement
553 Reorder functions to improve code placement
555 frerun-cse-after-loop
557 Add a common subexpression elimination pass after loop optimizations
561 Run the loop optimizer twice
565 Disable optimizations that assume default FP rounding behavior
569 Enable scheduling across basic blocks
573 Allow speculative motion of non-loads
577 Allow speculative motion of some loads
579 fsched-spec-load-dangerous
581 Allow speculative motion of more loads
584 Common RejectNegative Joined
585 -fsched-verbose=<number> Set the verbosity level of the scheduler
587 fsched2-use-superblocks
589 If scheduling post reload, do superblock scheduling
593 If scheduling post reload, do trace scheduling
597 Reschedule instructions before register allocation
601 Reschedule instructions after register allocation
605 Allow premature scheduling of queued insns
607 fsched-stalled-insns=
608 Common RejectNegative Joined UInteger
609 -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
611 fsched-stalled-insns-dep
613 Set dependence distance checking in premature scheduling of queued insns
615 fsched-stalled-insns-dep=
616 Common RejectNegative Joined UInteger
617 -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
621 Mark data as shared rather than private
625 Disable optimizations observable by IEEE signaling NaNs
627 fsingle-precision-constant
629 Convert floating point constants to single precision constants
633 Enable static single assignment optimizations
637 Enable SSA conditional constant propagation
641 Enable aggressive SSA dead code elimination
645 Insert stack checking code into the program
650 fstack-limit-register=
651 Common RejectNegative Joined
652 -fstack-limit-register=<register> Trap if the stack goes past <register>
655 Common RejectNegative Joined
656 -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
660 Perform strength reduction optimizations
664 Assume strict aliasing rules apply
668 Check for syntax errors, then stop
672 Create data files needed by \"gcov\"
676 Perform jump threading optimizations
680 Report the time taken by each compiler pass
683 Common Joined RejectNegative
684 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
688 Perform superblock formation via tail duplication
692 Assume floating-point operations can trap
696 Trap for signed overflow in addition, subtraction and multiplication
700 Compile whole compilation unit at a time
704 Perform loop unrolling when iteration count is known
708 Perform loop unrolling for all loops
710 funsafe-math-optimizations
712 Allow math optimizations that may violate IEEE or ISO standards
716 Perform loop unswitching
720 Just generate unwind tables for exception handling
724 Add extra commentary to assembler output
728 Use expression value profiles in optimizations
732 Construct webs and split unrelated uses of single variable
736 Assume signed arithmetic overflow wraps around
740 Store strings in writable data section
742 fzero-initialized-in-bss
744 Put zero initialized data in the bss section
747 Common JoinedOrMissing
748 Generate debug information in default format
751 Common JoinedOrMissing
752 Generate debug information in COFF format
755 Common JoinedOrMissing
756 Generate debug information in DWARF v1 format
759 Common JoinedOrMissing
760 Generate debug information in extended DWARF v1 format
763 Common JoinedOrMissing
764 Generate debug information in DWARF v2 format
767 Common JoinedOrMissing
768 Generate debug information in default extended format
771 Common JoinedOrMissing
772 Generate debug information in STABS format
775 Common JoinedOrMissing
776 Generate debug information in extended STABS format
779 Common JoinedOrMissing
780 Generate debug information in VMS format
783 Common JoinedOrMissing
784 Generate debug information in XCOFF format
787 Common JoinedOrMissing
788 Generate debug information in extended XCOFF format
794 Common Joined Separate
795 -o <file> Place output into <file>
799 Enable function profiling
803 Issue warnings needed for strict compliance to the standard
807 Like -pedantic but issue them as errors
811 Do not display functions compiled or elapsed time
815 Display the compiler's version
821 ; This comment is to ensure we retain the blank line above.