forked from illumos/gcc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
common.opt
2339 lines (1743 loc) · 63.3 KB
/
common.opt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
; Options for the language- and target-independent parts of the compiler.
; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3. If not see
; <http://www.gnu.org/licenses/>.
; See the GCC internals manual (options.texi) for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Variable
int target_flags
Variable
int optimize
Variable
int optimize_size
; Not used directly to control optimizations, only to save -Ofast
; setting for "optimize" attributes.
Variable
int optimize_fast
; 0 means straightforward implementation of complex divide acceptable.
; 1 means wide ranges of inputs must work for complex divide.
; 2 means C99-like requirements for complex multiply and divide.
Variable
int flag_complex_method = 1
; Nonzero if subexpressions must be evaluated from left-to-right.
Variable
int flag_evaluation_order = 0
; Language specific warning pass for unused results.
Variable
bool flag_warn_unused_result = false
Variable
int *param_values
; Nonzero if we should write GIMPLE bytecode for link-time optimization.
Variable
int flag_generate_lto
; True to warn about any objects definitions whose size is larger
; than N bytes. Also want about function definitions whose returned
; values are larger than N bytes, where N is 'larger_than_size'.
Variable
bool warn_larger_than
Variable
HOST_WIDE_INT larger_than_size
; True to warn about any function whose frame size is larger
; than N bytes.
Variable
bool warn_frame_larger_than
Variable
HOST_WIDE_INT frame_larger_than_size
; Nonzero means we should be saving declaration info into a .X file.
Variable
int flag_gen_aux_info = 0
; Nonzero if we are compiling code for a shared library, zero for
; executable.
Variable
int flag_shlib
; These two are really VEC(char_p,heap) *.
Variable
void *flag_instrument_functions_exclude_functions
Variable
void *flag_instrument_functions_exclude_files
; Generic structs (e.g. templates not explicitly specialized)
; may not have a compilation unit associated with them, and so
; may need to be treated differently from ordinary structs.
;
; Structs only handled by reference (indirectly), will also usually
; not need as much debugging information.
Variable
enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
Variable
enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
; True if we should exit after parsing options.
Variable
bool exit_after_options
; Type(s) of debugging information we are producing (if any). See
; flag-types.h for the definitions of the different possible types of
; debugging information.
Variable
enum debug_info_type write_symbols = NO_DEBUG
; Level of debugging information we are producing. See flag-types.h
; for the definitions of the different possible levels.
Variable
enum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
; Nonzero means use GNU-only extensions in the generated symbolic
; debugging information. Currently, this only has an effect when
; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.
Variable
bool use_gnu_debug_info_extensions
; Original value of maximum field alignment in bytes, specified via
; -fpack-struct=<value>.
Variable
unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
Variable
enum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL
; Type of stack check.
Variable
enum stack_check_type flag_stack_check = NO_STACK_CHECK
; -dA causes debug commentary information to be produced in
; the generated assembly code (to make it more readable). This option
; is generally only of use to those who actually need to read the
; generated assembly code (perhaps while debugging the compiler itself).
; Currently, this switch is only used by dwarf2out.c; however, it is intended
; to be a catchall for printing debug information in the assembler file.
Variable
int flag_debug_asm
; -dP causes the rtl to be emitted as a comment in assembly.
Variable
int flag_dump_rtl_in_asm
; Whether -da was passed (used only in handle_common_deferred_options).
Variable
bool flag_dump_all_passed
; Other flags saying which kinds of debugging dump have been requested.
Variable
int rtl_dump_and_exit
Variable
int flag_print_asm_name
Variable
enum graph_dump_types graph_dump_format = no_graph
; Name of top-level original source file (what was input to cpp).
; This comes from the #-command at the beginning of the actual input.
; If there isn't any there, then this is the cc1 input file name.
Variable
const char *main_input_filename
; Pointer to base name in main_input_filename, with directories and a
; single final extension removed, and the length of this base
; name.
Variable
const char *main_input_basename
Variable
int main_input_baselength
; Which options have been printed by --help.
Variable
char *help_printed
; Which enums have been printed by --help. 0 = not printed, no
; relevant options seen, 1 = relevant option seen, not yet printed, 2
; = printed.
Variable
char *help_enum_printed
; The number of columns for --help output.
Variable
unsigned int help_columns
; Whether this options structure has been through finish_options
Variable
bool flag_opts_finished
###
Driver
-assemble
Driver Alias(S)
-compile
Driver Alias(c)
-coverage
Driver Alias(coverage)
-debug
Common Alias(g)
-dump
Common Separate Alias(d)
-dump=
Common Joined Alias(d)
-dumpbase
Common Separate Alias(dumpbase)
-dumpdir
Common Separate Alias(dumpdir)
-entry
Driver Separate Alias(e)
-entry=
Driver Joined Alias(e)
-extra-warnings
Common Warning Alias(Wextra)
-for-assembler
Driver Separate Alias(Xassembler)
-for-assembler=
Driver JoinedOrMissing Alias(Xassembler)
-for-linker
Driver Separate Alias(Xlinker)
-for-linker=
Driver JoinedOrMissing Alias(Xlinker)
-force-link
Driver Separate Alias(u)
-force-link=
Driver Joined Alias(u)
-help
Common Driver Var(help_flag)
Display this information
-help=
Common Driver Report Joined
--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
-language
Driver Separate Alias(x)
-language=
Driver Joined Alias(x)
-library-directory
Driver Separate Alias(L)
-library-directory=
Driver Joined Alias(L)
-no-canonical-prefixes
Driver Alias(no-canonical-prefixes)
-no-standard-libraries
Driver Alias(nostdlib)
-no-warnings
Common Alias(w)
-optimize
Common Alias(O)
-output
Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
-output=
Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
-pass-exit-codes
Driver Alias(pass-exit-codes)
-pedantic
Common Alias(pedantic)
-pedantic-errors
Common Alias(pedantic-errors)
-pie
Common Alias(pie)
-pipe
Driver Alias(pipe)
-prefix
Driver Separate Alias(B)
-prefix=
Driver JoinedOrMissing Alias(B)
-preprocess
Driver Alias(E)
-print-file-name
Driver Separate Alias(print-file-name=)
-print-file-name=
Driver JoinedOrMissing Alias(print-file-name=)
-print-libgcc-file-name
Driver Alias(print-libgcc-file-name)
-print-multi-directory
Driver Alias(print-multi-directory)
-print-multi-lib
Driver Alias(print-multi-lib)
-print-multi-os-directory
Driver Alias(print-multi-os-directory)
-print-prog-name
Driver Separate Alias(print-prog-name=)
-print-prog-name=
Driver JoinedOrMissing Alias(print-prog-name=)
-print-search-dirs
Driver Alias(print-search-dirs)
-print-sysroot
Driver Alias(print-sysroot)
-print-sysroot-headers-suffix
Driver Alias(print-sysroot-headers-suffix)
-profile
Common Alias(p)
-save-temps
Driver Alias(save-temps)
-shared
Common Alias(shared)
-specs
Driver Separate Alias(specs=)
-specs=
Driver Joined Alias(specs=)
-static
Driver Alias(static)
-symbolic
Driver Alias(symbolic)
-target-help
Common Driver
Alias for --help=target
-time
Driver Alias(time)
-verbose
Driver Alias(v)
;; The driver used to convert options such as --help into forms such
;; as -fhelp; the following four entries are for compatibility with
;; any direct uses of those (undocumented) -f forms
fhelp
Common Driver Alias(-help)
fhelp=
Common Driver Joined Alias(-help=)
ftarget-help
Common Driver Alias(-target-help)
fversion
Common Driver Alias(-version)
-param
Common Separate
--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
-param=
Common Joined Alias(-param)
-sysroot
Driver Separate Alias(-sysroot=)
-sysroot=
Driver JoinedOrMissing
-version
Common Driver
B
Driver Joined Separate
E
Driver
L
Driver Joined Separate
N
Driver
O
Common JoinedOrMissing Optimization
-O<number> Set optimization level to <number>
Os
Common Optimization
Optimize for space rather than speed
Ofast
Common Optimization
Optimize for speed disregarding exact standards compliance
Q
Driver
Qn
Driver Negative(Qy)
Qy
Driver Negative(Qn)
R
Driver Joined Separate
S
Driver
T
Driver Joined Separate
Tbss
Driver Separate
Tdata
Driver Separate
Ttext
Driver Separate
W
Common RejectNegative Warning Alias(Wextra)
This switch is deprecated; use -Wextra instead
Wa,
Driver JoinedOrMissing
Wl,
Driver JoinedOrMissing
Wp,
Driver JoinedOrMissing
Waggregate-return
Common Var(warn_aggregate_return) Warning
Warn about returning structures, unions or arrays
Warray-bounds
Common Var(warn_array_bounds) Warning
Warn if an array is accessed out of bounds
Wattributes
Common Var(warn_attributes) Init(1) Warning
Warn about inappropriate attribute usage
Wcast-align
Common Var(warn_cast_align) Warning
Warn about pointer casts which increase alignment
Wcpp
Common Var(warn_cpp) Init(1) Warning
Warn when a #warning directive is encountered
Wdeprecated-declarations
Common Var(warn_deprecated_decl) Init(1) Warning
Warn about uses of __attribute__((deprecated)) declarations
Wdisabled-optimization
Common Var(warn_disabled_optimization) Warning
Warn when an optimization pass is disabled
Werror
Common Var(warnings_are_errors)
Treat all warnings as errors
Werror=
Common Joined
Treat specified warning as error
Wextra
Common Var(extra_warnings) Warning
Print extra (possibly unwanted) warnings
Wfatal-errors
Common Var(flag_fatal_errors)
Exit on the first error occurred
Wframe-larger-than=
Common RejectNegative Joined UInteger
-Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
Winline
Common Var(warn_inline) Warning
Warn when an inlined function cannot be inlined
Wlarger-than-
Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
Wlarger-than=
Common RejectNegative Joined UInteger Warning
-Wlarger-than=<number> Warn if an object is larger than <number> bytes
Wunsafe-loop-optimizations
Common Var(warn_unsafe_loop_optimizations) Warning
Warn if the loop cannot be optimized due to nontrivial assumptions.
Wmissing-noreturn
Common Var(warn_missing_noreturn) Warning
Warn about functions which might be candidates for __attribute__((noreturn))
Wmudflap
Common Var(warn_mudflap) Init(1) Warning
Warn about constructs not instrumented by -fmudflap
Woverflow
Common Var(warn_overflow) Init(1) Warning
Warn about overflow in arithmetic expressions
Wpacked
Common Var(warn_packed) Warning
Warn when the packed attribute has no effect on struct layout
Wpadded
Common Var(warn_padded) Warning
Warn when padding is required to align structure members
Wshadow
Common Var(warn_shadow) Warning
Warn when one local variable shadows another
Wstack-protector
Common Var(warn_stack_protect) Warning
Warn when not issuing stack smashing protection for some reason
Wstrict-aliasing
Common Warning
Warn about code which might break strict aliasing rules
Wstrict-aliasing=
Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
Warn about code which might break strict aliasing rules
Wstrict-overflow
Common Warning
Warn about optimizations that assume that signed overflow is undefined
Wstrict-overflow=
Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
Warn about optimizations that assume that signed overflow is undefined
Wsuggest-attribute=const
Common Var(warn_suggest_attribute_const) Warning
Warn about functions which might be candidates for __attribute__((const))
Wsuggest-attribute=pure
Common Var(warn_suggest_attribute_pure) Warning
Warn about functions which might be candidates for __attribute__((pure))
Wsuggest-attribute=noreturn
Common Var(warn_suggest_attribute_noreturn) Warning
Warn about functions which might be candidates for __attribute__((noreturn))
Wswitch
Common Var(warn_switch) Warning
Warn about enumerated switches, with no default, missing a case
Wswitch-default
Common Var(warn_switch_default) Warning
Warn about enumerated switches missing a \"default:\" statement
Wswitch-enum
Common Var(warn_switch_enum) Warning
Warn about all enumerated switches missing a specific case
Wsystem-headers
Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers
Wtrampolines
Common Var(warn_trampolines) Warning
Warn whenever a trampoline is generated
Wtype-limits
Common Var(warn_type_limits) Init(-1) Warning
Warn if a comparison is always true or always false due to the limited range of the data type
Wuninitialized
Common Var(warn_uninitialized) Init(-1) Warning
Warn about uninitialized automatic variables
Wunreachable-code
Common Ignore
Does nothing. Preserved for backward compatibility.
Wunused
Common Var(warn_unused) Init(0) Warning
Enable all -Wunused- warnings
Wunused-but-set-parameter
Common Var(warn_unused_but_set_parameter) Init(-1) Warning
Warn when a function parameter is only set, otherwise unused
Wunused-but-set-variable
Common Var(warn_unused_but_set_variable) Init(-1) Warning
Warn when a variable is only set, otherwise unused
Wunused-function
Common Var(warn_unused_function) Init(-1) Warning
Warn when a function is unused
Wunused-label
Common Var(warn_unused_label) Init(-1) Warning
Warn when a label is unused
Wunused-parameter
Common Var(warn_unused_parameter) Init(-1) Warning
Warn when a function parameter is unused
Wunused-value
Common Var(warn_unused_value) Init(-1) Warning
Warn when an expression value is unused
Wunused-variable
Common Var(warn_unused_variable) Init(-1) Warning
Warn when a variable is unused
Wcoverage-mismatch
Common Var(warn_coverage_mismatch) Init(1) Warning
Warn in case profiles in -fprofile-use do not match
Xassembler
Driver Separate
Xlinker
Driver Separate
Xpreprocessor
Driver Separate
Z
Driver
aux-info
Common Separate Var(aux_info_file_name)
-aux-info <file> Emit declaration information into <file>
aux-info=
Common Joined Alias(aux-info)
auxbase
Common Separate RejectDriver Var(aux_base_name)
auxbase-strip
Common Separate RejectDriver
coverage
Driver
c
Driver
d
Common Joined
-d<letters> Enable dumps from specific passes of the compiler
dumpbase
Common Separate Var(dump_base_name)
-dumpbase <file> Set the file basename to be used for dumps
dumpdir
Common Separate Var(dump_dir_name)
-dumpdir <dir> Set the directory name to be used for dumps
dumpmachine
Driver
dumpspecs
Driver
dumpversion
Driver
e
Driver Joined Separate
; This option has historically been passed down to the linker by an
; accident of a %{e*} spec, so ensure it continues to be passed down
; as a single option. The supported option for this purpose is
; -rdynamic. See PR 47390.
export-dynamic
Driver Undocumented
; The version of the C++ ABI in use. The following values are allowed:
;
; 0: The version of the ABI believed most conformant with the C++ ABI
; specification. This ABI may change as bugs are discovered and fixed.
; Therefore, 0 will not necessarily indicate the same ABI in different
; versions of G++.
;
; 1: The version of the ABI first used in G++ 3.2.
;
; 2: The version of the ABI first used in G++ 3.4 (and current default).
;
; 3: The version of the ABI that fixes the missing underscore
; in template non-type arguments of pointer type.
;
; 4: The version of the ABI that introduces unambiguous mangling of
; vector types.
;
; Additional positive integers will be assigned as new versions of
; the ABI become the default version of the ABI.
fabi-version=
Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
falign-functions
Common Report Var(align_functions,0) Optimization UInteger
Align the start of functions
falign-functions=
Common RejectNegative Joined UInteger Var(align_functions)
falign-jumps
Common Report Var(align_jumps,0) Optimization UInteger
Align labels which are only reached by jumping
falign-jumps=
Common RejectNegative Joined UInteger Var(align_jumps)
falign-labels
Common Report Var(align_labels,0) Optimization UInteger
Align all labels
falign-labels=
Common RejectNegative Joined UInteger Var(align_labels)
falign-loops
Common Report Var(align_loops,0) Optimization UInteger
Align the start of loops
falign-loops=
Common RejectNegative Joined UInteger Var(align_loops)
fargument-alias
Common Ignore
Does nothing. Preserved for backward compatibility.
fargument-noalias
Common Ignore
Does nothing. Preserved for backward compatibility.
fargument-noalias-global
Common Ignore
Does nothing. Preserved for backward compatibility.
fargument-noalias-anything
Common Ignore
Does nothing. Preserved for backward compatibility.
fasynchronous-unwind-tables
Common Report Var(flag_asynchronous_unwind_tables) Optimization
Generate unwind tables that are exact at each instruction boundary
fauto-inc-dec
Common Report Var(flag_auto_inc_dec) Init(1)
Generate auto-inc/dec instructions
; -fcheck-bounds causes gcc to generate array bounds checks.
; For C, C++ and ObjC: defaults off.
; For Java: defaults to on.
; For Fortran: defaults to off.
fbounds-check
Common Report Var(flag_bounds_check)
Generate code to check bounds before indexing arrays
fbranch-count-reg
Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
Replace add, compare, branch with branch on count register
fbranch-probabilities
Common Report Var(flag_branch_probabilities) Optimization
Use profiling information for branch probabilities
fbranch-target-load-optimize
Common Report Var(flag_branch_target_load_optimize) Optimization
Perform branch target load optimization before prologue / epilogue threading
fbranch-target-load-optimize2
Common Report Var(flag_branch_target_load_optimize2) Optimization
Perform branch target load optimization after prologue / epilogue threading
fbtr-bb-exclusive
Common Report Var(flag_btr_bb_exclusive) Optimization
Restrict target load migration not to re-use registers in any basic block
fcall-saved-
Common Joined RejectNegative Var(common_deferred_options) Defer
-fcall-saved-<register> Mark <register> as being preserved across functions
fcall-used-
Common Joined RejectNegative Var(common_deferred_options) Defer
-fcall-used-<register> Mark <register> as being corrupted by function calls
; Nonzero for -fcaller-saves: allocate values in regs that need to
; be saved across function calls, if that produces overall better code.
; Optional now, so people can test it.
fcaller-saves
Common Report Var(flag_caller_saves) Optimization
Save registers around function calls
fcheck-data-deps
Common Report Var(flag_check_data_deps)
Compare the results of several data dependence analyzers.
fcombine-stack-adjustments
Common Report Var(flag_combine_stack_adjustments) Optimization
Looks for opportunities to reduce stack adjustments and stack references.
fcommon
Common Report Var(flag_no_common,0) Optimization
Do not put uninitialized globals in the common section
fcompare-debug
Driver
; Converted by the driver to -fcompare-debug= options.
fcompare-debug=
Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
fcompare-debug-second
Common Driver RejectNegative Var(flag_compare_debug)
Run only the second compilation of -fcompare-debug
fcompare-elim
Common Report Var(flag_compare_elim_after_reload) Optimization
Perform comparison elimination after register allocation has finished
fconserve-stack
Common Var(flag_conserve_stack) Optimization
Do not perform optimizations increasing noticeably stack usage
fcprop-registers
Common Report Var(flag_cprop_registers) Optimization
Perform a register copy-propagation optimization pass
fcrossjumping
Common Report Var(flag_crossjumping) Optimization
Perform cross-jumping optimization
fcse-follow-jumps
Common Report Var(flag_cse_follow_jumps) Optimization
When running CSE, follow jumps to their targets
fcse-skip-blocks
Common Ignore
Does nothing. Preserved for backward compatibility.
fcx-limited-range
Common Report Var(flag_cx_limited_range) Optimization SetByCombined
Omit range reduction step when performing complex division
fcx-fortran-rules
Common Report Var(flag_cx_fortran_rules) Optimization
Complex multiplication and division follow Fortran rules
fdata-sections
Common Report Var(flag_data_sections) Optimization
Place data items into their own section
fdbg-cnt-list
Common Report Var(common_deferred_options) Defer
List all available debugging counters with their limits and counts.
fdbg-cnt=
Common RejectNegative Joined Var(common_deferred_options) Defer
-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
fdebug-prefix-map=
Common Joined RejectNegative Var(common_deferred_options) Defer
Map one directory name to another in debug information
; Nonzero for -fdefer-pop: don't pop args after each function call
; instead save them up to pop many calls' args with one insns.
fdefer-pop
Common Report Var(flag_defer_pop) Optimization
Defer popping functions args from stack until later
fdelayed-branch
Common Report Var(flag_delayed_branch) Optimization
Attempt to fill delay slots of branch instructions
fdelete-null-pointer-checks
Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
Delete useless null pointer checks
fdevirtualize
Common Report Var(flag_devirtualize) Optimization
Try to convert virtual calls to direct ones.
fdiagnostics-show-location=
Common Joined RejectNegative Enum(diagnostic_prefixing_rule)
-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
; Required for these enum values.
SourceInclude
pretty-print.h
Enum
Name(diagnostic_prefixing_rule) Type(int)
EnumValue
Enum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
EnumValue
Enum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
fdiagnostics-show-option
Common Var(flag_diagnostics_show_option) Init(1)
Amend appropriate diagnostic messages with the command line option that controls them
fdump-
Common Joined RejectNegative Var(common_deferred_options) Defer
-fdump-<type> Dump various compiler internals to a file
fdump-final-insns
Driver RejectNegative
fdump-final-insns=
Common RejectNegative Joined Var(flag_dump_final_insns)
-fdump-final-insns=filename Dump to filename the insns at the end of translation
fdump-go-spec=
Common RejectNegative Joined Var(flag_dump_go_spec)
-fdump-go-spec=filename Write all declarations to file as Go code
fdump-noaddr
Common Report Var(flag_dump_noaddr)
Suppress output of addresses in debugging dumps
fdump-unnumbered
Common Report Var(flag_dump_unnumbered)
Suppress output of instruction numbers, line number notes and addresses in debugging dumps
fdump-unnumbered-links
Common Report Var(flag_dump_unnumbered_links)
Suppress output of previous and next insn numbers in debugging dumps
fdwarf2-cfi-asm
Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
Enable CFI tables via GAS assembler directives.
fearly-inlining
Common Report Var(flag_early_inlining) Init(1) Optimization
Perform early inlining
feliminate-dwarf2-dups
Common Report Var(flag_eliminate_dwarf2_dups)
Perform DWARF2 duplicate elimination
fipa-sra
Common Report Var(flag_ipa_sra) Init(0) Optimization
Perform interprocedural reduction of aggregates
feliminate-unused-debug-symbols
Common Report Var(flag_debug_only_used_symbols)
Perform unused type elimination in debug info