OSDN Git Service

2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / common.opt
1 ; Options for the language- and target-independent parts of the compiler.
2 ; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
3 ;
4 ; This file is part of GCC.
5 ;
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.
20
21 ; See c.opt for a description of this file's format.
22
23 ; Please try to keep this file in ASCII collating order.
24
25 -help
26 Common
27 Display this information
28
29 -param
30 Common Separate
31 --param <param>=<value> Set paramter <param> to value.  See below for a complete list of parameters
32
33 -target-help
34 Common
35
36 -version
37 Common
38
39 G
40 Common Joined Separate UInteger
41 -G<number>      Put global and static data smaller than <number> bytes into a special section (on some targets)
42
43 O
44 Common JoinedOrMissing
45 -O<number>      Set optimization level to <number>
46
47 Os
48 Common
49 Optimize for space rather than speed
50
51 W
52 Common RejectNegative
53 This switch is deprecated; use -Wextra instead
54
55 Waggregate-return
56 Common
57 Warn about returning structures, unions or arrays
58
59 Wcast-align
60 Common
61 Warn about pointer casts which increase alignment
62
63 Wdeprecated-declarations
64 Common
65 Warn about uses of __attribute__((deprecated)) declarations
66
67 Wdisabled-optimization
68 Common
69 Warn when an optimization pass is disabled
70
71 Werror
72 Common
73 Treat all warnings as errors
74
75 Wextra
76 Common
77 Print extra (possibly unwanted) warnings
78
79 Wfatal-errors
80 Common
81 Exit on the first error occurred
82
83 Winline
84 Common
85 Warn when an inlined function cannot be inlined
86
87 Wlarger-than-
88 Common RejectNegative Joined UInteger
89 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
90
91 Wmissing-noreturn
92 Common
93 Warn about functions which might be candidates for __attribute__((noreturn))
94
95 Wpacked
96 Common
97 Warn when the packed attribute has no effect on struct layout
98
99 Wpadded
100 Common
101 Warn when padding is required to align structure members
102
103 Wshadow
104 Common
105 Warn when one local variable shadows another
106
107 Wstrict-aliasing
108 Common
109 Warn about code which might break strict aliasing rules
110
111 Wstrict-aliasing=
112 Common Joined UInteger
113 Warn about code which might break strict aliasing rules
114
115 Wswitch
116 Common
117 Warn about enumerated switches, with no default, missing a case
118
119 Wswitch-default
120 Common
121 Warn about enumerated switches missing a \"default:\" statement
122
123 Wswitch-enum
124 Common
125 Warn about all enumerated switches missing a specific case
126
127 Wsystem-headers
128 Common
129 Do not suppress warnings from system headers
130
131 Wuninitialized
132 Common
133 Warn about uninitialized automatic variables
134
135 Wunreachable-code
136 Common
137 Warn about code that will never be executed
138
139 Wunused
140 Common
141 Enable all -Wunused- warnings
142
143 Wunused-function
144 Common
145 Warn when a function is unused
146
147 Wunused-label
148 Common
149 Warn when a label is unused
150
151 Wunused-parameter
152 Common
153 Warn when a function parameter is unused
154
155 Wunused-value
156 Common
157 Warn when an expression value is unused
158
159 Wunused-variable
160 Common
161 Warn when a variable is unused
162
163 aux-info
164 Common Separate
165 -aux-info <file>        Emit declaration information into <file>
166
167 aux-info=
168 Common Joined
169
170 auxbase
171 Common Separate
172
173 auxbase-strip
174 Common Separate
175
176 d
177 Common Joined
178 -d<letters>     Enable dumps from specific passes of the compiler
179
180 dumpbase
181 Common Separate
182 -dumpbase <file>        Set the file basename to be used for dumps
183
184 fPIC
185 Common
186
187 fPIE
188 Common
189
190 fabi-version=
191 Common Joined UInteger
192
193 falign-functions
194 Common
195 Align the start of functions
196
197 falign-functions=
198 Common RejectNegative Joined UInteger
199
200 falign-jumps
201 Common
202 Align labels which are only reached by jumping
203
204 falign-jumps=
205 Common RejectNegative Joined UInteger
206
207 falign-labels
208 Common
209 Align all labels
210
211 falign-labels=
212 Common RejectNegative Joined UInteger
213
214 falign-loops
215 Common
216 Align the start of loops
217
218 falign-loops=
219 Common RejectNegative Joined UInteger
220
221 fargument-alias
222 Common
223 Specify that arguments may alias each other and globals
224
225 fargument-noalias
226 Common
227 Assume arguments may alias globals but not each other
228
229 fargument-noalias-global
230 Common
231 Assume arguments alias neither each other nor globals
232
233 fasynchronous-unwind-tables
234 Common
235 Generate unwind tables that are exact at each instruction boundary
236
237 fbounds-check
238 Common
239 Generate code to check bounds before indexing arrays
240
241 fbranch-count-reg
242 Common
243 Replace add, compare, branch with branch on count register
244
245 fbranch-probabilities
246 Common
247 Use profiling information for branch probabilities
248
249 fbranch-target-load-optimize
250 Common
251 Perform branch target load optimization before prologue / epilogue threading
252
253 fbranch-target-load-optimize2
254 Common
255 Perform branch target load optimization after prologue / epilogue threading
256
257 fbtr-bb-exclusive
258 Common
259 Restrict target load migration not to re-use registers in any basic block
260
261 fcall-saved-
262 Common Joined RejectNegative
263 -fcall-saved-<register> Mark <register> as being preserved across functions
264
265 fcall-used-
266 Common Joined RejectNegative
267 -fcall-used-<register>  Mark <register> as being corrupted by function calls
268
269 fcaller-saves
270 Common
271 Save registers around function calls
272
273 fcommon
274 Common
275 Do not put uninitialized globals in the common section
276
277 fcprop-registers
278 Common
279 Perform a register copy-propagation optimization pass
280
281 fcrossjumping
282 Common
283 Perform cross-jumping optimization
284
285 fcse-follow-jumps
286 Common
287 When running CSE, follow jumps to their targets
288
289 fcse-skip-blocks
290 Common
291 When running CSE, follow conditional jumps
292
293 fdata-sections
294 Common
295 Place data items into their own section
296
297 fdefer-pop
298 Common
299 Defer popping functions args from stack until later
300
301 fdelayed-branch
302 Common
303 Attempt to fill delay slots of branch instructions
304
305 fdelete-null-pointer-checks
306 Common
307 Delete useless null pointer checks
308
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
312
313 fdump-
314 Common Joined RejectNegative
315 -fdump-<type>   Dump various compiler internals to a file
316
317 fdump-unnumbered
318 Common
319 Suppress output of instruction numbers and line number notes in debugging dumps
320
321 feliminate-dwarf2-dups
322 Common
323 Perform DWARF2 duplicate elimination
324
325 feliminate-unused-debug-symbols
326 Common
327 Perform unused type elimination in debug info
328
329 feliminate-unused-debug-types
330 Common
331 Perform unused type elimination in debug info
332
333 fexceptions
334 Common
335 Enable exception handling
336
337 fexpensive-optimizations
338 Common
339 Perform a number of minor, expensive optimizations
340
341 ffast-math
342 Common
343
344 ffinite-math-only
345 Common
346 Assume no NaNs or infinities are generated
347
348 ffixed-
349 Common Joined RejectNegative
350 -ffixed-<register>      Mark <register> as being unavailable to the compiler
351
352 ffloat-store
353 Common
354 Do not store floats in registers
355
356 fforce-addr
357 Common
358 Copy memory address constants into registers before use
359
360 fforce-mem
361 Common
362 Copy memory operands into registers before use
363
364 ffunction-cse
365 Common
366 Allow function addresses to be held in registers
367
368 ffunction-sections
369 Common
370 Place each function into its own section
371
372 fgcse
373 Common
374 Perform global common subexpression elimination
375
376 fgcse-lm
377 Common
378 Perform enhanced load motion during global common subexpression elimination
379
380 fgcse-sm
381 Common
382 Perform store motion after global common subexpression elimination
383
384 fgcse-las
385 Common
386 Perform redundant load after store elimination in global common subexpression
387 elimination
388
389 fgcse-after-reload
390 Common
391 Perform global common subexpression elimination after register allocation
392 has finished.
393
394 fguess-branch-probability
395 Common
396 Enable guessing of branch probabilities
397
398 fident
399 Common
400 Process #ident directives
401
402 fif-conversion
403 Common
404 Perform conversion of conditional jumps to branchless equivalents
405
406 fif-conversion2
407 Common
408 Perform conversion of conditional jumps to conditional execution
409
410 finhibit-size-directive
411 Common
412 Do not generate .size directives
413
414 finline
415 Common
416 Pay attention to the \"inline\" keyword
417
418 finline-functions
419 Common
420 Integrate simple functions into their callers
421
422 finline-limit-
423 Common RejectNegative Joined UInteger
424
425 finline-limit=
426 Common RejectNegative Joined UInteger
427 -finline-limit=<number> Limit the size of inlined functions to <number>
428
429 finstrument-functions
430 Common
431 Instrument function entry and exit with profiling calls
432
433 fkeep-inline-functions
434 Common
435 Generate code for functions even if they are fully inlined
436
437 fkeep-static-consts
438 Common
439 Emit static const variables even if they are not used
440
441 fleading-underscore
442 Common
443 Give external symbols a leading underscore
444
445 floop-optimize
446 Common
447 Perform loop optimizations
448
449 fmath-errno
450 Common
451 Set errno after built-in math functions
452
453 fmem-report
454 Common
455 Report on permanent memory allocation
456
457 fmerge-all-constants
458 Common
459 Attempt to merge identical constants and constant variables
460
461 fmerge-constants
462 Common
463 Attempt to merge identical constants across compilation units
464
465 fmessage-length=
466 Common RejectNegative Joined UInteger
467 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
468
469 fmove-all-movables
470 Common
471 Force all loop invariant computations out of loops
472
473 fmudflap
474 Common RejectNegative
475 Add mudflap bounds-checking instrumentation for single-threaded program.
476
477 fmudflapth
478 Common RejectNegative
479 Add mudflap bounds-checking instrumentation for multi-threaded program.
480
481 fmudflapir
482 Common RejectNegative
483 Ignore read operations when inserting mudflap instrumentation.
484
485 fnew-ra
486 Common
487 Use graph-coloring register allocation
488
489 fnon-call-exceptions
490 Common
491 Support synchronous non-call exceptions
492
493 fold-unroll-loops
494 Common
495 Perform loop unrolling when iteration count is known
496
497 fold-unroll-all-loops
498 Common
499 Perform loop unrolling for all loops
500
501 fomit-frame-pointer
502 Common
503 When possible do not generate stack frames
504
505 foptimize-register-move
506 Common
507 Do the full register move optimization pass
508
509 foptimize-sibling-calls
510 Common
511 Optimize sibling and tail recursive calls
512
513 fpack-struct
514 Common
515 Pack structure members together without holes
516
517 fpcc-struct-return
518 Common
519 Return small aggregates in memory, not registers
520
521 fpeel-loops
522 Common
523 Perform loop peeling
524
525 fpeephole
526 Common
527 Enable machine specific peephole optimizations
528
529 fpeephole2
530 Common
531 Enable an RTL peephole pass before sched2
532
533 fpic
534 Common
535 Generate position-independent code if possible
536
537 fpie
538 Common
539 Generate position-independent code for executables if possible
540
541 fprefetch-loop-arrays
542 Common
543 Generate prefetch instructions, if available, for arrays in loops
544
545 fprofile
546 Common
547 Enable basic program profiling code
548
549 fprofile-arcs
550 Common
551 Insert arc-based program profiling code
552
553 fprofile-generate
554 Common
555 Enable common options for generating profile info for profile feedback directed optimizations
556
557 fprofile-use
558 Common
559 Enable common options for performing profile feedback directed optimizations
560
561 fprofile-values
562 Common
563 Insert code to profile values of expressions
564
565 frandom-seed
566 Common
567
568 frandom-seed=
569 Common Joined RejectNegative
570 -frandom-seed=<string>  Make compile reproducible using <string>
571
572 freduce-all-givs
573 Common
574 Strength reduce all loop general induction variables
575
576 freg-struct-return
577 Common
578 Return small aggregates in registers
579
580 fregmove
581 Common
582 Enables a register move optimization
583
584 frename-registers
585 Common
586 Perform a register renaming optimization pass
587
588 freorder-blocks
589 Common
590 Reorder basic blocks to improve code placement
591
592 freorder-blocks-and-partition
593 Common
594 Reorder basic blocks and partition into hot and cold sections
595
596 freorder-functions
597 Common
598 Reorder functions to improve code placement
599
600 frerun-cse-after-loop
601 Common
602 Add a common subexpression elimination pass after loop optimizations
603
604 frerun-loop-opt
605 Common
606 Run the loop optimizer twice
607
608 frounding-math
609 Common
610 Disable optimizations that assume default FP rounding behavior
611
612 fsched-interblock
613 Common
614 Enable scheduling across basic blocks
615
616 fsched-spec
617 Common
618 Allow speculative motion of non-loads
619
620 fsched-spec-load
621 Common
622 Allow speculative motion of some loads
623
624 fsched-spec-load-dangerous
625 Common
626 Allow speculative motion of more loads
627
628 fsched-verbose=
629 Common RejectNegative Joined
630 -fsched-verbose=<number>        Set the verbosity level of the scheduler
631
632 fsched2-use-superblocks
633 Common
634 If scheduling post reload, do superblock scheduling
635
636 fsched2-use-traces
637 Common
638 If scheduling post reload, do trace scheduling
639
640 fschedule-insns
641 Common
642 Reschedule instructions before register allocation
643
644 fschedule-insns2
645 Common
646 Reschedule instructions after register allocation
647
648 fsched-stalled-insns
649 Common
650 Allow premature scheduling of queued insns
651
652 fsched-stalled-insns=
653 Common RejectNegative Joined UInteger 
654 -fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled
655
656 fsched-stalled-insns-dep
657 Common
658 Set dependence distance checking in premature scheduling of queued insns
659
660 fsched-stalled-insns-dep=
661 Common RejectNegative Joined UInteger
662 -fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns
663
664 fshared-data
665 Common
666 Mark data as shared rather than private
667
668 fsignaling-nans
669 Common
670 Disable optimizations observable by IEEE signaling NaNs
671
672 fsingle-precision-constant
673 Common
674 Convert floating point constants to single precision constants
675
676 fstack-check
677 Common
678 Insert stack checking code into the program
679
680 fstack-limit
681 Common
682
683 fstack-limit-register=
684 Common RejectNegative Joined
685 -fstack-limit-register=<register>       Trap if the stack goes past <register>
686
687 fstack-limit-symbol=
688 Common RejectNegative Joined
689 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
690
691 fstrength-reduce
692 Common
693 Perform strength reduction optimizations
694
695 fstrict-aliasing
696 Common
697 Assume strict aliasing rules apply
698
699 fsyntax-only
700 Common
701 Check for syntax errors, then stop
702
703 ftest-coverage
704 Common
705 Create data files needed by \"gcov\"
706
707 fthread-jumps
708 Common
709 Perform jump threading optimizations
710
711 ftime-report
712 Common
713 Report the time taken by each compiler pass
714
715 ftls-model=
716 Common Joined RejectNegative
717 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
718
719 ftracer
720 Common
721 Perform superblock formation via tail duplication
722
723 ftrapping-math
724 Common
725 Assume floating-point operations can trap
726
727 ftrapv
728 Common
729 Trap for signed overflow in addition, subtraction and multiplication
730
731 ftree-based-profiling
732 Common
733 Use tree-ssa based implementation of profiling
734
735 ftree-ccp
736 Common
737 Enable SSA-CCP optimization on trees
738
739 ftree-ch
740 Common
741 Enable loop header copying on trees
742
743 ftree-combine-temps
744 Common
745 Coalesce memory temporaries in the SSA->normal pass
746
747 ftree-copyrename
748 Common
749 Replace SSA temporaries with better names in copies.
750
751 ftree-dce
752 Common
753 Enable SSA dead code elimination optimization on trees
754
755 ftree-dominator-opts
756 Common
757 Enable dominator optimizations
758
759 ftree-dse
760 Common
761 Enable dead store elimination
762
763 ftree-loop-optimize
764 Common
765 Enable loop optimizations on trees
766
767 ftree-points-to=
768 Common Joined RejectNegative
769
770 ftree-pre
771 Common
772 Enable SSA-PRE optimization on trees
773
774 ftree-sra
775 Common
776 Perform scalar replacement of aggregates
777
778 ftree-ter
779 Common
780 Replace temporary expressions in the SSA->normal pass
781
782 ftree-lrs
783 Common
784 Perform live range splitting during the SSA->normal pass.
785
786 funit-at-a-time
787 Common
788 Compile whole compilation unit at a time
789
790 funroll-loops
791 Common
792 Perform loop unrolling when iteration count is known
793
794 funroll-all-loops
795 Common
796 Perform loop unrolling for all loops
797
798 funsafe-math-optimizations
799 Common
800 Allow math optimizations that may violate IEEE or ISO standards
801
802 funswitch-loops
803 Common
804 Perform loop unswitching
805
806 funwind-tables
807 Common
808 Just generate unwind tables for exception handling
809
810 fvar-tracking
811 Common
812 Perform variable tracking
813
814 fverbose-asm
815 Common
816 Add extra commentary to assembler output
817
818 fvpt
819 Common
820 Use expression value profiles in optimizations
821
822 fweb
823 Common
824 Construct webs and split unrelated uses of single variable
825
826 fwrapv
827 Common
828 Assume signed arithmetic overflow wraps around
829
830 fzero-initialized-in-bss
831 Common
832 Put zero initialized data in the bss section
833
834 g
835 Common JoinedOrMissing
836 Generate debug information in default format
837
838 gcoff
839 Common JoinedOrMissing
840 Generate debug information in COFF format
841
842 gdwarf-2
843 Common JoinedOrMissing
844 Generate debug information in DWARF v2 format
845
846 ggdb
847 Common JoinedOrMissing
848 Generate debug information in default extended format
849
850 gstabs
851 Common JoinedOrMissing
852 Generate debug information in STABS format
853
854 gstabs+
855 Common JoinedOrMissing
856 Generate debug information in extended STABS format
857
858 gvms
859 Common JoinedOrMissing
860 Generate debug information in VMS format
861
862 gxcoff
863 Common JoinedOrMissing
864 Generate debug information in XCOFF format
865
866 gxcoff+
867 Common JoinedOrMissing
868 Generate debug information in extended XCOFF format
869
870 m
871 Common Joined
872
873 o
874 Common Joined Separate
875 -o <file>       Place output into <file>
876
877 p
878 Common
879 Enable function profiling
880
881 pedantic
882 Common
883 Issue warnings needed for strict compliance to the standard
884
885 pedantic-errors
886 Common
887 Like -pedantic but issue them as errors
888
889 quiet
890 Common
891 Do not display functions compiled or elapsed time
892
893 version
894 Common
895 Display the compiler's version
896
897 w
898 Common
899 Suppress warnings
900
901 ; This comment is to ensure we retain the blank line above.