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