* function.c (walk_fixup_memory_subreg): New parameter 'var'.
[official-gcc.git] / gcc / common.opt
bloba89b2be37852c2a82bc741e1a0bc21fce7842f89
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 Wfatal-errors
80 Common
81 Exit on the first error occurred
83 Winline
84 Common
85 Warn when an inlined function cannot be inlined
87 Wlarger-than-
88 Common RejectNegative Joined UInteger
89 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
91 Wmissing-noreturn
92 Common
93 Warn about functions which might be candidates for __attribute__((noreturn))
95 Wpacked
96 Common
97 Warn when the packed attribute has no effect on struct layout
99 Wpadded
100 Common
101 Warn when padding is required to align structure members
103 Wshadow
104 Common
105 Warn when one local variable shadows another
107 Wstrict-aliasing
108 Common
109 Warn about code which might break strict aliasing rules
111 Wstrict-aliasing=
112 Common Joined UInteger
113 Warn about code which might break strict aliasing rules
115 Wswitch
116 Common
117 Warn about enumerated switches, with no default, missing a case
119 Wswitch-default
120 Common
121 Warn about enumerated switches missing a \"default:\" statement
123 Wswitch-enum
124 Common
125 Warn about all enumerated switches missing a specific case
127 Wsystem-headers
128 Common
129 Do not suppress warnings from system headers
131 Wuninitialized
132 Common
133 Warn about uninitialized automatic variables
135 Wunreachable-code
136 Common
137 Warn about code that will never be executed
139 Wunused
140 Common
141 Enable all -Wunused- warnings
143 Wunused-function
144 Common
145 Warn when a function is unused
147 Wunused-label
148 Common
149 Warn when a label is unused
151 Wunused-parameter
152 Common
153 Warn when a function parameter is unused
155 Wunused-value
156 Common
157 Warn when an expression value is unused
159 Wunused-variable
160 Common
161 Warn when a variable is unused
163 aux-info
164 Common Separate
165 -aux-info <file>        Emit declaration information into <file>
167 aux-info=
168 Common Joined
170 auxbase
171 Common Separate
173 auxbase-strip
174 Common Separate
177 Common Joined
178 -d<letters>     Enable dumps from specific passes of the compiler
180 dumpbase
181 Common Separate
182 -dumpbase <file>        Set the file basename to be used for dumps
184 fPIC
185 Common
187 fPIE
188 Common
190 fabi-version=
191 Common Joined UInteger
193 falign-functions
194 Common
195 Align the start of functions
197 falign-functions=
198 Common RejectNegative Joined UInteger
200 falign-jumps
201 Common
202 Align labels which are only reached by jumping
204 falign-jumps=
205 Common RejectNegative Joined UInteger
207 falign-labels
208 Common
209 Align all labels
211 falign-labels=
212 Common RejectNegative Joined UInteger
214 falign-loops
215 Common
216 Align the start of loops
218 falign-loops=
219 Common RejectNegative Joined UInteger
221 fargument-alias
222 Common
223 Specify that arguments may alias each other and globals
225 fargument-noalias
226 Common
227 Assume arguments may alias globals but not each other
229 fargument-noalias-global
230 Common
231 Assume arguments alias neither each other nor globals
233 fasynchronous-unwind-tables
234 Common
235 Generate unwind tables that are exact at each instruction boundary
237 fbounds-check
238 Common
239 Generate code to check bounds before indexing arrays
241 fbranch-count-reg
242 Common
243 Replace add, compare, branch with branch on count register
245 fbranch-probabilities
246 Common
247 Use profiling information for branch probabilities
249 fbranch-target-load-optimize
250 Common
251 Perform branch target load optimization before prologue / epilogue threading
253 fbranch-target-load-optimize2
254 Common
255 Perform branch target load optimization after prologue / epilogue threading
257 fbtr-bb-exclusive
258 Common
259 Restrict target load migration not to re-use registers in any basic block
261 fcall-saved-
262 Common Joined RejectNegative
263 -fcall-saved-<register> Mark <register> as being preserved across functions
265 fcall-used-
266 Common Joined RejectNegative
267 -fcall-used-<register>  Mark <register> as being corrupted by function calls
269 fcaller-saves
270 Common
271 Save registers around function calls
273 fcommon
274 Common
275 Do not put uninitialized globals in the common section
277 fcprop-registers
278 Common
279 Perform a register copy-propagation optimization pass
281 fcrossjumping
282 Common
283 Perform cross-jumping optimization
285 fcse-follow-jumps
286 Common
287 When running CSE, follow jumps to their targets
289 fcse-skip-blocks
290 Common
291 When running CSE, follow conditional jumps
293 fdata-sections
294 Common
295 Place data items into their own section
297 fdefer-pop
298 Common
299 Defer popping functions args from stack until later
301 fdelayed-branch
302 Common
303 Attempt to fill delay slots of branch instructions
305 fdelete-null-pointer-checks
306 Common
307 Delete useless null pointer checks
309 fdiagnostics-show-location=
310 Common Joined RejectNegative
311 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
313 fdump-
314 Common Joined RejectNegative
315 -fdump-<type>   Dump various compiler internals to a file
317 fdump-unnumbered
318 Common
319 Suppress output of instruction numbers and line number notes in debugging dumps
321 feliminate-dwarf2-dups
322 Common
323 Perform DWARF2 duplicate elimination
325 feliminate-unused-debug-symbols
326 Common
327 Perform unused type elimination in debug info
329 feliminate-unused-debug-types
330 Common
331 Perform unused type elimination in debug info
333 fexceptions
334 Common
335 Enable exception handling
337 fexpensive-optimizations
338 Common
339 Perform a number of minor, expensive optimizations
341 ffast-math
342 Common
344 ffinite-math-only
345 Common
346 Assume no NaNs or infinities are generated
348 ffixed-
349 Common Joined RejectNegative
350 -ffixed-<register>      Mark <register> as being unavailable to the compiler
352 ffloat-store
353 Common
354 Do not store floats in registers
356 fforce-addr
357 Common
358 Copy memory address constants into registers before use
360 fforce-mem
361 Common
362 Copy memory operands into registers before use
364 ffunction-cse
365 Common
366 Allow function addresses to be held in registers
368 ffunction-sections
369 Common
370 Place each function into its own section
372 fgcse
373 Common
374 Perform global common subexpression elimination
376 fgcse-lm
377 Common
378 Perform enhanced load motion during global common subexpression elimination
380 fgcse-sm
381 Common
382 Perform store motion after global common subexpression elimination
384 fgcse-las
385 Common
386 Perform redundant load after store elimination in global common subexpression
387 elimination
389 fgcse-after-reload
390 Common
391 Perform global common subexpression elimination after register allocation
392 has finished.
394 fguess-branch-probability
395 Common
396 Enable guessing of branch probabilities
398 fident
399 Common
400 Process #ident directives
402 fif-conversion
403 Common
404 Perform conversion of conditional jumps to branchless equivalents
406 fif-conversion2
407 Common
408 Perform conversion of conditional jumps to conditional execution
410 finhibit-size-directive
411 Common
412 Do not generate .size directives
414 finline
415 Common
416 Pay attention to the \"inline\" keyword
418 finline-functions
419 Common
420 Integrate simple functions into their callers
422 finline-limit-
423 Common RejectNegative Joined UInteger
425 finline-limit=
426 Common RejectNegative Joined UInteger
427 -finline-limit=<number> Limit the size of inlined functions to <number>
429 finstrument-functions
430 Common
431 Instrument function entry and exit with profiling calls
433 fkeep-inline-functions
434 Common
435 Generate code for functions even if they are fully inlined
437 fkeep-static-consts
438 Common
439 Emit static const variables even if they are not used
441 fleading-underscore
442 Common
443 Give external symbols a leading underscore
445 floop-optimize
446 Common
447 Perform loop optimizations
449 fmath-errno
450 Common
451 Set errno after built-in math functions
453 fmem-report
454 Common
455 Report on permanent memory allocation
457 fmerge-all-constants
458 Common
459 Attempt to merge identical constants and constant variables
461 fmerge-constants
462 Common
463 Attempt to merge identical constants across compilation units
465 fmessage-length=
466 Common RejectNegative Joined UInteger
467 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
469 fmodulo-sched
470 Common
471 Perform SMS based modulo scheduling before the first scheduling pass
473 fmove-all-movables
474 Common
475 Force all loop invariant computations out of loops
477 fmudflap
478 Common RejectNegative
479 Add mudflap bounds-checking instrumentation for single-threaded program.
481 fmudflapth
482 Common RejectNegative
483 Add mudflap bounds-checking instrumentation for multi-threaded program.
485 fmudflapir
486 Common RejectNegative
487 Ignore read operations when inserting mudflap instrumentation.
489 fnew-ra
490 Common
491 Use graph-coloring register allocation
493 fnon-call-exceptions
494 Common
495 Support synchronous non-call exceptions
497 fold-unroll-loops
498 Common
499 Perform loop unrolling when iteration count is known
501 fold-unroll-all-loops
502 Common
503 Perform loop unrolling for all loops
505 fomit-frame-pointer
506 Common
507 When possible do not generate stack frames
509 foptimize-register-move
510 Common
511 Do the full register move optimization pass
513 foptimize-sibling-calls
514 Common
515 Optimize sibling and tail recursive calls
517 fpack-struct
518 Common
519 Pack structure members together without holes
521 fpcc-struct-return
522 Common
523 Return small aggregates in memory, not registers
525 fpeel-loops
526 Common
527 Perform loop peeling
529 fpeephole
530 Common
531 Enable machine specific peephole optimizations
533 fpeephole2
534 Common
535 Enable an RTL peephole pass before sched2
537 fpic
538 Common
539 Generate position-independent code if possible
541 fpie
542 Common
543 Generate position-independent code for executables if possible
545 fprefetch-loop-arrays
546 Common
547 Generate prefetch instructions, if available, for arrays in loops
549 fprofile
550 Common
551 Enable basic program profiling code
553 fprofile-arcs
554 Common
555 Insert arc-based program profiling code
557 fprofile-generate
558 Common
559 Enable common options for generating profile info for profile feedback directed optimizations
561 fprofile-use
562 Common
563 Enable common options for performing profile feedback directed optimizations
565 fprofile-values
566 Common
567 Insert code to profile values of expressions
569 frandom-seed
570 Common
572 frandom-seed=
573 Common Joined RejectNegative
574 -frandom-seed=<string>  Make compile reproducible using <string>
576 freduce-all-givs
577 Common
578 Strength reduce all loop general induction variables
580 freg-struct-return
581 Common
582 Return small aggregates in registers
584 fregmove
585 Common
586 Enables a register move optimization
588 frename-registers
589 Common
590 Perform a register renaming optimization pass
592 freorder-blocks
593 Common
594 Reorder basic blocks to improve code placement
596 freorder-blocks-and-partition
597 Common
598 Reorder basic blocks and partition into hot and cold sections
600 freorder-functions
601 Common
602 Reorder functions to improve code placement
604 frerun-cse-after-loop
605 Common
606 Add a common subexpression elimination pass after loop optimizations
608 frerun-loop-opt
609 Common
610 Run the loop optimizer twice
612 frounding-math
613 Common
614 Disable optimizations that assume default FP rounding behavior
616 fsched-interblock
617 Common
618 Enable scheduling across basic blocks
620 fsched-spec
621 Common
622 Allow speculative motion of non-loads
624 fsched-spec-load
625 Common
626 Allow speculative motion of some loads
628 fsched-spec-load-dangerous
629 Common
630 Allow speculative motion of more loads
632 fsched-verbose=
633 Common RejectNegative Joined
634 -fsched-verbose=<number>        Set the verbosity level of the scheduler
636 fsched2-use-superblocks
637 Common
638 If scheduling post reload, do superblock scheduling
640 fsched2-use-traces
641 Common
642 If scheduling post reload, do trace scheduling
644 fschedule-insns
645 Common
646 Reschedule instructions before register allocation
648 fschedule-insns2
649 Common
650 Reschedule instructions after register allocation
652 fsched-stalled-insns
653 Common
654 Allow premature scheduling of queued insns
656 fsched-stalled-insns=
657 Common RejectNegative Joined UInteger 
658 -fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled
660 fsched-stalled-insns-dep
661 Common
662 Set dependence distance checking in premature scheduling of queued insns
664 fsched-stalled-insns-dep=
665 Common RejectNegative Joined UInteger
666 -fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns
668 fshared-data
669 Common
670 Mark data as shared rather than private
672 fsignaling-nans
673 Common
674 Disable optimizations observable by IEEE signaling NaNs
676 fsingle-precision-constant
677 Common
678 Convert floating point constants to single precision constants
680 fstack-check
681 Common
682 Insert stack checking code into the program
684 fstack-limit
685 Common
687 fstack-limit-register=
688 Common RejectNegative Joined
689 -fstack-limit-register=<register>       Trap if the stack goes past <register>
691 fstack-limit-symbol=
692 Common RejectNegative Joined
693 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
695 fstrength-reduce
696 Common
697 Perform strength reduction optimizations
699 fstrict-aliasing
700 Common
701 Assume strict aliasing rules apply
703 fsyntax-only
704 Common
705 Check for syntax errors, then stop
707 ftest-coverage
708 Common
709 Create data files needed by \"gcov\"
711 fthread-jumps
712 Common
713 Perform jump threading optimizations
715 ftime-report
716 Common
717 Report the time taken by each compiler pass
719 ftls-model=
720 Common Joined RejectNegative
721 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
723 ftracer
724 Common
725 Perform superblock formation via tail duplication
727 ftrapping-math
728 Common
729 Assume floating-point operations can trap
731 ftrapv
732 Common
733 Trap for signed overflow in addition, subtraction and multiplication
735 ftree-based-profiling
736 Common
737 Use tree-ssa based implementation of profiling
739 ftree-ccp
740 Common
741 Enable SSA-CCP optimization on trees
743 ftree-ch
744 Common
745 Enable loop header copying on trees
747 ftree-combine-temps
748 Common
749 Coalesce memory temporaries in the SSA->normal pass
751 ftree-copyrename
752 Common
753 Replace SSA temporaries with better names in copies.
755 ftree-dce
756 Common
757 Enable SSA dead code elimination optimization on trees
759 ftree-dominator-opts
760 Common
761 Enable dominator optimizations
763 ftree-dse
764 Common
765 Enable dead store elimination
767 ftree-points-to=
768 Common Joined RejectNegative
770 ftree-pre
771 Common
772 Enable SSA-PRE optimization on trees
774 ftree-sra
775 Common
776 Perform scalar replacement of aggregates
778 ftree-ter
779 Common
780 Replace temporary expressions in the SSA->normal pass
782 ftree-lrs
783 Common
784 Perform live range splitting during the SSA->normal pass.
786 funit-at-a-time
787 Common
788 Compile whole compilation unit at a time
790 funroll-loops
791 Common
792 Perform loop unrolling when iteration count is known
794 funroll-all-loops
795 Common
796 Perform loop unrolling for all loops
798 funsafe-math-optimizations
799 Common
800 Allow math optimizations that may violate IEEE or ISO standards
802 funswitch-loops
803 Common
804 Perform loop unswitching
806 funwind-tables
807 Common
808 Just generate unwind tables for exception handling
810 fvar-tracking
811 Common
812 Perform variable tracking
814 fverbose-asm
815 Common
816 Add extra commentary to assembler output
818 fvpt
819 Common
820 Use expression value profiles in optimizations
822 fweb
823 Common
824 Construct webs and split unrelated uses of single variable
826 fwrapv
827 Common
828 Assume signed arithmetic overflow wraps around
830 fzero-initialized-in-bss
831 Common
832 Put zero initialized data in the bss section
835 Common JoinedOrMissing
836 Generate debug information in default format
838 gcoff
839 Common JoinedOrMissing
840 Generate debug information in COFF format
842 gdwarf-2
843 Common JoinedOrMissing
844 Generate debug information in DWARF v2 format
846 ggdb
847 Common JoinedOrMissing
848 Generate debug information in default extended format
850 gstabs
851 Common JoinedOrMissing
852 Generate debug information in STABS format
854 gstabs+
855 Common JoinedOrMissing
856 Generate debug information in extended STABS format
858 gvms
859 Common JoinedOrMissing
860 Generate debug information in VMS format
862 gxcoff
863 Common JoinedOrMissing
864 Generate debug information in XCOFF format
866 gxcoff+
867 Common JoinedOrMissing
868 Generate debug information in extended XCOFF format
871 Common Joined
874 Common Joined Separate
875 -o <file>       Place output into <file>
878 Common
879 Enable function profiling
881 pedantic
882 Common
883 Issue warnings needed for strict compliance to the standard
885 pedantic-errors
886 Common
887 Like -pedantic but issue them as errors
889 quiet
890 Common
891 Do not display functions compiled or elapsed time
893 version
894 Common
895 Display the compiler's version
898 Common
899 Suppress warnings
901 ; This comment is to ensure we retain the blank line above.