OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [common.opt] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 684 jeremybenn
; Options for the language- and target-independent parts of the compiler.
2
 
3
; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4
; Free Software Foundation, Inc.
5
;
6
; This file is part of GCC.
7
;
8
; GCC is free software; you can redistribute it and/or modify it under
9
; the terms of the GNU General Public License as published by the Free
10
; Software Foundation; either version 3, or (at your option) any later
11
; version.
12
;
13
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
15
; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16
; for more details.
17
;
18
; You should have received a copy of the GNU General Public License
19
; along with GCC; see the file COPYING3.  If not see
20
; .
21
 
22
; See the GCC internals manual (options.texi) for a description of this file's format.
23
 
24
; Please try to keep this file in ASCII collating order.
25
 
26
Variable
27
int target_flags
28
 
29
Variable
30
int optimize
31
 
32
Variable
33
int optimize_size
34
 
35
; Not used directly to control optimizations, only to save -Ofast
36
; setting for "optimize" attributes.
37
Variable
38
int optimize_fast
39
 
40
; True if this is the lto front end.  This is used to disable gimple
41
; generation and lowering passes that are normally run on the output
42
; of a front end.  These passes must be bypassed for lto since they
43
; have already been done before the gimple was written.
44
Variable
45
bool in_lto_p = false
46
 
47
; 0 means straightforward implementation of complex divide acceptable.
48
; 1 means wide ranges of inputs must work for complex divide.
49
; 2 means C99-like requirements for complex multiply and divide.
50
Variable
51
int flag_complex_method = 1
52
 
53
; Nonzero if subexpressions must be evaluated from left-to-right.
54
Variable
55
int flag_evaluation_order = 0
56
 
57
; Language specific warning pass for unused results.
58
Variable
59
bool flag_warn_unused_result = false
60
 
61
Variable
62
int *param_values
63
 
64
; Nonzero if we should write GIMPLE bytecode for link-time optimization.
65
Variable
66
int flag_generate_lto
67
 
68
; True to warn about any objects definitions whose size is larger
69
; than N bytes.  Also want about function definitions whose returned
70
; values are larger than N bytes, where N is 'larger_than_size'.
71
Variable
72
bool warn_larger_than
73
 
74
Variable
75
HOST_WIDE_INT larger_than_size
76
 
77
; True to warn about any function whose frame size is larger
78
; than N bytes.
79
Variable
80
bool warn_frame_larger_than
81
 
82
Variable
83
HOST_WIDE_INT frame_larger_than_size
84
 
85
; Nonzero means we should be saving declaration info into a .X file.
86
Variable
87
int flag_gen_aux_info = 0
88
 
89
; Nonzero if we are compiling code for a shared library, zero for
90
; executable.
91
Variable
92
int flag_shlib
93
 
94
; These two are really VEC(char_p,heap) *.
95
 
96
Variable
97
void *flag_instrument_functions_exclude_functions
98
 
99
Variable
100
void *flag_instrument_functions_exclude_files
101
 
102
; Generic structs (e.g. templates not explicitly specialized)
103
; may not have a compilation unit associated with them, and so
104
; may need to be treated differently from ordinary structs.
105
;
106
; Structs only handled by reference (indirectly), will also usually
107
; not need as much debugging information.
108
 
109
Variable
110
enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
111
 
112
Variable
113
enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
114
 
115
; True if we should exit after parsing options.
116
Variable
117
bool exit_after_options
118
 
119
; Type(s) of debugging information we are producing (if any).  See
120
; flag-types.h for the definitions of the different possible types of
121
; debugging information.
122
Variable
123
enum debug_info_type write_symbols = NO_DEBUG
124
 
125
; Level of debugging information we are producing.  See flag-types.h
126
; for the definitions of the different possible levels.
127
Variable
128
enum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
129
 
130
; Nonzero means use GNU-only extensions in the generated symbolic
131
; debugging information.  Currently, this only has an effect when
132
; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.
133
Variable
134
bool use_gnu_debug_info_extensions
135
 
136
; Original value of maximum field alignment in bytes, specified via
137
; -fpack-struct=.
138
Variable
139
unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
140
 
141
Variable
142
enum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL
143
 
144
; Type of stack check.
145
Variable
146
enum stack_check_type flag_stack_check = NO_STACK_CHECK
147
 
148
; True if stack usage information needs to be computed.
149
Variable
150
bool flag_stack_usage_info = false
151
 
152
; -dA causes debug commentary information to be produced in
153
; the generated assembly code (to make it more readable).  This option
154
; is generally only of use to those who actually need to read the
155
; generated assembly code (perhaps while debugging the compiler itself).
156
; Currently, this switch is only used by dwarf2out.c; however, it is intended
157
; to be a catchall for printing debug information in the assembler file.
158
Variable
159
int flag_debug_asm
160
 
161
; -dP causes the rtl to be emitted as a comment in assembly.
162
Variable
163
int flag_dump_rtl_in_asm
164
 
165
; Whether -da was passed (used only in handle_common_deferred_options).
166
Variable
167
bool flag_dump_all_passed
168
 
169
; Other flags saying which kinds of debugging dump have been requested.
170
 
171
Variable
172
int rtl_dump_and_exit
173
 
174
Variable
175
int flag_print_asm_name
176
 
177
Variable
178
enum graph_dump_types graph_dump_format = no_graph
179
 
180
; Name of top-level original source file (what was input to cpp).
181
; This comes from the #-command at the beginning of the actual input.
182
; If there isn't any there, then this is the cc1 input file name.
183
Variable
184
const char *main_input_filename
185
 
186
; Pointer to base name in main_input_filename, with directories and a
187
; single final extension removed, and the length of this base
188
; name.
189
 
190
Variable
191
const char *main_input_basename
192
 
193
Variable
194
int main_input_baselength
195
 
196
; Which options have been printed by --help.
197
Variable
198
char *help_printed
199
 
200
; Which enums have been printed by --help.  0 = not printed, no
201
; relevant options seen, 1 = relevant option seen, not yet printed, 2
202
; = printed.
203
Variable
204
char *help_enum_printed
205
 
206
; The number of columns for --help output.
207
Variable
208
unsigned int help_columns
209
 
210
; Whether this options structure has been through finish_options
211
Variable
212
bool flag_opts_finished
213
 
214
###
215
Driver
216
 
217
-assemble
218
Driver Alias(S)
219
 
220
-compile
221
Driver Alias(c)
222
 
223
-coverage
224
Driver Alias(coverage)
225
 
226
-debug
227
Common Alias(g)
228
 
229
-dump
230
Common Separate Alias(d)
231
 
232
-dump=
233
Common Joined Alias(d)
234
 
235
-dumpbase
236
Common Separate Alias(dumpbase)
237
 
238
-dumpdir
239
Common Separate Alias(dumpdir)
240
 
241
-entry
242
Driver Separate Alias(e)
243
 
244
-entry=
245
Driver Joined Alias(e)
246
 
247
-extra-warnings
248
Common Warning Alias(Wextra)
249
 
250
-for-assembler
251
Driver Separate Alias(Xassembler)
252
 
253
-for-assembler=
254
Driver JoinedOrMissing Alias(Xassembler)
255
 
256
-for-linker
257
Driver Separate Alias(Xlinker)
258
 
259
-for-linker=
260
Driver JoinedOrMissing Alias(Xlinker)
261
 
262
-force-link
263
Driver Separate Alias(u)
264
 
265
-force-link=
266
Driver Joined Alias(u)
267
 
268
-help
269
Common Driver Var(help_flag)
270
Display this information
271
 
272
-help=
273
Common Driver Report Joined
274
--help= Display descriptions of a specific class of options.   is one or more of optimizers, target, warnings, undocumented, params
275
 
276
-language
277
Driver Separate Alias(x)
278
 
279
-language=
280
Driver Joined Alias(x)
281
 
282
-library-directory
283
Driver Separate Alias(L)
284
 
285
-library-directory=
286
Driver Joined Alias(L)
287
 
288
-no-canonical-prefixes
289
Driver Alias(no-canonical-prefixes)
290
 
291
-no-standard-libraries
292
Driver Alias(nostdlib)
293
 
294
-no-warnings
295
Common Alias(w)
296
 
297
-optimize
298
Common Alias(O)
299
 
300
-output
301
Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
302
 
303
-output=
304
Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
305
 
306
-pass-exit-codes
307
Driver Alias(pass-exit-codes)
308
 
309
-pedantic
310
Common Alias(pedantic)
311
 
312
-pedantic-errors
313
Common Alias(pedantic-errors)
314
 
315
-pie
316
Driver Alias(pie)
317
 
318
-pipe
319
Driver Alias(pipe)
320
 
321
-prefix
322
Driver Separate Alias(B)
323
 
324
-prefix=
325
Driver JoinedOrMissing Alias(B)
326
 
327
-preprocess
328
Driver Alias(E)
329
 
330
-print-file-name
331
Driver Separate Alias(print-file-name=)
332
 
333
-print-file-name=
334
Driver JoinedOrMissing Alias(print-file-name=)
335
 
336
-print-libgcc-file-name
337
Driver Alias(print-libgcc-file-name)
338
 
339
-print-multi-directory
340
Driver Alias(print-multi-directory)
341
 
342
-print-multi-lib
343
Driver Alias(print-multi-lib)
344
 
345
-print-multi-os-directory
346
Driver Alias(print-multi-os-directory)
347
 
348
-print-prog-name
349
Driver Separate Alias(print-prog-name=)
350
 
351
-print-prog-name=
352
Driver JoinedOrMissing Alias(print-prog-name=)
353
 
354
-print-search-dirs
355
Driver Alias(print-search-dirs)
356
 
357
-print-sysroot
358
Driver Alias(print-sysroot)
359
 
360
-print-sysroot-headers-suffix
361
Driver Alias(print-sysroot-headers-suffix)
362
 
363
-profile
364
Common Alias(p)
365
 
366
-save-temps
367
Driver Alias(save-temps)
368
 
369
-shared
370
Driver Alias(shared)
371
 
372
-specs
373
Driver Separate Alias(specs=)
374
 
375
-specs=
376
Driver Joined Alias(specs=)
377
 
378
-static
379
Driver Alias(static)
380
 
381
-symbolic
382
Driver Alias(symbolic)
383
 
384
-target-help
385
Common Driver
386
Alias for --help=target
387
 
388
-time
389
Driver Alias(time)
390
 
391
-verbose
392
Driver Alias(v)
393
 
394
;; The driver used to convert options such as --help into forms such
395
;; as -fhelp; the following four entries are for compatibility with
396
;; any direct uses of those (undocumented) -f forms
397
fhelp
398
Common Driver Alias(-help)
399
 
400
fhelp=
401
Common Driver Joined Alias(-help=)
402
 
403
ftarget-help
404
Common Driver Alias(-target-help)
405
 
406
fversion
407
Common Driver Alias(-version)
408
 
409
-param
410
Common Separate
411
--param =       Set parameter  to value.  See below for a complete list of parameters
412
 
413
-param=
414
Common Joined Alias(-param)
415
 
416
-sysroot
417
Driver Separate Alias(-sysroot=)
418
 
419
-sysroot=
420
Driver JoinedOrMissing
421
 
422
-version
423
Common Driver
424
 
425
B
426
Driver Joined Separate
427
 
428
E
429
Driver
430
 
431
L
432
Driver Joined Separate
433
 
434
N
435
Driver
436
 
437
O
438
Common JoinedOrMissing Optimization
439
-O      Set optimization level to 
440
 
441
Os
442
Common Optimization
443
Optimize for space rather than speed
444
 
445
Ofast
446
Common Optimization
447
Optimize for speed disregarding exact standards compliance
448
 
449
Q
450
Driver
451
 
452
Qn
453
Driver Negative(Qy)
454
 
455
Qy
456
Driver Negative(Qn)
457
 
458
R
459
Driver Joined Separate
460
 
461
S
462
Driver
463
 
464
T
465
Driver Joined Separate
466
 
467
Tbss
468
Driver Separate
469
 
470
Tbss=
471
Driver Joined
472
 
473
Tdata
474
Driver Separate
475
 
476
Tdata=
477
Driver Joined
478
 
479
Ttext
480
Driver Separate
481
 
482
Ttext=
483
Driver Joined
484
 
485
W
486
Common RejectNegative Warning Alias(Wextra)
487
This switch is deprecated; use -Wextra instead
488
 
489
Wa,
490
Driver JoinedOrMissing
491
 
492
Wl,
493
Driver JoinedOrMissing
494
 
495
Wp,
496
Driver JoinedOrMissing
497
 
498
Waggregate-return
499
Common Var(warn_aggregate_return) Warning
500
Warn about returning structures, unions or arrays
501
 
502
Warray-bounds
503
Common Var(warn_array_bounds) Warning
504
Warn if an array is accessed out of bounds
505
 
506
Wattributes
507
Common Var(warn_attributes) Init(1) Warning
508
Warn about inappropriate attribute usage
509
 
510
Wcast-align
511
Common Var(warn_cast_align) Warning
512
Warn about pointer casts which increase alignment
513
 
514
Wcpp
515
Common Var(warn_cpp) Init(1) Warning
516
Warn when a #warning directive is encountered
517
 
518
Wdeprecated-declarations
519
Common Var(warn_deprecated_decl) Init(1) Warning
520
Warn about uses of __attribute__((deprecated)) declarations
521
 
522
Wdisabled-optimization
523
Common Var(warn_disabled_optimization) Warning
524
Warn when an optimization pass is disabled
525
 
526
Werror
527
Common Var(warnings_are_errors)
528
Treat all warnings as errors
529
 
530
Werror=
531
Common Joined
532
Treat specified warning as error
533
 
534
Wextra
535
Common Var(extra_warnings) Warning
536
Print extra (possibly unwanted) warnings
537
 
538
Wfatal-errors
539
Common Var(flag_fatal_errors)
540
Exit on the first error occurred
541
 
542
Wframe-larger-than=
543
Common RejectNegative Joined UInteger
544
-Wframe-larger-than=    Warn if a function's stack frame requires more than  bytes
545
 
546
Wfree-nonheap-object
547
Common Var(warn_free_nonheap_object) Init(1) Warning
548
Warn when attempting to free a non-heap object
549
 
550
Winline
551
Common Var(warn_inline) Warning
552
Warn when an inlined function cannot be inlined
553
 
554
Winvalid-memory-model
555
Common Var(warn_invalid_memory_model) Init(1) Warning
556
Warn when an atomic memory model parameter is known to be outside the valid range.
557
 
558
Wlarger-than-
559
Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
560
 
561
Wlarger-than=
562
Common RejectNegative Joined UInteger Warning
563
-Wlarger-than=  Warn if an object is larger than  bytes
564
 
565
Wunsafe-loop-optimizations
566
Common Var(warn_unsafe_loop_optimizations) Warning
567
Warn if the loop cannot be optimized due to nontrivial assumptions.
568
 
569
Wmissing-noreturn
570
Common Var(warn_missing_noreturn) Warning
571
Warn about functions which might be candidates for __attribute__((noreturn))
572
 
573
Woverflow
574
Common Var(warn_overflow) Init(1) Warning
575
Warn about overflow in arithmetic expressions
576
 
577
Wpacked
578
Common Var(warn_packed) Warning
579
Warn when the packed attribute has no effect on struct layout
580
 
581
Wpadded
582
Common Var(warn_padded) Warning
583
Warn when padding is required to align structure members
584
 
585
Wshadow
586
Common Var(warn_shadow) Warning
587
Warn when one local variable shadows another
588
 
589
Wstack-protector
590
Common Var(warn_stack_protect) Warning
591
Warn when not issuing stack smashing protection for some reason
592
 
593
Wstack-usage=
594
Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning
595
Warn if stack usage might be larger than specified amount
596
 
597
Wstrict-aliasing
598
Common Warning
599
Warn about code which might break strict aliasing rules
600
 
601
Wstrict-aliasing=
602
Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
603
Warn about code which might break strict aliasing rules
604
 
605
Wstrict-overflow
606
Common Warning
607
Warn about optimizations that assume that signed overflow is undefined
608
 
609
Wstrict-overflow=
610
Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
611
Warn about optimizations that assume that signed overflow is undefined
612
 
613
Wsuggest-attribute=const
614
Common Var(warn_suggest_attribute_const) Warning
615
Warn about functions which might be candidates for __attribute__((const))
616
 
617
Wsuggest-attribute=pure
618
Common Var(warn_suggest_attribute_pure) Warning
619
Warn about functions which might be candidates for __attribute__((pure))
620
 
621
Wsuggest-attribute=noreturn
622
Common Var(warn_suggest_attribute_noreturn) Warning
623
Warn about functions which might be candidates for __attribute__((noreturn))
624
 
625
Wswitch
626
Common Var(warn_switch) Warning
627
Warn about enumerated switches, with no default, missing a case
628
 
629
Wswitch-default
630
Common Var(warn_switch_default) Warning
631
Warn about enumerated switches missing a \"default:\" statement
632
 
633
Wswitch-enum
634
Common Var(warn_switch_enum) Warning
635
Warn about all enumerated switches missing a specific case
636
 
637
Wsystem-headers
638
Common Var(warn_system_headers) Warning
639
Do not suppress warnings from system headers
640
 
641
Wtrampolines
642
Common Var(warn_trampolines) Warning
643
Warn whenever a trampoline is generated
644
 
645
Wtype-limits
646
Common Var(warn_type_limits) Init(-1) Warning
647
Warn if a comparison is always true or always false due to the limited range of the data type
648
 
649
Wuninitialized
650
Common Var(warn_uninitialized) Init(-1) Warning
651
Warn about uninitialized automatic variables
652
 
653
Wmaybe-uninitialized
654
Common Var(warn_maybe_uninitialized) Warning
655
Warn about maybe uninitialized automatic variables
656
 
657
Wunreachable-code
658
Common Ignore
659
Does nothing. Preserved for backward compatibility.
660
 
661
Wunused
662
Common Var(warn_unused) Init(0) Warning
663
Enable all -Wunused- warnings
664
 
665
Wunused-but-set-parameter
666
Common Var(warn_unused_but_set_parameter) Init(-1) Warning
667
Warn when a function parameter is only set, otherwise unused
668
 
669
Wunused-but-set-variable
670
Common Var(warn_unused_but_set_variable) Init(-1) Warning
671
Warn when a variable is only set, otherwise unused
672
 
673
Wunused-function
674
Common Var(warn_unused_function) Init(-1) Warning
675
Warn when a function is unused
676
 
677
Wunused-label
678
Common Var(warn_unused_label) Init(-1) Warning
679
Warn when a label is unused
680
 
681
Wunused-parameter
682
Common Var(warn_unused_parameter) Init(-1) Warning
683
Warn when a function parameter is unused
684
 
685
Wunused-value
686
Common Var(warn_unused_value) Init(-1) Warning
687
Warn when an expression value is unused
688
 
689
Wunused-variable
690
Common Var(warn_unused_variable) Init(-1) Warning
691
Warn when a variable is unused
692
 
693
Wcoverage-mismatch
694
Common Var(warn_coverage_mismatch) Init(1) Warning
695
Warn in case profiles in -fprofile-use do not match
696
 
697
Wvector-operation-performance
698
Common Var(warn_vector_operation_performance) Warning
699
Warn when a vector operation is compiled outside the SIMD
700
 
701
Xassembler
702
Driver Separate
703
 
704
Xlinker
705
Driver Separate
706
 
707
Xpreprocessor
708
Driver Separate
709
 
710
Z
711
Driver
712
 
713
aux-info
714
Common Separate Var(aux_info_file_name)
715
-aux-info       Emit declaration information into 
716
 
717
aux-info=
718
Common Joined Alias(aux-info)
719
 
720
auxbase
721
Common Separate RejectDriver Var(aux_base_name)
722
 
723
auxbase-strip
724
Common Separate RejectDriver
725
 
726
coverage
727
Driver
728
 
729
c
730
Driver
731
 
732
d
733
Common Joined
734
-d      Enable dumps from specific passes of the compiler
735
 
736
dumpbase
737
Common Separate Var(dump_base_name)
738
-dumpbase       Set the file basename to be used for dumps
739
 
740
dumpdir
741
Common Separate Var(dump_dir_name)
742
-dumpdir        Set the directory name to be used for dumps
743
 
744
dumpmachine
745
Driver
746
 
747
dumpspecs
748
Driver
749
 
750
dumpversion
751
Driver
752
 
753
e
754
Driver Joined Separate
755
 
756
; This option has historically been passed down to the linker by an
757
; accident of a %{e*} spec, so ensure it continues to be passed down
758
; as a single option.  The supported option for this purpose is
759
; -rdynamic.  See PR 47390.
760
export-dynamic
761
Driver Undocumented
762
 
763
; The version of the C++ ABI in use.  The following values are allowed:
764
;
765
; 0: The version of the ABI believed most conformant with the C++ ABI
766
;    specification.  This ABI may change as bugs are discovered and fixed.
767
;    Therefore, 0 will not necessarily indicate the same ABI in different
768
;    versions of G++.
769
;
770
; 1: The version of the ABI first used in G++ 3.2.
771
;
772
; 2: The version of the ABI first used in G++ 3.4 (and current default).
773
;
774
; 3: The version of the ABI that fixes the missing underscore
775
;    in template non-type arguments of pointer type.
776
;
777
; 4: The version of the ABI that introduces unambiguous mangling of
778
;    vector types.  First selectable in G++ 4.5.
779
;
780
; 5: The version of the ABI that ignores attribute const/noreturn
781
;    in function pointer mangling, and corrects mangling of decltype and
782
;    function parameters used in other parameters and the return type.
783
;    First selectable in G++ 4.6.
784
;
785
; 6: The version of the ABI that doesn't promote scoped enums to int and
786
;    changes the mangling of template argument packs, const/static_cast,
787
;    prefix ++ and --, and a class scope function used as a template
788
;    argument.
789
;    First selectable in G++ 4.7.
790
;
791
; Additional positive integers will be assigned as new versions of
792
; the ABI become the default version of the ABI.
793
fabi-version=
794
Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
795
 
796
falign-functions
797
Common Report Var(align_functions,0) Optimization UInteger
798
Align the start of functions
799
 
800
falign-functions=
801
Common RejectNegative Joined UInteger Var(align_functions)
802
 
803
falign-jumps
804
Common Report Var(align_jumps,0) Optimization UInteger
805
Align labels which are only reached by jumping
806
 
807
falign-jumps=
808
Common RejectNegative Joined UInteger Var(align_jumps)
809
 
810
falign-labels
811
Common Report Var(align_labels,0) Optimization UInteger
812
Align all labels
813
 
814
falign-labels=
815
Common RejectNegative Joined UInteger Var(align_labels)
816
 
817
falign-loops
818
Common Report Var(align_loops,0) Optimization UInteger
819
Align the start of loops
820
 
821
falign-loops=
822
Common RejectNegative Joined UInteger Var(align_loops)
823
 
824
fargument-alias
825
Common Ignore
826
Does nothing. Preserved for backward compatibility.
827
 
828
fargument-noalias
829
Common Ignore
830
Does nothing. Preserved for backward compatibility.
831
 
832
fargument-noalias-global
833
Common Ignore
834
Does nothing. Preserved for backward compatibility.
835
 
836
fargument-noalias-anything
837
Common Ignore
838
Does nothing. Preserved for backward compatibility.
839
 
840
fasynchronous-unwind-tables
841
Common Report Var(flag_asynchronous_unwind_tables) Optimization
842
Generate unwind tables that are exact at each instruction boundary
843
 
844
fauto-inc-dec
845
Common Report Var(flag_auto_inc_dec) Init(1)
846
Generate auto-inc/dec instructions
847
 
848
; -fcheck-bounds causes gcc to generate array bounds checks.
849
; For C, C++ and ObjC: defaults off.
850
; For Java: defaults to on.
851
; For Fortran: defaults to off.
852
fbounds-check
853
Common Report Var(flag_bounds_check)
854
Generate code to check bounds before indexing arrays
855
 
856
fbranch-count-reg
857
Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
858
Replace add, compare, branch with branch on count register
859
 
860
fbranch-probabilities
861
Common Report Var(flag_branch_probabilities) Optimization
862
Use profiling information for branch probabilities
863
 
864
fbranch-target-load-optimize
865
Common Report Var(flag_branch_target_load_optimize) Optimization
866
Perform branch target load optimization before prologue / epilogue threading
867
 
868
fbranch-target-load-optimize2
869
Common Report Var(flag_branch_target_load_optimize2) Optimization
870
Perform branch target load optimization after prologue / epilogue threading
871
 
872
fbtr-bb-exclusive
873
Common Report Var(flag_btr_bb_exclusive) Optimization
874
Restrict target load migration not to re-use registers in any basic block
875
 
876
fcall-saved-
877
Common Joined RejectNegative Var(common_deferred_options) Defer
878
-fcall-saved-   Mark  as being preserved across functions
879
 
880
fcall-used-
881
Common Joined RejectNegative Var(common_deferred_options) Defer
882
-fcall-used-    Mark  as being corrupted by function calls
883
 
884
; Nonzero for -fcaller-saves: allocate values in regs that need to
885
; be saved across function calls, if that produces overall better code.
886
; Optional now, so people can test it.
887
fcaller-saves
888
Common Report Var(flag_caller_saves) Optimization
889
Save registers around function calls
890
 
891
fcheck-data-deps
892
Common Report Var(flag_check_data_deps)
893
Compare the results of several data dependence analyzers.
894
 
895
fcombine-stack-adjustments
896
Common Report Var(flag_combine_stack_adjustments) Optimization
897
Looks for opportunities to reduce stack adjustments and stack references.
898
 
899
fcommon
900
Common Report Var(flag_no_common,0) Optimization
901
Do not put uninitialized globals in the common section
902
 
903
fcompare-debug
904
Driver
905
; Converted by the driver to -fcompare-debug= options.
906
 
907
fcompare-debug=
908
Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
909
-fcompare-debug[=]      Compile with and without e.g. -gtoggle, and compare the final-insns dump
910
 
911
fcompare-debug-second
912
Common Driver RejectNegative Var(flag_compare_debug)
913
Run only the second compilation of -fcompare-debug
914
 
915
fcompare-elim
916
Common Report Var(flag_compare_elim_after_reload) Optimization
917
Perform comparison elimination after register allocation has finished
918
 
919
fconserve-stack
920
Common Var(flag_conserve_stack) Optimization
921
Do not perform optimizations increasing noticeably stack usage
922
 
923
fcprop-registers
924
Common Report Var(flag_cprop_registers) Optimization
925
Perform a register copy-propagation optimization pass
926
 
927
fcrossjumping
928
Common Report Var(flag_crossjumping) Optimization
929
Perform cross-jumping optimization
930
 
931
fcse-follow-jumps
932
Common Report Var(flag_cse_follow_jumps) Optimization
933
When running CSE, follow jumps to their targets
934
 
935
fcse-skip-blocks
936
Common Ignore
937
Does nothing.  Preserved for backward compatibility.
938
 
939
fcx-limited-range
940
Common Report Var(flag_cx_limited_range) Optimization SetByCombined
941
Omit range reduction step when performing complex division
942
 
943
fcx-fortran-rules
944
Common Report Var(flag_cx_fortran_rules) Optimization
945
Complex multiplication and division follow Fortran rules
946
 
947
fdata-sections
948
Common Report Var(flag_data_sections) Optimization
949
Place data items into their own section
950
 
951
fdbg-cnt-list
952
Common Report Var(common_deferred_options) Defer
953
List all available debugging counters with their limits and counts.
954
 
955
fdbg-cnt=
956
Common RejectNegative Joined Var(common_deferred_options) Defer
957
-fdbg-cnt=:[,:,...]     Set the debug counter limit.
958
 
959
fdebug-prefix-map=
960
Common Joined RejectNegative Var(common_deferred_options) Defer
961
Map one directory name to another in debug information
962
 
963
fdebug-types-section
964
Common Report Var(flag_debug_types_section) Init(1)
965
Output .debug_types section when using DWARF v4 debuginfo.
966
 
967
; Nonzero for -fdefer-pop: don't pop args after each function call
968
; instead save them up to pop many calls' args with one insns.
969
fdefer-pop
970
Common Report Var(flag_defer_pop) Optimization
971
Defer popping functions args from stack until later
972
 
973
fdelayed-branch
974
Common Report Var(flag_delayed_branch) Optimization
975
Attempt to fill delay slots of branch instructions
976
 
977
fdelete-null-pointer-checks
978
Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
979
Delete useless null pointer checks
980
 
981
fdevirtualize
982
Common Report Var(flag_devirtualize) Optimization
983
Try to convert virtual calls to direct ones.
984
 
985
fdiagnostics-show-location=
986
Common Joined RejectNegative Enum(diagnostic_prefixing_rule)
987
-fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
988
 
989
; Required for these enum values.
990
SourceInclude
991
pretty-print.h
992
 
993
Enum
994
Name(diagnostic_prefixing_rule) Type(int)
995
 
996
EnumValue
997
Enum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
998
 
999
EnumValue
1000
Enum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
1001
 
1002
fdiagnostics-show-option
1003
Common Var(flag_diagnostics_show_option) Init(1)
1004
Amend appropriate diagnostic messages with the command line option that controls them
1005
 
1006
fdisable-
1007
Common Joined RejectNegative Var(common_deferred_options) Defer
1008
-fdisable-[tree|rtl|ipa]-=range1+range2 disables an optimization pass
1009
 
1010
fenable-
1011
Common Joined RejectNegative Var(common_deferred_options) Defer
1012
-fenable-[tree|rtl|ipa]-=range1+range2 enables an optimization pass
1013
 
1014
fdump-
1015
Common Joined RejectNegative Var(common_deferred_options) Defer
1016
-fdump- Dump various compiler internals to a file
1017
 
1018
fdump-final-insns
1019
Driver RejectNegative
1020
 
1021
fdump-final-insns=
1022
Common RejectNegative Joined Var(flag_dump_final_insns)
1023
-fdump-final-insns=filename     Dump to filename the insns at the end of translation
1024
 
1025
fdump-go-spec=
1026
Common RejectNegative Joined Var(flag_dump_go_spec)
1027
-fdump-go-spec=filename Write all declarations to file as Go code
1028
 
1029
fdump-noaddr
1030
Common Report Var(flag_dump_noaddr)
1031
Suppress output of addresses in debugging dumps
1032
 
1033
fdump-passes
1034
Common Var(flag_dump_passes) Init(0)
1035
Dump optimization passes
1036
 
1037
fdump-unnumbered
1038
Common Report Var(flag_dump_unnumbered)
1039
Suppress output of instruction numbers, line number notes and addresses in debugging dumps
1040
 
1041
fdump-unnumbered-links
1042
Common Report Var(flag_dump_unnumbered_links)
1043
Suppress output of previous and next insn numbers in debugging dumps
1044
 
1045
fdwarf2-cfi-asm
1046
Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
1047
Enable CFI tables via GAS assembler directives.
1048
 
1049
fearly-inlining
1050
Common Report Var(flag_early_inlining) Init(1) Optimization
1051
Perform early inlining
1052
 
1053
feliminate-dwarf2-dups
1054
Common Report Var(flag_eliminate_dwarf2_dups)
1055
Perform DWARF2 duplicate elimination
1056
 
1057
fipa-sra
1058
Common Report Var(flag_ipa_sra) Init(0) Optimization
1059
Perform interprocedural reduction of aggregates
1060
 
1061
feliminate-unused-debug-symbols
1062
Common Report Var(flag_debug_only_used_symbols)
1063
Perform unused type elimination in debug info
1064
 
1065
feliminate-unused-debug-types
1066
Common Report Var(flag_eliminate_unused_debug_types) Init(1)
1067
Perform unused type elimination in debug info
1068
 
1069
femit-class-debug-always
1070
Common Report Var(flag_emit_class_debug_always) Init(0)
1071
Do not suppress C++ class debug information.
1072
 
1073
fexceptions
1074
Common Report Var(flag_exceptions) Optimization
1075
Enable exception handling
1076
 
1077
fexpensive-optimizations
1078
Common Report Var(flag_expensive_optimizations) Optimization
1079
Perform a number of minor, expensive optimizations
1080
 
1081
fexcess-precision=
1082
Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)
1083
-fexcess-precision=[fast|standard]      Specify handling of excess floating-point precision
1084
 
1085
Enum
1086
Name(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)
1087
 
1088
EnumValue
1089
Enum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)
1090
 
1091
EnumValue
1092
Enum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)
1093
 
1094
ffast-math
1095
Common
1096
 
1097
ffat-lto-objects
1098
Common Var(flag_fat_lto_objects) Init(1)
1099
Output lto objects containing both the intermediate language and binary output.
1100
 
1101
ffinite-math-only
1102
Common Report Var(flag_finite_math_only) Optimization SetByCombined
1103
Assume no NaNs or infinities are generated
1104
 
1105
ffixed-
1106
Common Joined RejectNegative Var(common_deferred_options) Defer
1107
-ffixed-        Mark  as being unavailable to the compiler
1108
 
1109
ffloat-store
1110
Common Report Var(flag_float_store) Optimization
1111
Don't allocate floats and doubles in extended-precision registers
1112
 
1113
fforce-addr
1114
Common Ignore
1115
Does nothing.  Preserved for backward compatibility.
1116
 
1117
fforward-propagate
1118
Common Report Var(flag_forward_propagate) Optimization
1119
Perform a forward propagation pass on RTL
1120
 
1121
ffp-contract=
1122
Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST)
1123
-ffp-contract=[off|on|fast] Perform floating-point expression contraction.
1124
 
1125
Enum
1126
Name(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)
1127
 
1128
EnumValue
1129
Enum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF)
1130
 
1131
; Not implemented, fall back to conservative FP_CONTRACT_OFF.
1132
EnumValue
1133
Enum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)
1134
 
1135
EnumValue
1136
Enum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST)
1137
 
1138
; Nonzero means don't put addresses of constant functions in registers.
1139
; Used for compiling the Unix kernel, where strange substitutions are
1140
; done on the assembly output.
1141
ffunction-cse
1142
Common Report Var(flag_no_function_cse,0)
1143
Allow function addresses to be held in registers
1144
 
1145
ffunction-sections
1146
Common Report Var(flag_function_sections)
1147
Place each function into its own section
1148
 
1149
fgcse
1150
Common Report Var(flag_gcse) Optimization
1151
Perform global common subexpression elimination
1152
 
1153
fgcse-lm
1154
Common Report Var(flag_gcse_lm) Init(1) Optimization
1155
Perform enhanced load motion during global common subexpression elimination
1156
 
1157
fgcse-sm
1158
Common Report Var(flag_gcse_sm) Init(0) Optimization
1159
Perform store motion after global common subexpression elimination
1160
 
1161
fgcse-las
1162
Common Report Var(flag_gcse_las) Init(0) Optimization
1163
Perform redundant load after store elimination in global common subexpression
1164
elimination
1165
 
1166
fgcse-after-reload
1167
Common Report Var(flag_gcse_after_reload) Optimization
1168
Perform global common subexpression elimination after register allocation
1169
has finished
1170
 
1171
; This option is not documented yet as its semantics will change.
1172
fgraphite
1173
Common Report Var(flag_graphite)
1174
Enable in and out of Graphite representation
1175
 
1176
fgraphite-identity
1177
Common Report Var(flag_graphite_identity) Optimization
1178
Enable Graphite Identity transformation
1179
 
1180
floop-parallelize-all
1181
Common Report Var(flag_loop_parallelize_all) Optimization
1182
Mark all loops as parallel
1183
 
1184
floop-strip-mine
1185
Common Report Var(flag_loop_strip_mine) Optimization
1186
Enable Loop Strip Mining transformation
1187
 
1188
floop-interchange
1189
Common Report Var(flag_loop_interchange) Optimization
1190
Enable Loop Interchange transformation
1191
 
1192
floop-block
1193
Common Report Var(flag_loop_block) Optimization
1194
Enable Loop Blocking transformation
1195
 
1196
fgnu-tm
1197
Common Report Var(flag_tm)
1198
Enable support for GNU transactional memory
1199
 
1200
floop-flatten
1201
Common Report Var(flag_loop_flatten) Optimization
1202
Enable Loop Flattening transformation
1203
 
1204
fstrict-volatile-bitfields
1205
Common Report Var(flag_strict_volatile_bitfields) Init(-1)
1206
Force bitfield accesses to match their type width
1207
 
1208
fguess-branch-probability
1209
Common Report Var(flag_guess_branch_prob) Optimization
1210
Enable guessing of branch probabilities
1211
 
1212
; Nonzero means ignore `#ident' directives.  0 means handle them.
1213
; Generate position-independent code for executables if possible
1214
; On SVR4 targets, it also controls whether or not to emit a
1215
; string identifying the compiler.
1216
fident
1217
Common Report Var(flag_no_ident,0)
1218
Process #ident directives
1219
 
1220
fif-conversion
1221
Common Report Var(flag_if_conversion) Optimization
1222
Perform conversion of conditional jumps to branchless equivalents
1223
 
1224
fif-conversion2
1225
Common Report Var(flag_if_conversion2) Optimization
1226
Perform conversion of conditional jumps to conditional execution
1227
 
1228
ftree-loop-if-convert
1229
Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
1230
Convert conditional jumps in innermost loops to branchless equivalents
1231
 
1232
ftree-loop-if-convert-stores
1233
Common Report Var(flag_tree_loop_if_convert_stores) Optimization
1234
Also if-convert conditional jumps containing memory writes
1235
 
1236
; -finhibit-size-directive inhibits output of .size for ELF.
1237
; This is used only for compiling crtstuff.c,
1238
; and it may be extended to other effects
1239
; needed for crtstuff.c on other systems.
1240
finhibit-size-directive
1241
Common Report Var(flag_inhibit_size_directive)
1242
Do not generate .size directives
1243
 
1244
findirect-inlining
1245
Common Report Var(flag_indirect_inlining)
1246
Perform indirect inlining
1247
 
1248
; General flag to enable inlining.  Specifying -fno-inline will disable
1249
; all inlining apart from always-inline functions.
1250
finline
1251
Common Report Var(flag_no_inline,0) Init(0)
1252
Enable inlining of function declared \"inline\", disabling disables all inlining
1253
 
1254
finline-small-functions
1255
Common Report Var(flag_inline_small_functions) Optimization
1256
Integrate functions into their callers when code size is known not to grow
1257
 
1258
finline-functions
1259
Common Report Var(flag_inline_functions) Optimization
1260
Integrate functions not declared \"inline\" into their callers when profitable
1261
 
1262
finline-functions-called-once
1263
Common Report Var(flag_inline_functions_called_once) Optimization
1264
Integrate functions only required by their single caller
1265
 
1266
finline-limit-
1267
Common RejectNegative Joined Alias(finline-limit=)
1268
 
1269
finline-limit=
1270
Common RejectNegative Joined UInteger
1271
-finline-limit= Limit the size of inlined functions to 
1272
 
1273
finline-atomics
1274
Common Report Var(flag_inline_atomics) Init(1) Optimization
1275
Inline __atomic operations when a lock free instruction sequence is available.
1276
 
1277
finstrument-functions
1278
Common Report Var(flag_instrument_function_entry_exit)
1279
Instrument function entry and exit with profiling calls
1280
 
1281
finstrument-functions-exclude-function-list=
1282
Common RejectNegative Joined
1283
-finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions
1284
 
1285
finstrument-functions-exclude-file-list=
1286
Common RejectNegative Joined
1287
-finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files
1288
 
1289
fipa-cp
1290
Common Report Var(flag_ipa_cp) Optimization
1291
Perform Interprocedural constant propagation
1292
 
1293
fipa-cp-clone
1294
Common Report Var(flag_ipa_cp_clone) Optimization
1295
Perform cloning to make Interprocedural constant propagation stronger
1296
 
1297
fipa-profile
1298
Common Report Var(flag_ipa_profile) Init(0) Optimization
1299
Perform interprocedural profile propagation
1300
 
1301
fipa-pta
1302
Common Report Var(flag_ipa_pta) Init(0) Optimization
1303
Perform interprocedural points-to analysis
1304
 
1305
fipa-pure-const
1306
Common Report Var(flag_ipa_pure_const) Init(0) Optimization
1307
Discover pure and const functions
1308
 
1309
fipa-reference
1310
Common Report Var(flag_ipa_reference) Init(0) Optimization
1311
Discover readonly and non addressable static variables
1312
 
1313
fipa-matrix-reorg
1314
Common Report Var(flag_ipa_matrix_reorg) Optimization
1315
Perform matrix layout flattening and transposing based
1316
on profiling information.
1317
 
1318
fipa-struct-reorg
1319
Common Ignore
1320
Does nothing. Preserved for backward compatibility.
1321
 
1322
fira-algorithm=
1323
Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB)
1324
-fira-algorithm=[CB|priority] Set the used IRA algorithm
1325
 
1326
Enum
1327
Name(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
1328
 
1329
EnumValue
1330
Enum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)
1331
 
1332
EnumValue
1333
Enum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)
1334
 
1335
fira-region=
1336
Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT)
1337
-fira-region=[one|all|mixed] Set regions for IRA
1338
 
1339
Enum
1340
Name(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)
1341
 
1342
EnumValue
1343
Enum(ira_region) String(one) Value(IRA_REGION_ONE)
1344
 
1345
EnumValue
1346
Enum(ira_region) String(all) Value(IRA_REGION_ALL)
1347
 
1348
EnumValue
1349
Enum(ira_region) String(mixed) Value(IRA_REGION_MIXED)
1350
 
1351
fira-loop-pressure
1352
Common Report Var(flag_ira_loop_pressure)
1353
Use IRA based register pressure calculation
1354
in RTL loop optimizations.
1355
 
1356
fira-share-save-slots
1357
Common Report Var(flag_ira_share_save_slots) Init(1)
1358
Share slots for saving different hard registers.
1359
 
1360
fira-share-spill-slots
1361
Common Report Var(flag_ira_share_spill_slots) Init(1)
1362
Share stack slots for spilled pseudo-registers.
1363
 
1364
fira-verbose=
1365
Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1366
-fira-verbose=  Control IRA's level of diagnostic messages.
1367
 
1368
fivopts
1369
Common Report Var(flag_ivopts) Init(1) Optimization
1370
Optimize induction variables on trees
1371
 
1372
fjump-tables
1373
Common Var(flag_jump_tables) Init(1) Optimization
1374
Use jump tables for sufficiently large switch statements
1375
 
1376
fkeep-inline-functions
1377
Common Report Var(flag_keep_inline_functions)
1378
Generate code for functions even if they are fully inlined
1379
 
1380
fkeep-static-consts
1381
Common Report Var(flag_keep_static_consts) Init(1)
1382
Emit static const variables even if they are not used
1383
 
1384
fleading-underscore
1385
Common Report Var(flag_leading_underscore) Init(-1)
1386
Give external symbols a leading underscore
1387
 
1388
floop-optimize
1389
Common Ignore
1390
Does nothing.  Preserved for backward compatibility.
1391
 
1392
flto
1393
Common
1394
Enable link-time optimization.
1395
 
1396
flto=
1397
Common RejectNegative Joined Var(flag_lto)
1398
Link-time optimization with number of parallel jobs or jobserver.
1399
 
1400
flto-partition=1to1
1401
Common Var(flag_lto_partition_1to1)
1402
Partition functions and vars at linktime based on object files they originate from
1403
 
1404
flto-partition=balanced
1405
Common Var(flag_lto_partition_balanced)
1406
Partition functions and vars at linktime into approximately same sized buckets
1407
 
1408
flto-partition=none
1409
Common Var(flag_lto_partition_none)
1410
Disable partioning and streaming
1411
 
1412
; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1413
flto-compression-level=
1414
Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1415
-flto-compression-level=        Use zlib compression level  for IL
1416
 
1417
flto-report
1418
Common Report Var(flag_lto_report) Init(0) Optimization
1419
Report various link-time optimization statistics
1420
 
1421
fmath-errno
1422
Common Report Var(flag_errno_math) Init(1) Optimization SetByCombined
1423
Set errno after built-in math functions
1424
 
1425
fmax-errors=
1426
Common Joined RejectNegative UInteger Var(flag_max_errors)
1427
-fmax-errors=   Maximum number of errors to report
1428
 
1429
fmem-report
1430
Common Report Var(mem_report)
1431
Report on permanent memory allocation
1432
 
1433
; This will attempt to merge constant section constants, if 1 only
1434
; string constants and constants from constant pool, if 2 also constant
1435
; variables.
1436
fmerge-all-constants
1437
Common Report Var(flag_merge_constants,2) Init(1) Optimization
1438
Attempt to merge identical constants and constant variables
1439
 
1440
fmerge-constants
1441
Common Report Var(flag_merge_constants,1) Optimization
1442
Attempt to merge identical constants across compilation units
1443
 
1444
fmerge-debug-strings
1445
Common Report Var(flag_merge_debug_strings) Init(1)
1446
Attempt to merge identical debug strings across compilation units
1447
 
1448
fmessage-length=
1449
Common RejectNegative Joined UInteger
1450
-fmessage-length=       Limit diagnostics to  characters per line.  0 suppresses line-wrapping
1451
 
1452
fmodulo-sched
1453
Common Report Var(flag_modulo_sched) Optimization
1454
Perform SMS based modulo scheduling before the first scheduling pass
1455
 
1456
fmodulo-sched-allow-regmoves
1457
Common Report Var(flag_modulo_sched_allow_regmoves)
1458
Perform SMS based modulo scheduling with register moves allowed
1459
 
1460
fmove-loop-invariants
1461
Common Report Var(flag_move_loop_invariants) Init(1) Optimization
1462
Move loop invariant computations out of loops
1463
 
1464
fdce
1465
Common Var(flag_dce) Init(1) Optimization
1466
Use the RTL dead code elimination pass
1467
 
1468
fdse
1469
Common Var(flag_dse) Init(1) Optimization
1470
Use the RTL dead store elimination pass
1471
 
1472
freschedule-modulo-scheduled-loops
1473
Common Report Var(flag_resched_modulo_sched) Optimization
1474
Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
1475
 
1476
fnon-call-exceptions
1477
Common Report Var(flag_non_call_exceptions) Optimization
1478
Support synchronous non-call exceptions
1479
 
1480
fomit-frame-pointer
1481
Common Report Var(flag_omit_frame_pointer) Optimization
1482
When possible do not generate stack frames
1483
 
1484
foptimize-register-move
1485
Common Report Var(flag_regmove) Optimization
1486
Do the full register move optimization pass
1487
 
1488
foptimize-sibling-calls
1489
Common Report Var(flag_optimize_sibling_calls) Optimization
1490
Optimize sibling and tail recursive calls
1491
 
1492
fpartial-inlining
1493
Common Report Var(flag_partial_inlining)
1494
Perform partial inlining
1495
 
1496
fpre-ipa-mem-report
1497
Common Report Var(pre_ipa_mem_report)
1498
Report on memory allocation before interprocedural optimization
1499
 
1500
fpost-ipa-mem-report
1501
Common Report Var(post_ipa_mem_report)
1502
Report on memory allocation before interprocedural optimization
1503
 
1504
fpack-struct
1505
Common Report Var(flag_pack_struct) Optimization
1506
Pack structure members together without holes
1507
 
1508
fpack-struct=
1509
Common RejectNegative Joined UInteger Optimization
1510
-fpack-struct=  Set initial maximum structure member alignment
1511
 
1512
fpcc-struct-return
1513
Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1514
Return small aggregates in memory, not registers
1515
 
1516
fpeel-loops
1517
Common Report Var(flag_peel_loops) Optimization
1518
Perform loop peeling
1519
 
1520
fpeephole
1521
Common Report Var(flag_no_peephole,0) Optimization
1522
Enable machine specific peephole optimizations
1523
 
1524
fpeephole2
1525
Common Report Var(flag_peephole2) Optimization
1526
Enable an RTL peephole pass before sched2
1527
 
1528
fPIC
1529
Common Report Var(flag_pic,2)
1530
Generate position-independent code if possible (large mode)
1531
 
1532
fPIE
1533
Common Report Var(flag_pie,2)
1534
Generate position-independent code for executables if possible (large mode)
1535
 
1536
fpic
1537
Common Report Var(flag_pic,1)
1538
Generate position-independent code if possible (small mode)
1539
 
1540
fpie
1541
Common Report Var(flag_pie,1)
1542
Generate position-independent code for executables if possible (small mode)
1543
 
1544
fplugin=
1545
Common Joined RejectNegative Var(common_deferred_options) Defer
1546
Specify a plugin to load
1547
 
1548
fplugin-arg-
1549
Common Joined RejectNegative Var(common_deferred_options) Defer
1550
-fplugin-arg--[=]       Specify argument = for plugin 
1551
 
1552
fpredictive-commoning
1553
Common Report Var(flag_predictive_commoning) Optimization
1554
Run predictive commoning optimization.
1555
 
1556
fprefetch-loop-arrays
1557
Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1558
Generate prefetch instructions, if available, for arrays in loops
1559
 
1560
fprofile
1561
Common Report Var(profile_flag)
1562
Enable basic program profiling code
1563
 
1564
fprofile-arcs
1565
Common Report Var(profile_arc_flag)
1566
Insert arc-based program profiling code
1567
 
1568
fprofile-dir=
1569
Common Joined RejectNegative Var(profile_data_prefix)
1570
Set the top-level directory for storing the profile data.
1571
The default is 'pwd'.
1572
 
1573
fprofile-correction
1574
Common Report Var(flag_profile_correction)
1575
Enable correction of flow inconsistent profile data input
1576
 
1577
fprofile-generate
1578
Common
1579
Enable common options for generating profile info for profile feedback directed optimizations
1580
 
1581
fprofile-generate=
1582
Common Joined RejectNegative
1583
Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1584
 
1585
fprofile-use
1586
Common Var(flag_profile_use)
1587
Enable common options for performing profile feedback directed optimizations
1588
 
1589
fprofile-use=
1590
Common Joined RejectNegative
1591
Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1592
 
1593
fprofile-values
1594
Common Report Var(flag_profile_values)
1595
Insert code to profile values of expressions
1596
 
1597
frandom-seed
1598
Common Var(common_deferred_options) Defer
1599
 
1600
frandom-seed=
1601
Common Joined RejectNegative Var(common_deferred_options) Defer
1602
-frandom-seed=  Make compile reproducible using 
1603
 
1604
; This switch causes the command line that was used to create an
1605
; object file to be recorded into the object file.  The exact format
1606
; of this recording is target and binary file format dependent.
1607
; It is related to the -fverbose-asm switch, but that switch only
1608
; records information in the assembler output file as comments, so
1609
; they never reach the object file.
1610
frecord-gcc-switches
1611
Common Report Var(flag_record_gcc_switches)
1612
Record gcc command line switches in the object file.
1613
 
1614
freg-struct-return
1615
Common Report Var(flag_pcc_struct_return,0) Optimization
1616
Return small aggregates in registers
1617
 
1618
fregmove
1619
Common Report Var(flag_regmove) Optimization
1620
Enables a register move optimization
1621
 
1622
frename-registers
1623
Common Report Var(flag_rename_registers) Init(2) Optimization
1624
Perform a register renaming optimization pass
1625
 
1626
freorder-blocks
1627
Common Report Var(flag_reorder_blocks) Optimization
1628
Reorder basic blocks to improve code placement
1629
 
1630
freorder-blocks-and-partition
1631
Common Report Var(flag_reorder_blocks_and_partition) Optimization
1632
Reorder basic blocks and partition into hot and cold sections
1633
 
1634
freorder-functions
1635
Common Report Var(flag_reorder_functions) Optimization
1636
Reorder functions to improve code placement
1637
 
1638
frerun-cse-after-loop
1639
Common Report Var(flag_rerun_cse_after_loop) Optimization
1640
Add a common subexpression elimination pass after loop optimizations
1641
 
1642
frerun-loop-opt
1643
Common Ignore
1644
Does nothing.  Preserved for backward compatibility.
1645
 
1646
frounding-math
1647
Common Report Var(flag_rounding_math) Optimization SetByCombined
1648
Disable optimizations that assume default FP rounding behavior
1649
 
1650
fsched-interblock
1651
Common Report Var(flag_schedule_interblock) Init(1) Optimization
1652
Enable scheduling across basic blocks
1653
 
1654
fsched-pressure
1655
Common Report Var(flag_sched_pressure) Init(0) Optimization
1656
Enable register pressure sensitive insn scheduling
1657
 
1658
fsched-spec
1659
Common Report Var(flag_schedule_speculative) Init(1) Optimization
1660
Allow speculative motion of non-loads
1661
 
1662
fsched-spec-load
1663
Common Report Var(flag_schedule_speculative_load) Optimization
1664
Allow speculative motion of some loads
1665
 
1666
fsched-spec-load-dangerous
1667
Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1668
Allow speculative motion of more loads
1669
 
1670
fsched-verbose=
1671
Common RejectNegative Joined UInteger Var(sched_verbose_param)
1672
-fsched-verbose=        Set the verbosity level of the scheduler
1673
 
1674
fsched2-use-superblocks
1675
Common Report Var(flag_sched2_use_superblocks) Optimization
1676
If scheduling post reload, do superblock scheduling
1677
 
1678
fsched2-use-traces
1679
Common Ignore
1680
Does nothing.  Preserved for backward compatibility.
1681
 
1682
fschedule-insns
1683
Common Report Var(flag_schedule_insns) Optimization
1684
Reschedule instructions before register allocation
1685
 
1686
fschedule-insns2
1687
Common Report Var(flag_schedule_insns_after_reload) Optimization
1688
Reschedule instructions after register allocation
1689
 
1690
; This flag should be on when a target implements non-trivial
1691
; scheduling hooks, maybe saving some information for its own sake.
1692
; On IA64, for example, this is used for correct bundling.
1693
fselective-scheduling
1694
Common Report Var(flag_selective_scheduling) Optimization
1695
Schedule instructions using selective scheduling algorithm
1696
 
1697
fselective-scheduling2
1698
Common Report Var(flag_selective_scheduling2) Optimization
1699
Run selective scheduling after reload
1700
 
1701
fsel-sched-pipelining
1702
Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1703
Perform software pipelining of inner loops during selective scheduling
1704
 
1705
fsel-sched-pipelining-outer-loops
1706
Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1707
Perform software pipelining of outer loops during selective scheduling
1708
 
1709
fsel-sched-reschedule-pipelined
1710
Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1711
Reschedule pipelined regions without pipelining
1712
 
1713
; sched_stalled_insns means that insns can be moved prematurely from the queue
1714
; of stalled insns into the ready list.
1715
fsched-stalled-insns
1716
Common Report Var(flag_sched_stalled_insns) Optimization UInteger
1717
Allow premature scheduling of queued insns
1718
 
1719
fsched-stalled-insns=
1720
Common RejectNegative Joined UInteger
1721
-fsched-stalled-insns=  Set number of queued insns that can be prematurely scheduled
1722
 
1723
; sched_stalled_insns_dep controls how many recently scheduled cycles will
1724
; be examined for a dependency on a stalled insn that is candidate for
1725
; premature removal from the queue of stalled insns into the ready list (has
1726
; an effect only if the flag 'sched_stalled_insns' is set).
1727
fsched-stalled-insns-dep
1728
Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1729
Set dependence distance checking in premature scheduling of queued insns
1730
 
1731
fsched-stalled-insns-dep=
1732
Common RejectNegative Joined UInteger
1733
-fsched-stalled-insns-dep=      Set dependence distance checking in premature scheduling of queued insns
1734
 
1735
fsched-group-heuristic
1736
Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1737
Enable the group heuristic in the scheduler
1738
 
1739
fsched-critical-path-heuristic
1740
Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1741
Enable the critical path heuristic in the scheduler
1742
 
1743
fsched-spec-insn-heuristic
1744
Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1745
Enable the speculative instruction heuristic in the scheduler
1746
 
1747
fsched-rank-heuristic
1748
Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1749
Enable the rank heuristic in the scheduler
1750
 
1751
fsched-last-insn-heuristic
1752
Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1753
Enable the last instruction heuristic in the scheduler
1754
 
1755
fsched-dep-count-heuristic
1756
Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1757
Enable the dependent count heuristic in the scheduler
1758
 
1759
fsection-anchors
1760
Common Report Var(flag_section_anchors) Optimization
1761
Access data in the same section from shared anchor points
1762
 
1763
fsee
1764
Common Ignore
1765
Does nothing.  Preserved for backward compatibility.
1766
 
1767
fzee
1768
Common Ignore
1769
Does nothing.  Preserved for backward compatibility.
1770
 
1771
free
1772
Common Report Var(flag_ree) Init(0)
1773
Turn on Redundant Extensions Elimination pass.
1774
 
1775
fshow-column
1776
Common Report Var(flag_show_column) Init(1)
1777
Show column numbers in diagnostics, when available.  Default on
1778
 
1779
fshrink-wrap
1780
Common Report Var(flag_shrink_wrap) Optimization
1781
Emit function prologues only before parts of the function that need it,
1782
rather than at the top of the function.
1783
 
1784
fsignaling-nans
1785
Common Report Var(flag_signaling_nans) Optimization SetByCombined
1786
Disable optimizations observable by IEEE signaling NaNs
1787
 
1788
fsigned-zeros
1789
Common Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined
1790
Disable floating point optimizations that ignore the IEEE signedness of zero
1791
 
1792
fsingle-precision-constant
1793
Common Report Var(flag_single_precision_constant) Optimization
1794
Convert floating point constants to single precision constants
1795
 
1796
fsplit-ivs-in-unroller
1797
Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1798
Split lifetimes of induction variables when loops are unrolled
1799
 
1800
fsplit-stack
1801
Common Report Var(flag_split_stack) Init(-1)
1802
Generate discontiguous stack frames
1803
 
1804
fsplit-wide-types
1805
Common Report Var(flag_split_wide_types) Optimization
1806
Split wide types into independent registers
1807
 
1808
fvariable-expansion-in-unroller
1809
Common Report Var(flag_variable_expansion_in_unroller) Optimization
1810
Apply variable expansion when loops are unrolled
1811
 
1812
fstack-check=
1813
Common Report RejectNegative Joined
1814
-fstack-check=[no|generic|specific]     Insert stack checking code into the program
1815
 
1816
fstack-check
1817
Common Alias(fstack-check=, specific, no)
1818
Insert stack checking code into the program.  Same as -fstack-check=specific
1819
 
1820
fstack-limit
1821
Common Var(common_deferred_options) Defer
1822
 
1823
fstack-limit-register=
1824
Common RejectNegative Joined Var(common_deferred_options) Defer
1825
-fstack-limit-register= Trap if the stack goes past 
1826
 
1827
fstack-limit-symbol=
1828
Common RejectNegative Joined Var(common_deferred_options) Defer
1829
-fstack-limit-symbol=   Trap if the stack goes past symbol 
1830
 
1831
fstack-protector
1832
Common Report Var(flag_stack_protect, 1)
1833
Use propolice as a stack protection method
1834
 
1835
fstack-protector-all
1836
Common Report RejectNegative Var(flag_stack_protect, 2)
1837
Use a stack protection method for every function
1838
 
1839
fstack-usage
1840
Common RejectNegative Var(flag_stack_usage)
1841
Output stack usage information on a per-function basis
1842
 
1843
fstrength-reduce
1844
Common Ignore
1845
Does nothing.  Preserved for backward compatibility.
1846
 
1847
; Nonzero if we should do (language-dependent) alias analysis.
1848
; Typically, this analysis will assume that expressions of certain
1849
; types do not alias expressions of certain other types.  Only used
1850
; if alias analysis (in general) is enabled.
1851
fstrict-aliasing
1852
Common Report Var(flag_strict_aliasing) Optimization
1853
Assume strict aliasing rules apply
1854
 
1855
fstrict-overflow
1856
Common Report Var(flag_strict_overflow)
1857
Treat signed overflow as undefined
1858
 
1859
fsyntax-only
1860
Common Report Var(flag_syntax_only)
1861
Check for syntax errors, then stop
1862
 
1863
ftest-coverage
1864
Common Report Var(flag_test_coverage)
1865
Create data files needed by \"gcov\"
1866
 
1867
fthread-jumps
1868
Common Report Var(flag_thread_jumps) Optimization
1869
Perform jump threading optimizations
1870
 
1871
ftime-report
1872
Common Report Var(time_report)
1873
Report the time taken by each compiler pass
1874
 
1875
ftls-model=
1876
Common Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)
1877
-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
1878
 
1879
Enum
1880
Name(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)
1881
 
1882
EnumValue
1883
Enum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)
1884
 
1885
EnumValue
1886
Enum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)
1887
 
1888
EnumValue
1889
Enum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)
1890
 
1891
EnumValue
1892
Enum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)
1893
 
1894
ftoplevel-reorder
1895
Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1896
Reorder top level functions, variables, and asms
1897
 
1898
ftracer
1899
Common Report Var(flag_tracer)
1900
Perform superblock formation via tail duplication
1901
 
1902
; Zero means that floating-point math operations cannot generate a
1903
; (user-visible) trap.  This is the case, for example, in nonstop
1904
; IEEE 754 arithmetic.
1905
ftrapping-math
1906
Common Report Var(flag_trapping_math) Init(1) Optimization SetByCombined
1907
Assume floating-point operations can trap
1908
 
1909
ftrapv
1910
Common Report Var(flag_trapv) Optimization
1911
Trap for signed overflow in addition, subtraction and multiplication
1912
 
1913
ftree-ccp
1914
Common Report Var(flag_tree_ccp) Optimization
1915
Enable SSA-CCP optimization on trees
1916
 
1917
ftree-bit-ccp
1918
Common Report Var(flag_tree_bit_ccp) Optimization
1919
Enable SSA-BIT-CCP optimization on trees
1920
 
1921
ftree-store-ccp
1922
Common Ignore
1923
Does nothing.  Preserved for backward compatibility.
1924
 
1925
ftree-ch
1926
Common Report Var(flag_tree_ch) Optimization
1927
Enable loop header copying on trees
1928
 
1929
ftree-copyrename
1930
Common Report Var(flag_tree_copyrename) Optimization
1931
Replace SSA temporaries with better names in copies
1932
 
1933
ftree-copy-prop
1934
Common Report Var(flag_tree_copy_prop) Optimization
1935
Enable copy propagation on trees
1936
 
1937
ftree-store-copy-prop
1938
Common Ignore
1939
Does nothing.  Preserved for backward compatibility.
1940
 
1941
ftree-cselim
1942
Common Report Var(flag_tree_cselim) Init(2) Optimization
1943
Transform condition stores into unconditional ones
1944
 
1945
ftree-switch-conversion
1946
Common Report Var(flag_tree_switch_conversion) Optimization
1947
Perform conversions of switch initializations.
1948
 
1949
ftree-dce
1950
Common Report Var(flag_tree_dce) Optimization
1951
Enable SSA dead code elimination optimization on trees
1952
 
1953
ftree-dominator-opts
1954
Common Report Var(flag_tree_dom) Optimization
1955
Enable dominator optimizations
1956
 
1957
ftree-tail-merge
1958
Common Report Var(flag_tree_tail_merge) Optimization
1959
Enable tail merging on trees
1960
 
1961
ftree-dse
1962
Common Report Var(flag_tree_dse) Optimization
1963
Enable dead store elimination
1964
 
1965
ftree-forwprop
1966
Common Report Var(flag_tree_forwprop) Init(1) Optimization
1967
Enable forward propagation on trees
1968
 
1969
ftree-fre
1970
Common Report Var(flag_tree_fre) Optimization
1971
Enable Full Redundancy Elimination (FRE) on trees
1972
 
1973
foptimize-strlen
1974
Common Report Var(flag_optimize_strlen) Optimization
1975
Enable string length optimizations on trees
1976
 
1977
ftree-loop-distribution
1978
Common Report Var(flag_tree_loop_distribution) Optimization
1979
Enable loop distribution on trees
1980
 
1981
ftree-loop-distribute-patterns
1982
Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1983
Enable loop distribution for patterns transformed into a library call
1984
 
1985
ftree-loop-im
1986
Common Report Var(flag_tree_loop_im) Init(1) Optimization
1987
Enable loop invariant motion on trees
1988
 
1989
ftree-loop-linear
1990
Common Alias(floop-interchange)
1991
Enable loop interchange transforms.  Same as -floop-interchange
1992
 
1993
ftree-loop-ivcanon
1994
Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1995
Create canonical induction variables in loops
1996
 
1997
ftree-loop-optimize
1998
Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1999
Enable loop optimizations on tree level
2000
 
2001
ftree-parallelize-loops=
2002
Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
2003
Enable automatic parallelization of loops
2004
 
2005
ftree-phiprop
2006
Common Report Var(flag_tree_phiprop) Init(1) Optimization
2007
Enable hoisting loads from conditional pointers.
2008
 
2009
ftree-pre
2010
Common Report Var(flag_tree_pre) Optimization
2011
Enable SSA-PRE optimization on trees
2012
 
2013
ftree-pta
2014
Common Report Var(flag_tree_pta) Init(1) Optimization
2015
Perform function-local points-to analysis on trees.
2016
 
2017
ftree-reassoc
2018
Common Report Var(flag_tree_reassoc) Init(1) Optimization
2019
Enable reassociation on tree level
2020
 
2021
ftree-salias
2022
Common Ignore
2023
Does nothing.  Preserved for backward compatibility.
2024
 
2025
ftree-sink
2026
Common Report Var(flag_tree_sink) Optimization
2027
Enable SSA code sinking on trees
2028
 
2029
ftree-sra
2030
Common Report Var(flag_tree_sra) Optimization
2031
Perform scalar replacement of aggregates
2032
 
2033
ftree-ter
2034
Common Report Var(flag_tree_ter) Optimization
2035
Replace temporary expressions in the SSA->normal pass
2036
 
2037
ftree-lrs
2038
Common Report Var(flag_tree_live_range_split) Optimization
2039
Perform live range splitting during the SSA->normal pass
2040
 
2041
ftree-vrp
2042
Common Report Var(flag_tree_vrp) Init(0) Optimization
2043
Perform Value Range Propagation on trees
2044
 
2045
funit-at-a-time
2046
Common Report Var(flag_unit_at_a_time) Init(1) Optimization
2047
Compile whole compilation unit at a time
2048
 
2049
funroll-loops
2050
Common Report Var(flag_unroll_loops) Optimization
2051
Perform loop unrolling when iteration count is known
2052
 
2053
funroll-all-loops
2054
Common Report Var(flag_unroll_all_loops) Optimization
2055
Perform loop unrolling for all loops
2056
 
2057
; Nonzero means that loop optimizer may assume that the induction variables
2058
; that control loops do not overflow and that the loops with nontrivial
2059
; exit condition are not infinite
2060
funsafe-loop-optimizations
2061
Common Report Var(flag_unsafe_loop_optimizations) Optimization
2062
Allow loop optimizations to assume that the loops behave in normal way
2063
 
2064
fassociative-math
2065
Common Report Var(flag_associative_math) SetByCombined
2066
Allow optimization for floating-point arithmetic which may change the
2067
result of the operation due to rounding.
2068
 
2069
freciprocal-math
2070
Common Report Var(flag_reciprocal_math) SetByCombined
2071
Same as -fassociative-math for expressions which include division.
2072
 
2073
; Nonzero means that unsafe floating-point math optimizations are allowed
2074
; for the sake of speed.  IEEE compliance is not guaranteed, and operations
2075
; are allowed to assume that their arguments and results are "normal"
2076
; (e.g., nonnegative for SQRT).
2077
funsafe-math-optimizations
2078
Common Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined
2079
Allow math optimizations that may violate IEEE or ISO standards
2080
 
2081
funswitch-loops
2082
Common Report Var(flag_unswitch_loops) Optimization
2083
Perform loop unswitching
2084
 
2085
funwind-tables
2086
Common Report Var(flag_unwind_tables) Optimization
2087
Just generate unwind tables for exception handling
2088
 
2089
fuse-linker-plugin
2090
Common Undocumented
2091
 
2092
; Positive if we should track variables, negative if we should run
2093
; the var-tracking pass only to discard debug annotations, zero if
2094
; we're not to run it.  When flag_var_tracking == 2 (AUTODETECT_VALUE) it
2095
; will be set according to optimize, debug_info_level and debug_hooks
2096
; in process_options ().
2097
fvar-tracking
2098
Common Report Var(flag_var_tracking) Init(2) Optimization
2099
Perform variable tracking
2100
 
2101
; Positive if we should track variables at assignments, negative if
2102
; we should run the var-tracking pass only to discard debug
2103
; annotations.  When flag_var_tracking_assignments ==
2104
; AUTODETECT_VALUE it will be set according to flag_var_tracking.
2105
fvar-tracking-assignments
2106
Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
2107
Perform variable tracking by annotating assignments
2108
 
2109
; Nonzero if we should toggle flag_var_tracking_assignments after
2110
; processing options and computing its default.  */
2111
fvar-tracking-assignments-toggle
2112
Common Report Var(flag_var_tracking_assignments_toggle) Optimization
2113
Toggle -fvar-tracking-assignments
2114
 
2115
fvar-tracking-uninit
2116
Common Report Var(flag_var_tracking_uninit) Optimization
2117
Perform variable tracking and also tag variables that are uninitialized
2118
 
2119
ftree-vectorize
2120
Common Report Var(flag_tree_vectorize) Optimization
2121
Enable loop vectorization on trees
2122
 
2123
ftree-slp-vectorize
2124
Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
2125
Enable basic block vectorization (SLP) on trees
2126
 
2127
fvect-cost-model
2128
Common Report Var(flag_vect_cost_model) Optimization
2129
Enable use of cost model in vectorization
2130
 
2131
ftree-vect-loop-version
2132
Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
2133
Enable loop versioning when doing loop vectorization on trees
2134
 
2135
ftree-vectorizer-verbose=
2136
Common RejectNegative Joined UInteger
2137
-ftree-vectorizer-verbose=      Set the verbosity level of the vectorizer
2138
 
2139
ftree-scev-cprop
2140
Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
2141
Enable copy propagation of scalar-evolution information.
2142
 
2143
; -fverbose-asm causes extra commentary information to be produced in
2144
; the generated assembly code (to make it more readable).  This option
2145
; is generally only of use to those who actually need to read the
2146
; generated assembly code (perhaps while debugging the compiler itself).
2147
; -fno-verbose-asm, the default, causes the extra information
2148
; to not be added and is useful when comparing two assembler files.
2149
fverbose-asm
2150
Common Report Var(flag_verbose_asm)
2151
Add extra commentary to assembler output
2152
 
2153
fvisibility=
2154
Common Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)
2155
-fvisibility=[default|internal|hidden|protected]        Set the default symbol visibility
2156
 
2157
Enum
2158
Name(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)
2159
 
2160
EnumValue
2161
Enum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)
2162
 
2163
EnumValue
2164
Enum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)
2165
 
2166
EnumValue
2167
Enum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)
2168
 
2169
EnumValue
2170
Enum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)
2171
 
2172
fvpt
2173
Common Report Var(flag_value_profile_transformations) Optimization
2174
Use expression value profiles in optimizations
2175
 
2176
fweb
2177
Common Report Var(flag_web) Init(2) Optimization
2178
Construct webs and split unrelated uses of single variable
2179
 
2180
ftree-builtin-call-dce
2181
Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
2182
Enable conditional dead code elimination for builtin calls
2183
 
2184
fwhole-program
2185
Common Report Var(flag_whole_program) Init(0) Optimization
2186
Perform whole program optimizations
2187
 
2188
fwrapv
2189
Common Report Var(flag_wrapv) Optimization
2190
Assume signed arithmetic overflow wraps around
2191
 
2192
fzero-initialized-in-bss
2193
Common Report Var(flag_zero_initialized_in_bss) Init(1)
2194
Put zero initialized data in the bss section
2195
 
2196
g
2197
Common JoinedOrMissing
2198
Generate debug information in default format
2199
 
2200
gcoff
2201
Common JoinedOrMissing Negative(gdwarf-)
2202
Generate debug information in COFF format
2203
 
2204
gdwarf-
2205
Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
2206
Generate debug information in DWARF v2 (or later) format
2207
 
2208
ggdb
2209
Common JoinedOrMissing
2210
Generate debug information in default extended format
2211
 
2212
gno-record-gcc-switches
2213
Common RejectNegative Var(dwarf_record_gcc_switches,0) Init(0)
2214
Don't record gcc command line switches in DWARF DW_AT_producer.
2215
 
2216
grecord-gcc-switches
2217
Common RejectNegative Var(dwarf_record_gcc_switches,1)
2218
Record gcc command line switches in DWARF DW_AT_producer.
2219
 
2220
gstabs
2221
Common JoinedOrMissing Negative(gstabs+)
2222
Generate debug information in STABS format
2223
 
2224
gstabs+
2225
Common JoinedOrMissing Negative(gvms)
2226
Generate debug information in extended STABS format
2227
 
2228
gno-strict-dwarf
2229
Common RejectNegative Var(dwarf_strict,0) Init(-1)
2230
Emit DWARF additions beyond selected version
2231
 
2232
gstrict-dwarf
2233
Common Report RejectNegative Var(dwarf_strict,1)
2234
Don't emit DWARF additions beyond selected version
2235
 
2236
gtoggle
2237
Common Report Var(flag_gtoggle)
2238
Toggle debug information generation
2239
 
2240
gvms
2241
Common JoinedOrMissing Negative(gxcoff)
2242
Generate debug information in VMS format
2243
 
2244
gxcoff
2245
Common JoinedOrMissing Negative(gxcoff+)
2246
Generate debug information in XCOFF format
2247
 
2248
gxcoff+
2249
Common JoinedOrMissing Negative(gcoff)
2250
Generate debug information in extended XCOFF format
2251
 
2252
h
2253
Driver Joined Separate
2254
 
2255
iplugindir=
2256
Common Joined Var(plugindir_string) Init(0)
2257
-iplugindir=    Set  to be the default plugin directory
2258
 
2259
l
2260
Driver Joined Separate
2261
 
2262
n
2263
Driver
2264
 
2265
no-canonical-prefixes
2266
Driver
2267
 
2268
nodefaultlibs
2269
Driver
2270
 
2271
nostartfiles
2272
Driver
2273
 
2274
nostdlib
2275
Driver
2276
 
2277
o
2278
Common Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)
2279
-o      Place output into 
2280
 
2281
p
2282
Common Var(profile_flag)
2283
Enable function profiling
2284
 
2285
pass-exit-codes
2286
Driver Var(pass_exit_codes)
2287
 
2288
pedantic
2289
Common Var(pedantic)
2290
Issue warnings needed for strict compliance to the standard
2291
 
2292
pedantic-errors
2293
Common Var(flag_pedantic_errors)
2294
Like -pedantic but issue them as errors
2295
 
2296
pg
2297
Driver
2298
 
2299
pipe
2300
Driver Var(use_pipes)
2301
 
2302
print-file-name=
2303
Driver JoinedOrMissing Var(print_file_name)
2304
 
2305
print-libgcc-file-name
2306
Driver
2307
 
2308
print-multi-directory
2309
Driver Var(print_multi_directory)
2310
 
2311
print-multi-lib
2312
Driver Var(print_multi_lib)
2313
 
2314
print-multi-os-directory
2315
Driver Var(print_multi_os_directory)
2316
 
2317
print-prog-name=
2318
Driver JoinedOrMissing Var(print_prog_name)
2319
 
2320
print-search-dirs
2321
Driver Var(print_search_dirs)
2322
 
2323
print-sysroot
2324
Driver Var(print_sysroot)
2325
 
2326
print-sysroot-headers-suffix
2327
Driver Var(print_sysroot_headers_suffix)
2328
 
2329
quiet
2330
Common Var(quiet_flag) RejectDriver
2331
Do not display functions compiled or elapsed time
2332
 
2333
r
2334
Driver
2335
 
2336
s
2337
Driver
2338
 
2339
save-temps
2340
Driver
2341
 
2342
save-temps=
2343
Driver Joined
2344
 
2345
t
2346
Driver
2347
 
2348
time
2349
Driver Var(report_times)
2350
 
2351
time=
2352
Driver JoinedOrMissing
2353
 
2354
u
2355
Driver Joined Separate
2356
 
2357
undef
2358
Driver
2359
; C option, but driver must not handle as "-u ndef".
2360
 
2361
v
2362
Common Driver Var(verbose_flag)
2363
Enable verbose output
2364
 
2365
version
2366
Common Var(version_flag) RejectDriver
2367
Display the compiler's version
2368
 
2369
w
2370
Common Var(inhibit_warnings)
2371
Suppress warnings
2372
 
2373
wrapper
2374
Driver Separate Var(wrapper_string)
2375
 
2376
x
2377
Driver Joined Separate
2378
 
2379
shared
2380
Driver RejectNegative Negative(pie)
2381
Create a shared library
2382
 
2383
shared-libgcc
2384
Driver
2385
 
2386
specs
2387
Driver Separate Alias(specs=)
2388
 
2389
specs=
2390
Driver Joined
2391
 
2392
static
2393
Driver
2394
 
2395
static-libgcc
2396
Driver
2397
 
2398
static-libgfortran
2399
Driver
2400
; Documented for Fortran, but always accepted by driver.
2401
 
2402
static-libstdc++
2403
Driver
2404
 
2405
static-libgo
2406
Driver
2407
; Documented for Go, but always accepted by driver.
2408
 
2409
symbolic
2410
Driver
2411
 
2412
pie
2413
Driver RejectNegative Negative(shared)
2414
Create a position independent executable
2415
 
2416
z
2417
Driver Joined Separate
2418
 
2419
; This comment is to ensure we retain the blank line above.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.