2004-02-24 Aldy Hernandez <aldyh@redhat.com>
[official-gcc.git] / gcc / common.opt
blobcc7f218426cfe312d1c130c0c0733eb0a80ca39b
1 ; Options for the language- and target-independent parts of the compiler.
2 ; Copyright (C) 2003, 2004 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 paramter <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 fbtr-bb-exclusive
250 Common
251 Restrict target load migration not to re-use registers in any basic block
253 fcall-saved-
254 Common Joined RejectNegative
255 -fcall-saved-<register> Mark <register> as being preserved across functions
257 fcall-used-
258 Common Joined RejectNegative
259 -fcall-used-<register>  Mark <register> as being corrupted by function calls
261 fcaller-saves
262 Common
263 Save registers around function calls
265 fcommon
266 Common
267 Do not put uninitialized globals in the common section
269 fcprop-registers
270 Common
271 Perform a register copy-propagation optimization pass
273 fcrossjumping
274 Common
275 Perform cross-jumping optimization
277 fcse-follow-jumps
278 Common
279 When running CSE, follow jumps to their targets
281 fcse-skip-blocks
282 Common
283 When running CSE, follow conditional jumps
285 fdata-sections
286 Common
287 Place data items into their own section
289 fdefer-pop
290 Common
291 Defer popping functions args from stack until later
293 fdelayed-branch
294 Common
295 Attempt to fill delay slots of branch instructions
297 fdelete-null-pointer-checks
298 Common
299 Delete useless null pointer checks
301 fdiagnostics-show-location=
302 Common Joined RejectNegative
303 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
305 fdump-unnumbered
306 Common
307 Suppress output of instruction numbers and line number notes in debugging dumps
309 feliminate-dwarf2-dups
310 Common
311 Perform DWARF2 duplicate elimination
313 feliminate-unused-debug-symbols
314 Common
315 Perform unused type elimination in debug info
317 feliminate-unused-debug-types
318 Common
319 Perform unused type elimination in debug info
321 fexceptions
322 Common
323 Enable exception handling
325 fexpensive-optimizations
326 Common
327 Perform a number of minor, expensive optimizations
329 ffast-math
330 Common
332 ffinite-math-only
333 Common
334 Assume no NaNs or infinities are generated
336 ffixed-
337 Common Joined RejectNegative
338 -ffixed-<register>      Mark <register> as being unavailable to the compiler
340 ffloat-store
341 Common
342 Do not store floats in registers
344 fforce-addr
345 Common
346 Copy memory address constants into registers before use
348 fforce-mem
349 Common
350 Copy memory operands into registers before use
352 ffunction-cse
353 Common
354 Allow function addresses to be held in registers
356 ffunction-sections
357 Common
358 Place each function into its own section
360 fgcse
361 Common
362 Perform global common subexpression elimination
364 fgcse-lm
365 Common
366 Perform enhanced load motion during global common subexpression elimination
368 fgcse-sm
369 Common
370 Perform store motion after global common subexpression elimination
372 fgcse-las
373 Common
374 Perform redundant load after store elimination in global common subexpression elimination
376 fguess-branch-probability
377 Common
378 Enable guessing of branch probabilities
380 fident
381 Common
382 Process #ident directives
384 fif-conversion
385 Common
386 Perform conversion of conditional jumps to branchless equivalents
388 fif-conversion2
389 Common
390 Perform conversion of conditional jumps to conditional execution
392 finhibit-size-directive
393 Common
394 Do not generate .size directives
396 finline
397 Common
398 Pay attention to the \"inline\" keyword
400 finline-functions
401 Common
402 Integrate simple functions into their callers
404 finline-limit-
405 Common RejectNegative Joined UInteger
407 finline-limit=
408 Common RejectNegative Joined UInteger
409 -finline-limit=<number> Limit the size of inlined functions to <number>
411 finstrument-functions
412 Common
413 Instrument function entry and exit with profiling calls
415 fkeep-inline-functions
416 Common
417 Generate code for functions even if they are fully inlined
419 fkeep-static-consts
420 Common
421 Emit static const variables even if they are not used
423 fleading-underscore
424 Common
425 Give external symbols a leading underscore
427 floop-optimize
428 Common
429 Perform loop optimizations
431 fmath-errno
432 Common
433 Set errno after built-in math functions
435 fmem-report
436 Common
437 Report on permanent memory allocation
439 fmerge-all-constants
440 Common
441 Attempt to merge identical constants and constant variables
443 fmerge-constants
444 Common
445 Attempt to merge identical constants across compilation units
447 fmessage-length=
448 Common RejectNegative Joined UInteger
449 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
451 fmove-all-movables
452 Common
453 Force all loop invariant computations out of loops
455 fnew-ra
456 Common
457 Use graph-coloring register allocation
459 fnon-call-exceptions
460 Common
461 Support synchronous non-call exceptions
463 fold-unroll-loops
464 Common
465 Perform loop unrolling when iteration count is known
467 fold-unroll-all-loops
468 Common
469 Perform loop unrolling for all loops
471 fomit-frame-pointer
472 Common
473 When possible do not generate stack frames
475 foptimize-register-move
476 Common
477 Do the full register move optimization pass
479 foptimize-sibling-calls
480 Common
481 Optimize sibling and tail recursive calls
483 fpack-struct
484 Common
485 Pack structure members together without holes
487 fpcc-struct-return
488 Common
489 Return small aggregates in memory, not registers
491 fpeel-loops
492 Common
493 Perform loop peeling
495 fpeephole
496 Common
497 Enable machine specific peephole optimizations
499 fpeephole2
500 Common
501 Enable an RTL peephole pass before sched2
503 fpic
504 Common
505 Generate position-independent code if possible
507 fpie
508 Common
509 Generate position-independent code for executables if possible
511 fprefetch-loop-arrays
512 Common
513 Generate prefetch instructions, if available, for arrays in loops
515 fprofile
516 Common
517 Enable basic program profiling code
519 fprofile-arcs
520 Common
521 Insert arc-based program profiling code
523 fprofile-generate
524 Common
525 Enable common options for generating profile info for profile feedback directed optimizations
527 fprofile-use
528 Common
529 Enable common options for performing profile feedback directed optimizations
531 fprofile-values
532 Common
533 Insert code to profile values of expressions
535 frandom-seed
536 Common
538 frandom-seed=
539 Common Joined RejectNegative
540 -frandom-seed=<string>  Make compile reproducible using <string>
542 freduce-all-givs
543 Common
544 Strength reduce all loop general induction variables
546 freg-struct-return
547 Common
548 Return small aggregates in registers
550 fregmove
551 Common
552 Enables a register move optimization
554 frename-registers
555 Common
556 Perform a register renaming optimization pass
558 freorder-blocks
559 Common
560 Reorder basic blocks to improve code placement
562 freorder-functions
563 Common
564 Reorder functions to improve code placement
566 frerun-cse-after-loop
567 Common
568 Add a common subexpression elimination pass after loop optimizations
570 frerun-loop-opt
571 Common
572 Run the loop optimizer twice
574 frounding-math
575 Common
576 Disable optimizations that assume default FP rounding behavior
578 fsched-interblock
579 Common
580 Enable scheduling across basic blocks
582 fsched-spec
583 Common
584 Allow speculative motion of non-loads
586 fsched-spec-load
587 Common
588 Allow speculative motion of some loads
590 fsched-spec-load-dangerous
591 Common
592 Allow speculative motion of more loads
594 fsched-verbose=
595 Common RejectNegative Joined
596 -fsched-verbose=<number>        Set the verbosity level of the scheduler
598 fsched2-use-superblocks
599 Common
600 If scheduling post reload, do superblock scheduling
602 fsched2-use-traces
603 Common
604 If scheduling post reload, do trace scheduling
606 fschedule-insns
607 Common
608 Reschedule instructions before register allocation
610 fschedule-insns2
611 Common
612 Reschedule instructions after register allocation
614 fsched-stalled-insns
615 Common
616 Allow premature scheduling of queued insns
618 fsched-stalled-insns=
619 Common RejectNegative Joined UInteger 
620 -fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled
622 fsched-stalled-insns-dep
623 Common
624 Set dependence distance checking in premature scheduling of queued insns
626 fsched-stalled-insns-dep=
627 Common RejectNegative Joined UInteger
628 -fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns
630 fshared-data
631 Common
632 Mark data as shared rather than private
634 fsignaling-nans
635 Common
636 Disable optimizations observable by IEEE signaling NaNs
638 fsingle-precision-constant
639 Common
640 Convert floating point constants to single precision constants
642 fstack-check
643 Common
644 Insert stack checking code into the program
646 fstack-limit
647 Common
649 fstack-limit-register=
650 Common RejectNegative Joined
651 -fstack-limit-register=<register>       Trap if the stack goes past <register>
653 fstack-limit-symbol=
654 Common RejectNegative Joined
655 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
657 fstrength-reduce
658 Common
659 Perform strength reduction optimizations
661 fstrict-aliasing
662 Common
663 Assume strict aliasing rules apply
665 fsyntax-only
666 Common
667 Check for syntax errors, then stop
669 ftest-coverage
670 Common
671 Create data files needed by \"gcov\"
673 fthread-jumps
674 Common
675 Perform jump threading optimizations
677 ftime-report
678 Common
679 Report the time taken by each compiler pass
681 ftls-model=
682 Common Joined RejectNegative
683 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
685 ftracer
686 Common
687 Perform superblock formation via tail duplication
689 ftrapping-math
690 Common
691 Assume floating-point operations can trap
693 ftrapv
694 Common
695 Trap for signed overflow in addition, subtraction and multiplication
697 funit-at-a-time
698 Common
699 Compile whole compilation unit at a time
701 funroll-loops
702 Common
703 Perform loop unrolling when iteration count is known
705 funroll-all-loops
706 Common
707 Perform loop unrolling for all loops
709 funsafe-math-optimizations
710 Common
711 Allow math optimizations that may violate IEEE or ISO standards
713 funswitch-loops
714 Common
715 Perform loop unswitching
717 funwind-tables
718 Common
719 Just generate unwind tables for exception handling
721 fvar-tracking
722 Common
723 Perform variable tracking
725 fverbose-asm
726 Common
727 Add extra commentary to assembler output
729 fvpt
730 Common
731 Use expression value profiles in optimizations
733 fweb
734 Common
735 Construct webs and split unrelated uses of single variable
737 fwrapv
738 Common
739 Assume signed arithmetic overflow wraps around
741 fzero-initialized-in-bss
742 Common
743 Put zero initialized data in the bss section
746 Common JoinedOrMissing
747 Generate debug information in default format
749 gcoff
750 Common JoinedOrMissing
751 Generate debug information in COFF format
753 gdwarf-2
754 Common JoinedOrMissing
755 Generate debug information in DWARF v2 format
757 ggdb
758 Common JoinedOrMissing
759 Generate debug information in default extended format
761 gstabs
762 Common JoinedOrMissing
763 Generate debug information in STABS format
765 gstabs+
766 Common JoinedOrMissing
767 Generate debug information in extended STABS format
769 gvms
770 Common JoinedOrMissing
771 Generate debug information in VMS format
773 gxcoff
774 Common JoinedOrMissing
775 Generate debug information in XCOFF format
777 gxcoff+
778 Common JoinedOrMissing
779 Generate debug information in extended XCOFF format
782 Common Joined
785 Common Joined Separate
786 -o <file>       Place output into <file>
789 Common
790 Enable function profiling
792 pedantic
793 Common
794 Issue warnings needed for strict compliance to the standard
796 pedantic-errors
797 Common
798 Like -pedantic but issue them as errors
800 quiet
801 Common
802 Do not display functions compiled or elapsed time
804 version
805 Common
806 Display the compiler's version
809 Common
810 Suppress warnings
812 ; This comment is to ensure we retain the blank line above.