* regclass.c (choose_hard_reg_mode): Add third argument.
[official-gcc.git] / gcc / common.opt
blob7f1e995c30b95cd66c93a440f0bd1542ac26bb0c
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
32 -target-help
33 Common
35 -version
36 Common
39 Common Joined Separate UInteger
40 -G<number>      Put global and static data smaller than <number> bytes into a special section (on some targets)
43 Common JoinedOrMissing
44 -O<number>      Set optimization level to <number>
47 Common
48 Optimize for space rather than speed
51 Common RejectNegative
52 This switch is deprecated; use -Wextra instead
54 Waggregate-return
55 Common
56 Warn about returning structures, unions or arrays
58 Wcast-align
59 Common
60 Warn about pointer casts which increase alignment
62 Wdeprecated-declarations
63 Common
64 Warn about uses of __attribute__((deprecated)) declarations
66 Wdisabled-optimization
67 Common
68 Warn when an optimization pass is disabled
70 Werror
71 Common
72 Treat all warnings as errors
74 Wextra
75 Common
76 Print extra (possibly unwanted) warnings
78 Winline
79 Common
80 Warn when an inlined function cannot be inlined
82 Wlarger-than-
83 Common RejectNegative Joined UInteger
84 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
86 Wmissing-noreturn
87 Common
88 Warn about functions which might be candidates for __attribute__((noreturn))
90 Wpacked
91 Common
92 Warn when the packed attribute has no effect on struct layout
94 Wpadded
95 Common
96 Warn when padding is required to align structure members
98 Wshadow
99 Common
100 Warn when one local variable shadows another
102 Wstrict-aliasing
103 Common
104 Warn about code which might break strict aliasing rules
106 Wswitch
107 Common
108 Warn about enumerated switches, with no default, missing a case
110 Wswitch-default
111 Common
112 Warn about enumerated switches missing a \"default:\" statement
114 Wswitch-enum
115 Common
116 Warn about all enumerated switches missing a specific case
118 Wsystem-headers
119 Common
120 Do not suppress warnings from system headers
122 Wuninitialized
123 Common
124 Warn about uninitialized automatic variables
126 Wunreachable-code
127 Common
128 Warn about code that will never be executed
130 Wunused
131 Common
132 Enable all -Wunused- warnings
134 Wunused-function
135 Common
136 Warn when a function is unused
138 Wunused-label
139 Common
140 Warn when a label is unused
142 Wunused-parameter
143 Common
144 Warn when a function parameter is unused
146 Wunused-value
147 Common
148 Warn when an expression value is unused
150 Wunused-variable
151 Common
152 Warn when a variable is unused
154 aux-info
155 Common Separate
156 -aux-info <file>        Emit declaration information into <file>
158 aux-info=
159 Common Joined
161 auxbase
162 Common Separate
164 auxbase-strip
165 Common Separate
168 Common Joined
169 -d<letters>     Enable dumps from specific passes of the compiler
171 dumpbase
172 Common Separate
173 -dumpbase <file>        Set the file basename to be used for dumps
175 fPIC
176 Common
178 fPIE
179 Common
181 falign-functions
182 Common
183 Align the start of functions
185 falign-functions=
186 Common RejectNegative Joined UInteger
188 falign-jumps
189 Common
190 Align labels which are only reached by jumping
192 falign-jumps=
193 Common RejectNegative Joined UInteger
195 falign-labels
196 Common
197 Align all labels
199 falign-labels=
200 Common RejectNegative Joined UInteger
202 falign-loops
203 Common
204 Align the start of loops
206 falign-loops=
207 Common RejectNegative Joined UInteger
209 fargument-alias
210 Common
211 Specify that arguments may alias each other and globals
213 fargument-noalias
214 Common
215 Assume arguments may alias globals but not each other
217 fargument-noalias-global
218 Common
219 Assume arguments alias neither each other nor globals
221 fasynchronous-unwind-tables
222 Common
223 Generate unwind tables that are exact at each instruction boundary
225 fbounds-check
226 Common
227 Generate code to check bounds before indexing arrays
229 fbranch-count-reg
230 Common
231 Replace add, compare, branch with branch on count register
233 fbranch-probabilities
234 Common
235 Use profiling information for branch probabilities
237 fbranch-target-load-optimize
238 Common
239 Perform branch target load optimization before prologue / epilogue threading
241 fbranch-target-load-optimize2
242 Common
243 Perform branch target load optimization after prologue / epilogue threading
245 fcall-saved-
246 Common Joined RejectNegative
247 -fcall-saved-<register> Mark <register> as being preserved across functions
249 fcall-used-
250 Common Joined RejectNegative
251 -fcall-used-<register>  Mark <register> as being corrupted by function calls
253 fcaller-saves
254 Common
255 Save registers around function calls
257 fcommon
258 Common
259 Do not put uninitialized globals in the common section
261 fcprop-registers
262 Common
263 Perform a register copy-propagation optimization pass
265 fcrossjumping
266 Common
267 Perform cross-jumping optimization
269 fcse-follow-jumps
270 Common
271 When running CSE, follow jumps to their targets
273 fcse-skip-blocks
274 Common
275 When running CSE, follow conditional jumps
277 fdata-sections
278 Common
279 Place data items into their own section
281 fdefer-pop
282 Common
283 Defer popping functions args from stack until later
285 fdelayed-branch
286 Common
287 Attempt to fill delay slots of branch instructions
289 fdelete-null-pointer-checks
290 Common
291 Delete useless null pointer checks
293 fdiagnostics-show-location=
294 Common Joined RejectNegative
295 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
297 fdump-unnumbered
298 Common
299 Suppress output of instruction numbers and line number notes in debugging dumps
301 feliminate-dwarf2-dups
302 Common
303 Perform DWARF2 duplicate elimination
305 feliminate-unused-debug-symbols
306 Common
307 Perform unused type elimination in debug info
309 feliminate-unused-debug-types
310 Common
311 Perform unused type elimination in debug info
313 fexceptions
314 Common
315 Enable exception handling
317 fexpensive-optimizations
318 Common
319 Perform a number of minor, expensive optimizations
321 ffast-math
322 Common
324 ffinite-math-only
325 Common
326 Assume no NaNs or infinities are generated
328 ffixed-
329 Common Joined RejectNegative
330 -ffixed-<register>      Mark <register> as being unavailable to the compiler
332 ffloat-store
333 Common
334 Do not store floats in registers
336 fforce-addr
337 Common
338 Copy memory address constants into registers before use
340 fforce-mem
341 Common
342 Copy memory operands into registers before use
344 ffunction-cse
345 Common
346 Allow function addresses to be held in registers
348 ffunction-sections
349 Common
350 Place each function into its own section
352 fgcse
353 Common
354 Perform global common subexpression elimination
356 fgcse-lm
357 Common
358 Perform enhanced load motion during global common subexpression elimination
360 fgcse-sm
361 Common
362 Perform store motion after global common subexpression elimination
364 fgnu-linker
365 Common
366 Output GNU ld formatted global initializers
368 fguess-branch-probability
369 Common
370 Enable guessing of branch probabilities
372 fident
373 Common
374 Process #ident directives
376 fif-conversion
377 Common
378 Perform conversion of conditional jumps to branchless equivalents
380 fif-conversion2
381 Common
382 Perform conversion of conditional jumps to conditional execution
384 finhibit-size-directive
385 Common
386 Do not generate .size directives
388 finline
389 Common
390 Pay attention to the \"inline\" keyword
392 finline-functions
393 Common
394 Integrate simple functions into their callers
396 finline-limit-
397 Common RejectNegative Joined UInteger
399 finline-limit=
400 Common RejectNegative Joined UInteger
401 -finline-limit=<number> Limit the size of inlined functions to <number>
403 finstrument-functions
404 Common
405 Instrument function entry and exit with profiling calls
407 fkeep-inline-functions
408 Common
409 Generate code for functions even if they are fully inlined
411 fkeep-static-consts
412 Common
413 Emit static const variables even if they are not used
415 fleading-underscore
416 Common
417 Give external symbols a leading underscore
419 floop-optimize
420 Common
421 Perform loop optimizations
423 fmath-errno
424 Common
425 Set errno after built-in math functions
427 fmem-report
428 Common
429 Report on permanent memory allocation
431 fmerge-all-constants
432 Common
433 Attempt to merge identical constants and constant variables
435 fmerge-constants
436 Common
437 Attempt to merge identical constants across compilation units
439 fmessage-length=
440 Common RejectNegative Joined UInteger
441 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
443 fmove-all-movables
444 Common
445 Force all loop invariant computations out of loops
447 fnew-ra
448 Common
449 Use graph-coloring register allocation
451 fnon-call-exceptions
452 Common
453 Support synchronous non-call exceptions
455 fold-unroll-loops
456 Common
457 Perform loop unrolling when iteration count is known
459 fold-unroll-all-loops
460 Common
461 Perform loop unrolling for all loops
463 fomit-frame-pointer
464 Common
465 When possible do not generate stack frames
467 foptimize-register-move
468 Common
469 Do the full register move optimization pass
471 foptimize-sibling-calls
472 Common
473 Optimize sibling and tail recursive calls
475 fpack-struct
476 Common
477 Pack structure members together without holes
479 fpcc-struct-return
480 Common
481 Return small aggregates in memory, not registers
483 fpeel-loops
484 Common
485 Perform loop peeling
487 fpeephole
488 Common
489 Enable machine specific peephole optimizations
491 fpeephole2
492 Common
493 Enable an RTL peephole pass before sched2
495 fpic
496 Common
497 Generate position-independent code if possible
499 fpie
500 Common
501 Generate position-independent code for executables if possible
503 fprefetch-loop-arrays
504 Common
505 Generate prefetch instructions, if available, for arrays in loops
507 fprofile
508 Common
509 Enable basic program profiling code
511 fprofile-arcs
512 Common
513 Insert arc-based program profiling code
515 frandom-seed
516 Common
518 frandom-seed=
519 Common Joined RejectNegative
520 -frandom-seed=<string>  Make compile reproducible using <string>
522 freduce-all-givs
523 Common
524 Strength reduce all loop general induction variables
526 freg-struct-return
527 Common
528 Return small aggregates in registers
530 fregmove
531 Common
532 Enables a register move optimization
534 frename-registers
535 Common
536 Perform a register renaming optimization pass
538 freorder-blocks
539 Common
540 Reorder basic blocks to improve code placement
542 freorder-functions
543 Common
544 Reorder functions to improve code placement
546 frerun-cse-after-loop
547 Common
548 Add a common subexpression elimination pass after loop optimizations
550 frerun-loop-opt
551 Common
552 Run the loop optimizer twice
554 fsched-interblock
555 Common
556 Enable scheduling across basic blocks
558 fsched-spec
559 Common
560 Allow speculative motion of non-loads
562 fsched-spec-load
563 Common
564 Allow speculative motion of some loads
566 fsched-spec-load-dangerous
567 Common
568 Allow speculative motion of more loads
570 fsched-verbose=
571 Common RejectNegative Joined
572 -fsched-verbose=<number>        Set the verbosity level of the scheduler
574 fsched2-use-superblocks
575 Common
576 If scheduling post reload, do superblock scheduling
578 fsched2-use-traces
579 Common
580 If scheduling post reload, do trace scheduling
582 fschedule-insns
583 Common
584 Reschedule instructions before register allocation
586 fschedule-insns2
587 Common
588 Reschedule instructions after register allocation
590 fshared-data
591 Common
592 Mark data as shared rather than private
594 fsignaling-nans
595 Common
596 Disable optimizations observable by IEEE signaling NaNs
598 fsingle-precision-constant
599 Common
600 Convert floating point constants to single precision constants
602 fssa
603 Common
604 Enable static single assignment optimizations
606 fssa-ccp
607 Common
608 Enable SSA conditional constant propagation
610 fssa-dce
611 Common
612 Enable aggressive SSA dead code elimination
614 fstack-check
615 Common
616 Insert stack checking code into the program
618 fstack-limit
619 Common
621 fstack-limit-register=
622 Common RejectNegative Joined
623 -fstack-limit-register=<register>       Trap if the stack goes past <register>
625 fstack-limit-symbol=
626 Common RejectNegative Joined
627 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
629 fstrength-reduce
630 Common
631 Perform strength reduction optimizations
633 fstrict-aliasing
634 Common
635 Assume strict aliasing rules apply
637 fsyntax-only
638 Common
639 Check for syntax errors, then stop
641 ftest-coverage
642 Common
643 Create data files needed by \"gcov\"
645 fthread-jumps
646 Common
647 Perform jump threading optimizations
649 ftime-report
650 Common
651 Report the time taken by each compiler pass
653 ftls-model=
654 Common Joined RejectNegative
655 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
657 ftracer
658 Common
659 Perform superblock formation via tail duplication
661 ftrapping-math
662 Common
663 Assume floating-point operations can trap
665 ftrapv
666 Common
667 Trap for signed overflow in addition, subtraction and multiplication
669 funit-at-a-time
670 Common
671 Compile whole compilation unit at a time
673 funroll-loops
674 Common
675 Perform loop unrolling when iteration count is known
677 funroll-all-loops
678 Common
679 Perform loop unrolling for all loops
681 funsafe-math-optimizations
682 Common
683 Allow math optimizations that may violate IEEE or ISO standards
685 funswitch-loops
686 Common
687 Perform loop unswitching
689 funwind-tables
690 Common
691 Just generate unwind tables for exception handling
693 fverbose-asm
694 Common
695 Add extra commentary to assembler output
697 fwrapv
698 Common
699 Assume signed arithmetic overflow wraps around
701 fwritable-strings
702 Common
703 Store strings in writable data section
705 fzero-initialized-in-bss
706 Common
707 Put zero initialized data in the bss section
710 Common JoinedOrMissing
713 Common Joined
716 Common Joined Separate
717 -o <file>       Place output into <file>
720 Common
721 Enable function profiling
723 pedantic
724 Common
725 Issue warnings needed for strict compliance to the standard
727 pedantic-errors
728 Common
729 Like -pedantic but issue them as errors
731 quiet
732 Common
733 Do not display functions compiled or elapsed time
735 version
736 Common
737 Display the compiler's version
740 Common
741 Suppress warnings
743 ; This comment is to ensure we retain the blank line above.