svn merge -r102224:107263 svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-3_4-branch
[official-gcc.git] / gcc / common.opt
blob936f88447e8a4d6f18ec9641c4cb1ab1fe093af0
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
9 ; version.
10
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
14 ; for more details.
15
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
19 ; 02111-1307, USA.
21 ; See c.opt for a description of this file's format.
23 ; Please try to keep this file in ASCII collating order.
25 -help
26 Common
27 Display this information
29 -param
30 Common Separate
31 --param <param>=<value> Set parameter <param> to value.  See below for a complete list of parameters
33 -target-help
34 Common
36 -version
37 Common
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>
48 Common
49 Optimize for space rather than speed
52 Common RejectNegative
53 This switch is deprecated; use -Wextra instead
55 Waggregate-return
56 Common
57 Warn about returning structures, unions or arrays
59 Wcast-align
60 Common
61 Warn about pointer casts which increase alignment
63 Wdeprecated-declarations
64 Common
65 Warn about uses of __attribute__((deprecated)) declarations
67 Wdisabled-optimization
68 Common
69 Warn when an optimization pass is disabled
71 Werror
72 Common
73 Treat all warnings as errors
75 Wextra
76 Common
77 Print extra (possibly unwanted) warnings
79 Winline
80 Common
81 Warn when an inlined function cannot be inlined
83 Wlarger-than-
84 Common RejectNegative Joined UInteger
85 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
87 Wmissing-noreturn
88 Common
89 Warn about functions which might be candidates for __attribute__((noreturn))
91 Wpacked
92 Common
93 Warn when the packed attribute has no effect on struct layout
95 Wpadded
96 Common
97 Warn when padding is required to align structure members
99 Wshadow
100 Common
101 Warn when one local variable shadows another
103 Wstrict-aliasing
104 Common
105 Warn about code which might break strict aliasing rules
107 Wswitch
108 Common
109 Warn about enumerated switches, with no default, missing a case
111 Wswitch-default
112 Common
113 Warn about enumerated switches missing a \"default:\" statement
115 Wswitch-enum
116 Common
117 Warn about all enumerated switches missing a specific case
119 Wsystem-headers
120 Common
121 Do not suppress warnings from system headers
123 Wuninitialized
124 Common
125 Warn about uninitialized automatic variables
127 Wunreachable-code
128 Common
129 Warn about code that will never be executed
131 Wunused
132 Common
133 Enable all -Wunused- warnings
135 Wunused-function
136 Common
137 Warn when a function is unused
139 Wunused-label
140 Common
141 Warn when a label is unused
143 Wunused-parameter
144 Common
145 Warn when a function parameter is unused
147 Wunused-value
148 Common
149 Warn when an expression value is unused
151 Wunused-variable
152 Common
153 Warn when a variable is unused
155 aux-info
156 Common Separate
157 -aux-info <file>        Emit declaration information into <file>
159 aux-info=
160 Common Joined
162 auxbase
163 Common Separate
165 auxbase-strip
166 Common Separate
169 Common Joined
170 -d<letters>     Enable dumps from specific passes of the compiler
172 dumpbase
173 Common Separate
174 -dumpbase <file>        Set the file basename to be used for dumps
176 fPIC
177 Common
179 fPIE
180 Common
182 fabi-version=
183 Common Joined UInteger
185 falign-functions
186 Common
187 Align the start of functions
189 falign-functions=
190 Common RejectNegative Joined UInteger
192 falign-jumps
193 Common
194 Align labels which are only reached by jumping
196 falign-jumps=
197 Common RejectNegative Joined UInteger
199 falign-labels
200 Common
201 Align all labels
203 falign-labels=
204 Common RejectNegative Joined UInteger
206 falign-loops
207 Common
208 Align the start of loops
210 falign-loops=
211 Common RejectNegative Joined UInteger
213 fargument-alias
214 Common
215 Specify that arguments may alias each other and globals
217 fargument-noalias
218 Common
219 Assume arguments may alias globals but not each other
221 fargument-noalias-global
222 Common
223 Assume arguments alias neither each other nor globals
225 fasynchronous-unwind-tables
226 Common
227 Generate unwind tables that are exact at each instruction boundary
229 fbounds-check
230 Common
231 Generate code to check bounds before indexing arrays
233 fbranch-count-reg
234 Common
235 Replace add, compare, branch with branch on count register
237 fbranch-probabilities
238 Common
239 Use profiling information for branch probabilities
241 fbranch-target-load-optimize
242 Common
243 Perform branch target load optimization before prologue / epilogue threading
245 fbranch-target-load-optimize2
246 Common
247 Perform branch target load optimization after prologue / epilogue threading
249 fcall-saved-
250 Common Joined RejectNegative
251 -fcall-saved-<register> Mark <register> as being preserved across functions
253 fcall-used-
254 Common Joined RejectNegative
255 -fcall-used-<register>  Mark <register> as being corrupted by function calls
257 fcaller-saves
258 Common
259 Save registers around function calls
261 fcommon
262 Common
263 Do not put uninitialized globals in the common section
265 fcprop-registers
266 Common
267 Perform a register copy-propagation optimization pass
269 fcrossjumping
270 Common
271 Perform cross-jumping optimization
273 fcse-follow-jumps
274 Common
275 When running CSE, follow jumps to their targets
277 fcse-skip-blocks
278 Common
279 When running CSE, follow conditional jumps
281 fdata-sections
282 Common
283 Place data items into their own section
285 fdefer-pop
286 Common
287 Defer popping functions args from stack until later
289 fdelayed-branch
290 Common
291 Attempt to fill delay slots of branch instructions
293 fdelete-null-pointer-checks
294 Common
295 Delete useless null pointer checks
297 fdiagnostics-show-location=
298 Common Joined RejectNegative
299 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
301 fdump-unnumbered
302 Common
303 Suppress output of instruction numbers and line number notes in debugging dumps
305 feliminate-dwarf2-dups
306 Common
307 Perform DWARF2 duplicate elimination
309 feliminate-unused-debug-symbols
310 Common
311 Perform unused type elimination in debug info
313 feliminate-unused-debug-types
314 Common
315 Perform unused type elimination in debug info
317 fexceptions
318 Common
319 Enable exception handling
321 fexpensive-optimizations
322 Common
323 Perform a number of minor, expensive optimizations
325 ffast-math
326 Common
328 ffinite-math-only
329 Common
330 Assume no NaNs or infinities are generated
332 ffixed-
333 Common Joined RejectNegative
334 -ffixed-<register>      Mark <register> as being unavailable to the compiler
336 ffloat-store
337 Common
338 Do not store floats in registers
340 fforce-addr
341 Common
342 Copy memory address constants into registers before use
344 fforce-mem
345 Common
346 Copy memory operands into registers before use
348 ffunction-cse
349 Common
350 Allow function addresses to be held in registers
352 ffunction-sections
353 Common
354 Place each function into its own section
356 fgcse
357 Common
358 Perform global common subexpression elimination
360 fgcse-lm
361 Common
362 Perform enhanced load motion during global common subexpression elimination
364 fgcse-sm
365 Common
366 Perform store motion after global common subexpression elimination
368 fgcse-las
369 Common
370 Perform redundant load after store elimination in global common subexpression elimination
372 fguess-branch-probability
373 Common
374 Enable guessing of branch probabilities
376 fident
377 Common
378 Process #ident directives
380 fif-conversion
381 Common
382 Perform conversion of conditional jumps to branchless equivalents
384 fif-conversion2
385 Common
386 Perform conversion of conditional jumps to conditional execution
388 finhibit-size-directive
389 Common
390 Do not generate .size directives
392 finline
393 Common
394 Pay attention to the \"inline\" keyword
396 finline-functions
397 Common
398 Integrate simple functions into their callers
400 finline-limit-
401 Common RejectNegative Joined UInteger
403 finline-limit=
404 Common RejectNegative Joined UInteger
405 -finline-limit=<number> Limit the size of inlined functions to <number>
407 finstrument-functions
408 Common
409 Instrument function entry and exit with profiling calls
411 fkeep-inline-functions
412 Common
413 Generate code for functions even if they are fully inlined
415 fkeep-static-consts
416 Common
417 Emit static const variables even if they are not used
419 fleading-underscore
420 Common
421 Give external symbols a leading underscore
423 floop-optimize
424 Common
425 Perform loop optimizations
427 fmath-errno
428 Common
429 Set errno after built-in math functions
431 fmem-report
432 Common
433 Report on permanent memory allocation
435 fmerge-all-constants
436 Common
437 Attempt to merge identical constants and constant variables
439 fmerge-constants
440 Common
441 Attempt to merge identical constants across compilation units
443 fmessage-length=
444 Common RejectNegative Joined UInteger
445 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
447 fmove-all-movables
448 Common
449 Force all loop invariant computations out of loops
451 fnew-ra
452 Common
453 Use graph-coloring register allocation
455 fnon-call-exceptions
456 Common
457 Support synchronous non-call exceptions
459 fold-unroll-loops
460 Common
461 Perform loop unrolling when iteration count is known
463 fold-unroll-all-loops
464 Common
465 Perform loop unrolling for all loops
467 fomit-frame-pointer
468 Common
469 When possible do not generate stack frames
471 foptimize-register-move
472 Common
473 Do the full register move optimization pass
475 foptimize-sibling-calls
476 Common
477 Optimize sibling and tail recursive calls
479 fpack-struct
480 Common
481 Pack structure members together without holes
483 fpcc-struct-return
484 Common
485 Return small aggregates in memory, not registers
487 fpeel-loops
488 Common
489 Perform loop peeling
491 fpeephole
492 Common
493 Enable machine specific peephole optimizations
495 fpeephole2
496 Common
497 Enable an RTL peephole pass before sched2
499 fpic
500 Common
501 Generate position-independent code if possible
503 fpie
504 Common
505 Generate position-independent code for executables if possible
507 fprefetch-loop-arrays
508 Common
509 Generate prefetch instructions, if available, for arrays in loops
511 fprofile
512 Common
513 Enable basic program profiling code
515 fprofile-arcs
516 Common
517 Insert arc-based program profiling code
519 fprofile-generate
520 Common
521 Enable common options for generating profile info for profile feedback directed optimizations
523 fprofile-use
524 Common
525 Enable common options for performing profile feedback directed optimizations
527 fprofile-values
528 Common
529 Insert code to profile values of expressions
531 frandom-seed
532 Common
534 frandom-seed=
535 Common Joined RejectNegative
536 -frandom-seed=<string>  Make compile reproducible using <string>
538 freduce-all-givs
539 Common
540 Strength reduce all loop general induction variables
542 freg-struct-return
543 Common
544 Return small aggregates in registers
546 fregmove
547 Common
548 Enables a register move optimization
550 frename-registers
551 Common
552 Perform a register renaming optimization pass
554 freorder-blocks
555 Common
556 Reorder basic blocks to improve code placement
558 freorder-functions
559 Common
560 Reorder functions to improve code placement
562 frerun-cse-after-loop
563 Common
564 Add a common subexpression elimination pass after loop optimizations
566 frerun-loop-opt
567 Common
568 Run the loop optimizer twice
570 frounding-math
571 Common
572 Disable optimizations that assume default FP rounding behavior
574 fsched-interblock
575 Common
576 Enable scheduling across basic blocks
578 fsched-spec
579 Common
580 Allow speculative motion of non-loads
582 fsched-spec-load
583 Common
584 Allow speculative motion of some loads
586 fsched-spec-load-dangerous
587 Common
588 Allow speculative motion of more loads
590 fsched-verbose=
591 Common RejectNegative Joined
592 -fsched-verbose=<number>        Set the verbosity level of the scheduler
594 fsched2-use-superblocks
595 Common
596 If scheduling post reload, do superblock scheduling
598 fsched2-use-traces
599 Common
600 If scheduling post reload, do trace scheduling
602 fschedule-insns
603 Common
604 Reschedule instructions before register allocation
606 fschedule-insns2
607 Common
608 Reschedule instructions after register allocation
610 fsched-stalled-insns
611 Common
612 Allow premature scheduling of queued insns
614 fsched-stalled-insns=
615 Common RejectNegative Joined UInteger 
616 -fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled
618 fsched-stalled-insns-dep
619 Common
620 Set dependence distance checking in premature scheduling of queued insns
622 fsched-stalled-insns-dep=
623 Common RejectNegative Joined UInteger
624 -fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns
626 fshared-data
627 Common
628 Mark data as shared rather than private
630 fsignaling-nans
631 Common
632 Disable optimizations observable by IEEE signaling NaNs
634 fsingle-precision-constant
635 Common
636 Convert floating point constants to single precision constants
638 fstack-check
639 Common
640 Insert stack checking code into the program
642 fstack-limit
643 Common
645 fstack-limit-register=
646 Common RejectNegative Joined
647 -fstack-limit-register=<register>       Trap if the stack goes past <register>
649 fstack-limit-symbol=
650 Common RejectNegative Joined
651 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
653 fstrength-reduce
654 Common
655 Perform strength reduction optimizations
657 fstrict-aliasing
658 Common
659 Assume strict aliasing rules apply
661 fsyntax-only
662 Common
663 Check for syntax errors, then stop
665 ftest-coverage
666 Common
667 Create data files needed by \"gcov\"
669 fthread-jumps
670 Common
671 Perform jump threading optimizations
673 ftime-report
674 Common
675 Report the time taken by each compiler pass
677 ftls-model=
678 Common Joined RejectNegative
679 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
681 ftracer
682 Common
683 Perform superblock formation via tail duplication
685 ftrapping-math
686 Common
687 Assume floating-point operations can trap
689 ftrapv
690 Common
691 Trap for signed overflow in addition, subtraction and multiplication
693 funit-at-a-time
694 Common
695 Compile whole compilation unit at a time
697 funroll-loops
698 Common
699 Perform loop unrolling when iteration count is known
701 funroll-all-loops
702 Common
703 Perform loop unrolling for all loops
705 funsafe-math-optimizations
706 Common
707 Allow math optimizations that may violate IEEE or ISO standards
709 funswitch-loops
710 Common
711 Perform loop unswitching
713 funwind-tables
714 Common
715 Just generate unwind tables for exception handling
717 fvar-tracking
718 Common
719 Perform variable tracking
721 fverbose-asm
722 Common
723 Add extra commentary to assembler output
725 fvisibility=
726 Common Joined RejectNegative
727 -fvisibility=[default|internal|hidden|protected]        Set the default symbol visibility
730 fvpt
731 Common
732 Use expression value profiles in optimizations
734 fweb
735 Common
736 Construct webs and split unrelated uses of single variable
738 fwrapv
739 Common
740 Assume signed arithmetic overflow wraps around
742 fwritable-strings
743 Common
744 Store strings in writable data section
746 fzero-initialized-in-bss
747 Common
748 Put zero initialized data in the bss section
751 Common JoinedOrMissing
752 Generate debug information in default format
754 gcoff
755 Common JoinedOrMissing
756 Generate debug information in COFF format
758 gdwarf-2
759 Common JoinedOrMissing
760 Generate debug information in DWARF v2 format
762 ggdb
763 Common JoinedOrMissing
764 Generate debug information in default extended format
766 gstabs
767 Common JoinedOrMissing
768 Generate debug information in STABS format
770 gstabs+
771 Common JoinedOrMissing
772 Generate debug information in extended STABS format
774 gvms
775 Common JoinedOrMissing
776 Generate debug information in VMS format
778 gxcoff
779 Common JoinedOrMissing
780 Generate debug information in XCOFF format
782 gxcoff+
783 Common JoinedOrMissing
784 Generate debug information in extended XCOFF format
787 Common Joined
790 Common Joined Separate
791 -o <file>       Place output into <file>
794 Common
795 Enable function profiling
797 pedantic
798 Common
799 Issue warnings needed for strict compliance to the standard
801 pedantic-errors
802 Common
803 Like -pedantic but issue them as errors
805 quiet
806 Common
807 Do not display functions compiled or elapsed time
809 version
810 Common
811 Display the compiler's version
814 Common
815 Suppress warnings
817 ; This comment is to ensure we retain the blank line above.