OSDN Git Service

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