-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgpp_opts.json
1388 lines (1388 loc) · 124 KB
/
gpp_opts.json
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
{
"executable": "/usr/bin/g++",
"version": "g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0\nCopyright (C) 2019 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions. There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.",
"opts": {
"--completion=": "Provide bash completion for options starting with provided string.",
"--debug": "Same as -g. Use the latter option instead.",
"--dump": "Same as -d. Use the latter option instead.",
"--dump=": "Same as -d. Use the latter option instead.",
"--dumpbase": "Same as -dumpbase. Use the latter option instead.",
"--dumpdir": "Same as -dumpdir. Use the latter option instead.",
"--extra-warnings": "Same as -Wextra. Use the latter option instead.",
"--help": "Display this information.",
"--help=<class>": "Display descriptions of a specific class of options. <class> is one or more of optimizers, target,",
"--no-warnings": "Same as -w. Use the latter option instead.",
"--optimize": "Same as -O. Use the latter option instead.",
"--output": "Same as -o. Use the latter option instead.",
"--output=": "Same as -o. Use the latter option instead.",
"--param": "<param>=<value> Set parameter <param> to value. See below for a complete list of parameters.",
"--param=": "Same as --param. Use the latter option instead.",
"--pedantic": "Same as -Wpedantic. Use the latter option instead.",
"--pedantic-errors": "Same as -pedantic-errors. Use the latter option instead.",
"--profile": "Same as -p. Use the latter option instead.",
"--target-help": "Alias for --help=target.",
"--verbose": "Same as -v. Use the latter option instead.",
"--version": "This option lacks documentation.",
"-O<number>": "Set optimization level to <number>.",
"-Ofast": "Optimize for speed disregarding exact standards compliance.",
"-Og": "Optimize for debugging experience rather than speed or size.",
"-Os": "Optimize for space rather than speed.",
"-W": "This switch is deprecated; use -Wextra instead. Same as -Wextra.",
"-Waggregate-return": "Warn about returning structures, unions or arrays.",
"-Waggressive-loop-optimizations": "Warn if a loop with constant number of iterations triggers undefined behavior.",
"-Warray-bounds": "Warn if an array is accessed out of bounds.",
"-Warray-bounds=<0,2>": "Warn if an array is accessed out of bounds.",
"-Wattribute-alias": "Warn about type safety and similar errors and mismatches in declarations with alias attributes. Same as",
"-Wattribute-alias=<0,2>": "Warn about type safety and similar errors and mismatches in declarations with alias attributes.",
"-Wattribute-warning": "Warn about uses of __attribute__((warning)) declarations.",
"-Wattributes": "Warn about inappropriate attribute usage.",
"-Wcannot-profile": "Warn when profiling instrumentation was requested, but could not be applied to a certain function.",
"-Wcast-align": "Warn about pointer casts which increase alignment.",
"-Wcast-align=strict": "Warn about pointer casts which increase alignment.",
"-Wcoverage-mismatch": "Warn in case profiles in -fprofile-use do not match.",
"-Wcpp": "Warn when a #warning directive is encountered.",
"-Wdeprecated": "Warn if a deprecated compiler feature, class, method, or field is used.",
"-Wdeprecated-declarations": "Warn about uses of __attribute__((deprecated)) declarations.",
"-Wdisabled-optimization": "Warn when an optimization pass is disabled.",
"-Werror": "Treat all warnings as errors.",
"-Werror=": "Treat specified warning as error.",
"-Wextra": "Print extra (possibly unwanted) warnings.",
"-Wfatal-errors": "Exit on the first error occurred.",
"-Wframe-larger-than=<byte-size>": "Warn if a function's stack frame requires in excess of <byte-size>.",
"-Wfree-nonheap-object": "Warn when attempting to free a non-heap object.",
"-Whsa": "Warn when a function cannot be expanded to HSAIL.",
"-Wimplicit-fallthrough": "Same as -Wimplicit-fallthrough=. Use the latter option instead.",
"-Wimplicit-fallthrough=<0,5>": "Warn when a switch case falls through.",
"-Winline": "Warn when an inlined function cannot be inlined.",
"-Winvalid-memory-model": "Warn when an atomic memory model parameter is known to be outside the valid range.",
"-Wlarger-than-": "Same as -Wlarger-than=. Use the latter option instead.",
"-Wlarger-than=<byte-size>": "Warn if an object's size exceeds <byte-size>.",
"-Wlto-type-mismatch": "During link time optimization warn about mismatched types of global declarations.",
"-Wmaybe-uninitialized": "Warn about maybe uninitialized automatic variables.",
"-Wmisleading-indentation": "Warn when the indentation of the code does not reflect the block structure.",
"-Wmissing-noreturn": "Same as -Wsuggest-attribute=noreturn. Use the latter option instead.",
"-Wmissing-profile": "Warn in case profiles in -fprofile-use do not exist.",
"-Wnull-dereference": "Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior.",
"-Wodr": "Warn about some C++ One Definition Rule violations during link time optimization.",
"-Woverflow": "Warn about overflow in arithmetic expressions.",
"-Wpacked": "Warn when the packed attribute has no effect on struct layout.",
"-Wpadded": "Warn when padding is required to align structure members.",
"-Wpedantic": "Issue warnings needed for strict compliance to the standard.",
"-Wreturn-local-addr": "Warn about returning a pointer/reference to a local or temporary variable.",
"-Wshadow": "Warn when one variable shadows another. Same as -Wshadow=global.",
"-Wshadow-compatible-local": "Same as -Wshadow=compatible-local. Use the latter option instead.",
"-Wshadow-local": "Same as -Wshadow=local. Use the latter option instead.",
"-Wshadow=compatible-local": "Warn when one local variable shadows another local variable or parameter of compatible type.",
"-Wshadow=global": "Warn when one variable shadows another (globally). Same as -Wshadow.",
"-Wshadow=local": "Warn when one local variable shadows another local variable or parameter.",
"-Wstack-protector": "Warn when not issuing stack smashing protection for some reason.",
"-Wstack-usage=<byte-size>": "Warn if stack usage might exceed <byte-size>.",
"-Wstrict-aliasing": "Warn about code which might break strict aliasing rules.",
"-Wstrict-aliasing=<0,3>": "Warn about code which might break strict aliasing rules.",
"-Wstrict-overflow": "Warn about optimizations that assume that signed overflow is undefined.",
"-Wstrict-overflow=<0,5>": "Warn about optimizations that assume that signed overflow is undefined.",
"-Wsuggest-attribute=cold": "Warn about functions which might be candidates for __attribute__((cold)).",
"-Wsuggest-attribute=const": "Warn about functions which might be candidates for __attribute__((const)).",
"-Wsuggest-attribute=malloc": "Warn about functions which might be candidates for __attribute__((malloc)).",
"-Wsuggest-attribute=noreturn": "Warn about functions which might be candidates for __attribute__((noreturn)).",
"-Wsuggest-attribute=pure": "Warn about functions which might be candidates for __attribute__((pure)).",
"-Wsuggest-final-methods": "Warn about C++ virtual methods where adding final keyword would improve code quality.",
"-Wsuggest-final-types": "Warn about C++ polymorphic types where adding final keyword would improve code quality.",
"-Wswitch-unreachable": "Warn about statements between switch's controlling expression and the first case.",
"-Wsystem-headers": "Do not suppress warnings from system headers.",
"-Wtrampolines": "Warn whenever a trampoline is generated.",
"-Wtype-limits": "Warn if a comparison is always true or always false due to the limited range of the data type.",
"-Wuninitialized": "Warn about uninitialized automatic variables.",
"-Wunreachable-code": "Does nothing. Preserved for backward compatibility.",
"-Wunsafe-loop-optimizations": "Does nothing. Preserved for backward compatibility.",
"-Wunused": "Enable all -Wunused- warnings.",
"-Wunused-but-set-parameter": "Warn when a function parameter is only set, otherwise unused.",
"-Wunused-but-set-variable": "Warn when a variable is only set, otherwise unused.",
"-Wunused-function": "Warn when a function is unused.",
"-Wunused-label": "Warn when a label is unused.",
"-Wunused-parameter": "Warn when a function parameter is unused.",
"-Wunused-value": "Warn when an expression value is unused.",
"-Wunused-variable": "Warn when a variable is unused.",
"-Wvector-operation-performance": "Warn when a vector operation is compiled outside the SIMD.",
"-aux-info": "<file> Emit declaration information into <file>.",
"-aux-info=": "Same as -aux-info. Use the latter option instead.",
"-auxbase": "This option lacks documentation.",
"-auxbase-strip": "This option lacks documentation.",
"-d<letters>": "Enable dumps from specific passes of the compiler.",
"-dumpbase": "<file> Set the file basename to be used for dumps.",
"-dumpdir": "<dir> Set the directory name to be used for dumps.",
"-fPIC": "Generate position-independent code if possible (large mode).",
"-fPIE": "Generate position-independent code for executables if possible (large mode).",
"-fabi-version=": "The version of the C++ ABI in use.",
"-faggressive-loop-optimizations": "Aggressively optimize loops using language constraints.",
"-falign-functions": "Align the start of functions.",
"-falign-functions=": "This option lacks documentation.",
"-falign-jumps": "Align labels which are only reached by jumping.",
"-falign-jumps=": "This option lacks documentation.",
"-falign-labels": "Align all labels.",
"-falign-labels=": "This option lacks documentation.",
"-falign-loops": "Align the start of loops.",
"-falign-loops=": "This option lacks documentation.",
"-fargument-alias": "Does nothing. Preserved for backward compatibility.",
"-fargument-noalias": "Does nothing. Preserved for backward compatibility.",
"-fargument-noalias-anything": "Does nothing. Preserved for backward compatibility.",
"-fargument-noalias-global": "Does nothing. Preserved for backward compatibility.",
"-fasan-shadow-offset=<number>": "Use custom shadow memory offset.",
"-fassociative-math": "Allow optimization for floating-point arithmetic which may change the result of the operation due to",
"-fasynchronous-unwind-tables": "Generate unwind tables that are exact at each instruction boundary.",
"-fauto-inc-dec": "Generate auto-inc/dec instructions.",
"-fauto-profile": "Use sample profile information for call graph node weights. The default profile file is fbdata.afdo in",
"-fauto-profile=": "Use sample profile information for call graph node weights. The profile file is specified in the",
"-fbounds-check": "Generate code to check bounds before indexing arrays.",
"-fbranch-count-reg": "Replace add, compare, branch with branch on count register.",
"-fbranch-probabilities": "Use profiling information for branch probabilities.",
"-fbranch-target-load-optimize": "Perform branch target load optimization before prologue / epilogue threading.",
"-fbranch-target-load-optimize2": "Perform branch target load optimization after prologue / epilogue threading.",
"-fbtr-bb-exclusive": "Restrict target load migration not to re-use registers in any basic block.",
"-fcall-saved-<register>": "Mark <register> as being preserved across functions.",
"-fcall-used-<register>": "Mark <register> as being corrupted by function calls.",
"-fcaller-saves": "Save registers around function calls.",
"-fcf-protection": "Same as -fcf-protection=. Use the latter option instead.",
"-fcf-protection=[full|branch|return|none|check]": "Instrument functions with checks to verify jump/call/return control-flow transfer",
"-fcheck-data-deps": "This switch is deprecated; do not use.",
"-fcheck-new": "Check the return value of new in C++.",
"-fchecking": "Perform internal consistency checkings.",
"-fchecking=": "Perform internal consistency checkings.",
"-fcode-hoisting": "Enable code hoisting.",
"-fcombine-stack-adjustments": "Looks for opportunities to reduce stack adjustments and stack references.",
"-fcommon": "Do not put uninitialized globals in the common section.",
"-fcompare-debug-second": "Run only the second compilation of -fcompare-debug.",
"-fcompare-debug[=<opts>]": "Compile with and without e.g. -gtoggle, and compare the final-insns dump.",
"-fcompare-elim": "Perform comparison elimination after register allocation has finished.",
"-fconserve-stack": "Do not perform optimizations increasing noticeably stack usage.",
"-fcprop-registers": "Perform a register copy-propagation optimization pass.",
"-fcrossjumping": "Perform cross-jumping optimization.",
"-fcse-follow-jumps": "When running CSE, follow jumps to their targets.",
"-fcse-skip-blocks": "Does nothing. Preserved for backward compatibility.",
"-fcx-fortran-rules": "Complex multiplication and division follow Fortran rules.",
"-fcx-limited-range": "Omit range reduction step when performing complex division.",
"-fdata-sections": "Place data items into their own section.",
"-fdbg-cnt-list": "List all available debugging counters with their limits and counts.",
"-fdbg-cnt=<counter>[:<lower_limit>]:<upper_limit>[,<counter>:...]": "Set the debug counter limit.",
"-fdce": "Use the RTL dead code elimination pass.",
"-fdebug-prefix-map=": "-fdebug-prefix-map=<old>=<new> Map one directory name to another in debug information.",
"-fdebug-types-section": "Output .debug_types section when using DWARF v4 debuginfo.",
"-fdefer-pop": "Defer popping functions args from stack until later.",
"-fdelayed-branch": "Attempt to fill delay slots of branch instructions.",
"-fdelete-dead-exceptions": "Delete dead instructions that may throw exceptions.",
"-fdelete-null-pointer-checks": "Delete useless null pointer checks.",
"-fdevirtualize": "Try to convert virtual calls to direct ones.",
"-fdevirtualize-at-ltrans": "Stream extra data to support more aggressive devirtualization in LTO local transformation mode.",
"-fdevirtualize-speculatively": "Perform speculative devirtualization.",
"-fdiagnostics-color": "Same as -fdiagnostics-color=. Use the latter option instead.",
"-fdiagnostics-color=[never|always|auto]": "Colorize diagnostics.",
"-fdiagnostics-format=": "-fdiagnostics-format=[text|json] Select output format.",
"-fdiagnostics-generate-patch": "Print fix-it hints to stderr in unified diff format.",
"-fdiagnostics-minimum-margin-width=": "Set minimum width of left margin of source code when showing source.",
"-fdiagnostics-parseable-fixits": "Print fix-it hints in machine-readable form.",
"-fdiagnostics-show-caret": "Show the source line with a caret indicating the column.",
"-fdiagnostics-show-labels": "Show labels annotating ranges of source code when showing source.",
"-fdiagnostics-show-line-numbers": "Show line numbers in the left margin when showing source.",
"-fdiagnostics-show-location=[once|every-line]": "How often to emit source location at the beginning of line-wrapped diagnostics.",
"-fdiagnostics-show-option": "Amend appropriate diagnostic messages with the command line option that controls them.",
"-fdisable-": "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass.",
"-fdse": "Use the RTL dead store elimination pass.",
"-fdump-<type>": "Dump various compiler internals to a file.",
"-fdump-final-insns=filename": "Dump to filename the insns at the end of translation.",
"-fdump-go-spec=filename": "Write all declarations to file as Go code.",
"-fdump-internal-locations": "Dump detailed information on GCC's internal representation of source code locations.",
"-fdump-noaddr": "Suppress output of addresses in debugging dumps.",
"-fdump-passes": "Dump optimization passes.",
"-fdump-unnumbered": "Suppress output of instruction numbers, line number notes and addresses in debugging dumps.",
"-fdump-unnumbered-links": "Suppress output of previous and next insn numbers in debugging dumps.",
"-fdwarf2-cfi-asm": "Enable CFI tables via GAS assembler directives.",
"-fearly-inlining": "Perform early inlining.",
"-feliminate-dwarf2-dups": "Does nothing. Preserved for backward compatibility.",
"-feliminate-unused-debug-symbols": "Perform unused symbol elimination in debug info.",
"-feliminate-unused-debug-types": "Perform unused type elimination in debug info.",
"-femit-class-debug-always": "Do not suppress C++ class debug information.",
"-fenable-": "-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass.",
"-fexceptions": "Enable exception handling.",
"-fexcess-precision=[fast|standard]": "Specify handling of excess floating-point precision.",
"-fexpensive-optimizations": "Perform a number of minor, expensive optimizations.",
"-ffast-math": "This option lacks documentation.",
"-ffat-lto-objects": "Output lto objects containing both the intermediate language and binary output.",
"-ffile-prefix-map=": "-ffile-prefix-map=<old>=<new> Map one directory name to another in compilation result.",
"-ffinite-math-only": "Assume no NaNs or infinities are generated.",
"-ffixed-<register>": "Mark <register> as being unavailable to the compiler.",
"-ffloat-store": "Don't allocate floats and doubles in extended-precision registers.",
"-fforce-addr": "Does nothing. Preserved for backward compatibility.",
"-fforward-propagate": "Perform a forward propagation pass on RTL.",
"-ffp-contract=[off|on|fast]": "Perform floating-point expression contraction.",
"-ffp-int-builtin-inexact": "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" exceptions.",
"-ffunction-cse": "Allow function addresses to be held in registers.",
"-ffunction-sections": "Place each function into its own section.",
"-fgcse": "Perform global common subexpression elimination.",
"-fgcse-after-reload": "Perform global common subexpression elimination after register allocation has finished.",
"-fgcse-las": "Perform redundant load after store elimination in global common subexpression elimination.",
"-fgcse-lm": "Perform enhanced load motion during global common subexpression elimination.",
"-fgcse-sm": "Perform store motion after global common subexpression elimination.",
"-fgnat-encodings=[all|gdb|minimal]": "Select the balance between GNAT encodings and standard DWARF emitted in the debug information.",
"-fgnu-tm": "Enable support for GNU transactional memory.",
"-fgnu-unique": "Use STB_GNU_UNIQUE if supported by the assembler.",
"-fgraphite": "Enable in and out of Graphite representation.",
"-fgraphite-identity": "Enable Graphite Identity transformation.",
"-fguess-branch-probability": "Enable guessing of branch probabilities.",
"-fhelp": "Same as --help. Use the latter option instead.",
"-fhelp=": "Same as --help=. Use the latter option instead.",
"-fhoist-adjacent-loads": "Enable hoisting adjacent loads to encourage generating conditional move instructions.",
"-fident": "Process #ident directives.",
"-fif-conversion": "Perform conversion of conditional jumps to branchless equivalents.",
"-fif-conversion2": "Perform conversion of conditional jumps to conditional execution.",
"-findirect-inlining": "Perform indirect inlining.",
"-finhibit-size-directive": "Do not generate .size directives.",
"-finline": "Enable inlining of function declared \"inline\", disabling disables all inlining.",
"-finline-atomics": "Inline __atomic operations when a lock free instruction sequence is available.",
"-finline-functions": "Integrate functions not declared \"inline\" into their callers when profitable.",
"-finline-functions-called-once": "Integrate functions only required by their single caller.",
"-finline-limit-": "Same as -finline-limit=. Use the latter option instead.",
"-finline-limit=<number>": "Limit the size of inlined functions to <number>.",
"-finline-small-functions": "Integrate functions into their callers when code size is known not to grow.",
"-finstrument-functions": "Instrument function entry and exit with profiling calls.",
"-finstrument-functions-exclude-file-list=": "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed",
"-finstrument-functions-exclude-function-list=": "-finstrument-functions-exclude-function-list=name,... Do not instrument listed",
"-fipa-bit-cp": "Perform interprocedural bitwise constant propagation.",
"-fipa-cp": "Perform interprocedural constant propagation.",
"-fipa-cp-alignment": "Does nothing. Preserved for backward compatibility.",
"-fipa-cp-clone": "Perform cloning to make Interprocedural constant propagation stronger.",
"-fipa-icf": "Perform Identical Code Folding for functions and read-only variables.",
"-fipa-icf-functions": "Perform Identical Code Folding for functions.",
"-fipa-icf-variables": "Perform Identical Code Folding for variables.",
"-fipa-matrix-reorg": "Does nothing. Preserved for backward compatibility.",
"-fipa-profile": "Perform interprocedural profile propagation.",
"-fipa-pta": "Perform interprocedural points-to analysis.",
"-fipa-pure-const": "Discover pure and const functions.",
"-fipa-ra": "Use caller save register across calls if possible.",
"-fipa-reference": "Discover read-only and non addressable static variables.",
"-fipa-reference-addressable": "Discover read-only, write-only and non-addressable static variables.",
"-fipa-sra": "Perform interprocedural reduction of aggregates.",
"-fipa-stack-alignment": "Reduce stack alignment on call sites if possible.",
"-fipa-struct-reorg": "Does nothing. Preserved for backward compatibility.",
"-fipa-vrp": "Perform IPA Value Range Propagation.",
"-fira-algorithm=[CB|priority]": "Set the used IRA algorithm.",
"-fira-hoist-pressure": "Use IRA based register pressure calculation in RTL hoist optimizations.",
"-fira-loop-pressure": "Use IRA based register pressure calculation in RTL loop optimizations.",
"-fira-region=[one|all|mixed]": "Set regions for IRA.",
"-fira-share-save-slots": "Share slots for saving different hard registers.",
"-fira-share-spill-slots": "Share stack slots for spilled pseudo-registers.",
"-fira-verbose=<number>": "Control IRA's level of diagnostic messages.",
"-fisolate-erroneous-paths-attribute": "Detect paths that trigger erroneous or undefined behavior due to a null value being used in a",
"-fisolate-erroneous-paths-dereference": "Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer.",
"-fivopts": "Optimize induction variables on trees.",
"-fjump-tables": "Use jump tables for sufficiently large switch statements.",
"-fkeep-gc-roots-live": "This option lacks documentation.",
"-fkeep-inline-functions": "Generate code for functions even if they are fully inlined.",
"-fkeep-static-consts": "Emit static const variables even if they are not used.",
"-fkeep-static-functions": "Generate code for static functions even if they are never called.",
"-fleading-underscore": "Give external symbols a leading underscore.",
"-flifetime-dse": "Tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor",
"-flifetime-dse=<0,2>": "This option lacks documentation.",
"-flimit-function-alignment": "This option lacks documentation.",
"-flive-patching": "Same as -flive-patching=. Use the latter option instead.",
"-flive-patching=[inline-only-static|inline-clone]": "Control IPA optimizations to provide a safe compilation for live-patching. At the",
"-flive-range-shrinkage": "Relief of register pressure through live range shrinkage.",
"-floop-block": "Enable loop nest transforms. Same as -floop-nest-optimize. Same as -floop-nest-optimize.",
"-floop-flatten": "Does nothing. Preserved for backward compatibility.",
"-floop-interchange": "Enable loop interchange on trees.",
"-floop-nest-optimize": "Enable the loop nest optimizer.",
"-floop-optimize": "Does nothing. Preserved for backward compatibility.",
"-floop-parallelize-all": "Mark all loops as parallel.",
"-floop-strip-mine": "Enable loop nest transforms. Same as -floop-nest-optimize. Same as -floop-nest-optimize.",
"-floop-unroll-and-jam": "Perform unroll-and-jam on loops.",
"-flra-remat": "Do CFG-sensitive rematerialization in LRA.",
"-flto": "Enable link-time optimization.",
"-flto-compression-level=<number>\tUse": "Use zlib compression level <number> for IL.",
"-flto-odr-type-merging": "Merge C++ types using One Definition Rule.",
"-flto-partition=": "Specify the algorithm to partition symbols and vars at linktime.",
"-flto-report": "Report various link-time optimization statistics.",
"-flto-report-wpa": "Report various link-time optimization statistics for WPA only.",
"-flto=": "Link-time optimization with number of parallel jobs or jobserver.",
"-fmath-errno": "Set errno after built-in math functions.",
"-fmax-errors=<number>": "Maximum number of errors to report.",
"-fmem-report": "Report on permanent memory allocation.",
"-fmem-report-wpa": "Report on permanent memory allocation in WPA only.",
"-fmerge-all-constants": "Attempt to merge identical constants and constant variables.",
"-fmerge-constants": "Attempt to merge identical constants across compilation units.",
"-fmerge-debug-strings": "Attempt to merge identical debug strings across compilation units.",
"-fmessage-length=<number>": "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping.",
"-fmodulo-sched": "Perform SMS based modulo scheduling before the first scheduling pass.",
"-fmodulo-sched-allow-regmoves": "Perform SMS based modulo scheduling with register moves allowed.",
"-fmove-loop-invariants": "Move loop invariant computations out of loops.",
"-fnon-call-exceptions": "Support synchronous non-call exceptions.",
"-foffload-abi=": "-foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler.",
"-foffload=": "-foffload=<targets>=<options> Specify offloading targets and options for them.",
"-fomit-frame-pointer": "When possible do not generate stack frames.",
"-fopt-info": "Enable all optimization info dumps on stderr.",
"-fopt-info[-<type>=filename]": "Dump compiler optimization details.",
"-foptimize-register-move": "Does nothing. Preserved for backward compatibility.",
"-foptimize-sibling-calls": "Optimize sibling and tail recursive calls.",
"-foptimize-strlen": "Enable string length optimizations on trees.",
"-fpack-struct": "Pack structure members together without holes.",
"-fpack-struct=<number>": "Set initial maximum structure member alignment.",
"-fpartial-inlining": "Perform partial inlining.",
"-fpatchable-function-entry=": "Insert NOP instructions at each function entry.",
"-fpcc-struct-return": "Return small aggregates in memory, not registers.",
"-fpeel-loops": "Perform loop peeling.",
"-fpeephole": "Enable machine specific peephole optimizations.",
"-fpeephole2": "Enable an RTL peephole pass before sched2.",
"-fpermitted-flt-eval-methods=[c11|ts-18661]": "Specify which values of FLT_EVAL_METHOD are permitted.",
"-fpic": "Generate position-independent code if possible (small mode).",
"-fpie": "Generate position-independent code for executables if possible (small mode).",
"-fplt": "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site).",
"-fplugin-arg-<name>-<key>[=<value>]": "Specify argument <key>=<value> for plugin <name>.",
"-fplugin=": "Specify a plugin to load.",
"-fpost-ipa-mem-report": "Report on memory allocation before interprocedural optimization.",
"-fpre-ipa-mem-report": "Report on memory allocation before interprocedural optimization.",
"-fpredictive-commoning": "Run predictive commoning optimization.",
"-fprefetch-loop-arrays": "Generate prefetch instructions, if available, for arrays in loops.",
"-fprofile": "Enable basic program profiling code.",
"-fprofile-abs-path": "Generate absolute source path names for gcov.",
"-fprofile-arcs": "Insert arc-based program profiling code.",
"-fprofile-correction": "Enable correction of flow inconsistent profile data input.",
"-fprofile-dir=": "Set the top-level directory for storing the profile data. The default is 'pwd'.",
"-fprofile-exclude-files=": "Instrument only functions from files where names do not match all the regular expressions (separated by",
"-fprofile-filter-files=": "Instrument only functions from files where names match any regular expression (separated by a semi-",
"-fprofile-generate": "Enable common options for generating profile info for profile feedback directed optimizations.",
"-fprofile-generate=": "Enable common options for generating profile info for profile feedback directed optimizations, and set",
"-fprofile-reorder-functions": "Enable function reordering that improves code placement.",
"-fprofile-report": "Report on consistency of profile.",
"-fprofile-update=[single|atomic|prefer-atomic]": "Set the profile update method.",
"-fprofile-use": "Enable common options for performing profile feedback directed optimizations.",
"-fprofile-use=": "Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=.",
"-fprofile-values": "Insert code to profile values of expressions.",
"-frandom-seed": "This option lacks documentation.",
"-frandom-seed=<string>": "Make compile reproducible using <string>.",
"-freciprocal-math": "Same as -fassociative-math for expressions which include division.",
"-frecord-gcc-switches": "Record gcc command line switches in the object file.",
"-free": "Turn on Redundant Extensions Elimination pass.",
"-freg-struct-return": "Return small aggregates in registers.",
"-fregmove": "Does nothing. Preserved for backward compatibility.",
"-frename-registers": "Perform a register renaming optimization pass.",
"-freorder-blocks": "Reorder basic blocks to improve code placement.",
"-freorder-blocks-algorithm=[simple|stc]": "Set the used basic block reordering algorithm.",
"-freorder-blocks-and-partition": "Reorder basic blocks and partition into hot and cold sections.",
"-freorder-functions": "Reorder functions to improve code placement.",
"-freport-bug": "Collect and dump debug information into temporary file if ICE in C/C++ compiler occurred.",
"-frerun-cse-after-loop": "Add a common subexpression elimination pass after loop optimizations.",
"-frerun-loop-opt": "Does nothing. Preserved for backward compatibility.",
"-freschedule-modulo-scheduled-loops": "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling.",
"-frounding-math": "Disable optimizations that assume default FP rounding behavior.",
"-fsanitize-address-use-after-scope": "This option lacks documentation.",
"-fsanitize-coverage=": "Select type of coverage sanitization.",
"-fsanitize-recover": "This switch is deprecated; use -fsanitize-recover= instead.",
"-fsanitize-recover=": "After diagnosing undefined behavior attempt to continue execution.",
"-fsanitize-sections=<sec1,sec2,...>": "Sanitize global variables in user-defined sections.",
"-fsanitize-undefined-trap-on-error": "Use trap instead of a library function for undefined behavior sanitization.",
"-fsanitize=": "Select what to sanitize.",
"-fsave-optimization-record": "Write a SRCFILE.opt-record.json file detailing what optimizations were performed.",
"-fsched-critical-path-heuristic": "Enable the critical path heuristic in the scheduler.",
"-fsched-dep-count-heuristic": "Enable the dependent count heuristic in the scheduler.",
"-fsched-group-heuristic": "Enable the group heuristic in the scheduler.",
"-fsched-interblock": "Enable scheduling across basic blocks.",
"-fsched-last-insn-heuristic": "Enable the last instruction heuristic in the scheduler.",
"-fsched-pressure": "Enable register pressure sensitive insn scheduling.",
"-fsched-rank-heuristic": "Enable the rank heuristic in the scheduler.",
"-fsched-spec": "Allow speculative motion of non-loads.",
"-fsched-spec-insn-heuristic": "Enable the speculative instruction heuristic in the scheduler.",
"-fsched-spec-load": "Allow speculative motion of some loads.",
"-fsched-spec-load-dangerous": "Allow speculative motion of more loads.",
"-fsched-stalled-insns": "Allow premature scheduling of queued insns.",
"-fsched-stalled-insns-dep": "Set dependence distance checking in premature scheduling of queued insns.",
"-fsched-stalled-insns-dep=<number>": "Set dependence distance checking in premature scheduling of queued insns.",
"-fsched-stalled-insns=<number>": "Set number of queued insns that can be prematurely scheduled.",
"-fsched-verbose=<number>": "Set the verbosity level of the scheduler.",
"-fsched2-use-superblocks": "If scheduling post reload, do superblock scheduling.",
"-fsched2-use-traces": "Does nothing. Preserved for backward compatibility.",
"-fschedule-fusion": "Perform a target dependent instruction fusion optimization pass.",
"-fschedule-insns": "Reschedule instructions before register allocation.",
"-fschedule-insns2": "Reschedule instructions after register allocation.",
"-fsection-anchors": "Access data in the same section from shared anchor points.",
"-fsee": "Does nothing. Preserved for backward compatibility.",
"-fsel-sched-pipelining": "Perform software pipelining of inner loops during selective scheduling.",
"-fsel-sched-pipelining-outer-loops": "Perform software pipelining of outer loops during selective scheduling.",
"-fsel-sched-reschedule-pipelined": "Reschedule pipelined regions without pipelining.",
"-fselective-scheduling": "Schedule instructions using selective scheduling algorithm.",
"-fselective-scheduling2": "Run selective scheduling after reload.",
"-fself-test=": "Run self-tests, using the given path to locate test files.",
"-fsemantic-interposition": "Allow interposing function (or variables) by ones with different semantics (or initializer) respectively",
"-fshow-column": "Show column numbers in diagnostics, when available. Default on.",
"-fshrink-wrap": "Emit function prologues only before parts of the function that need it, rather than at the top of the",
"-fshrink-wrap-separate": "Shrink-wrap parts of the prologue and epilogue separately.",
"-fsignaling-nans": "Disable optimizations observable by IEEE signaling NaNs.",
"-fsigned-zeros": "Disable floating point optimizations that ignore the IEEE signedness of zero.",
"-fsimd-cost-model=[unlimited|dynamic|cheap]": "Specifies the vectorization cost model for code marked with a simd directive.",
"-fsingle-precision-constant": "Convert floating point constants to single precision constants.",
"-fsplit-ivs-in-unroller": "Split lifetimes of induction variables when loops are unrolled.",
"-fsplit-loops": "Perform loop splitting.",
"-fsplit-paths": "Split paths leading to loop backedges.",
"-fsplit-stack": "Generate discontiguous stack frames.",
"-fsplit-wide-types": "Split wide types into independent registers.",
"-fssa-backprop": "Enable backward propagation of use properties at the SSA level.",
"-fssa-phiopt": "Optimize conditional patterns using SSA PHI nodes.",
"-fstack-check": "Insert stack checking code into the program. Same as -fstack-check=specific. Same as -fstack-check=.",
"-fstack-check=[no|generic|specific]": "Insert stack checking code into the program.",
"-fstack-clash-protection": "Insert code to probe each page of stack space as it is allocated to protect from stack-clash style",
"-fstack-limit": "This option lacks documentation.",
"-fstack-limit-register=<register>": "Trap if the stack goes past <register>.",
"-fstack-limit-symbol=<name>": "Trap if the stack goes past symbol <name>.",
"-fstack-protector": "Use propolice as a stack protection method.",
"-fstack-protector-all": "Use a stack protection method for every function.",
"-fstack-protector-explicit": "Use stack protection method only for functions with the stack_protect attribute.",
"-fstack-protector-strong": "Use a smart stack protection method for certain functions.",
"-fstack-reuse=[all|named_vars|none]": "Set stack reuse level for local variables.",
"-fstack-usage": "Output stack usage information on a per-function basis.",
"-fstdarg-opt": "Optimize amount of stdarg registers saved to stack at start of function.",
"-fstore-merging": "Merge adjacent stores.",
"-fstrength-reduce": "Does nothing. Preserved for backward compatibility.",
"-fstrict-aliasing": "Assume strict aliasing rules apply.",
"-fstrict-overflow": "Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer.",
"-fstrict-volatile-bitfields": "Force bitfield accesses to match their type width.",
"-fstrong-eval-order": "Follow the C++17 evaluation order requirements for assignment expressions, shift, member function calls,",
"-fstrong-eval-order=": "Follow the C++17 evaluation order requirements for assignment expressions, shift, member function calls,",
"-fsync-libcalls": "Implement __atomic operations via libcalls to legacy __sync functions.",
"-fsyntax-only": "Check for syntax errors, then stop.",
"-ftarget-help": "Same as --target-help. Use the latter option instead.",
"-ftest-coverage": "Create data files needed by \"gcov\".",
"-fthread-jumps": "Perform jump threading optimizations.",
"-ftime-report": "Report the time taken by each compiler pass.",
"-ftime-report-details": "Record times taken by sub-phases separately.",
"-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]": "Set the default thread-local storage code generation model.",
"-ftoplevel-reorder": "Reorder top level functions, variables, and asms.",
"-ftracer": "Perform superblock formation via tail duplication.",
"-ftrampolines": "For targets that normally need trampolines for nested functions, always generate them instead of using",
"-ftrapping-math": "Assume floating-point operations can trap.",
"-ftrapv": "Trap for signed overflow in addition, subtraction and multiplication.",
"-ftree-bit-ccp": "Enable SSA-BIT-CCP optimization on trees.",
"-ftree-builtin-call-dce": "Enable conditional dead code elimination for builtin calls.",
"-ftree-ccp": "Enable SSA-CCP optimization on trees.",
"-ftree-ch": "Enable loop header copying on trees.",
"-ftree-coalesce-inlined-vars": "Does nothing. Preserved for backward compatibility.",
"-ftree-coalesce-vars": "Enable SSA coalescing of user variables.",
"-ftree-copy-prop": "Enable copy propagation on trees.",
"-ftree-copyrename": "Does nothing. Preserved for backward compatibility.",
"-ftree-cselim": "Transform condition stores into unconditional ones.",
"-ftree-dce": "Enable SSA dead code elimination optimization on trees.",
"-ftree-dominator-opts": "Enable dominator optimizations.",
"-ftree-dse": "Enable dead store elimination.",
"-ftree-forwprop": "Enable forward propagation on trees.",
"-ftree-fre": "Enable Full Redundancy Elimination (FRE) on trees.",
"-ftree-loop-distribute-patterns": "Enable loop distribution for patterns transformed into a library call.",
"-ftree-loop-distribution": "Enable loop distribution on trees.",
"-ftree-loop-if-convert": "Convert conditional jumps in innermost loops to branchless equivalents.",
"-ftree-loop-if-convert-stores": "Does nothing. Preserved for backward compatibility.",
"-ftree-loop-im": "Enable loop invariant motion on trees.",
"-ftree-loop-ivcanon": "Create canonical induction variables in loops.",
"-ftree-loop-linear": "Enable loop nest transforms. Same as -floop-nest-optimize. Same as -floop-nest-optimize.",
"-ftree-loop-optimize": "Enable loop optimizations on tree level.",
"-ftree-loop-vectorize": "Enable loop vectorization on trees.",
"-ftree-lrs": "Perform live range splitting during the SSA->normal pass.",
"-ftree-parallelize-loops=<number>": "Enable automatic parallelization of loops.",
"-ftree-partial-pre": "In SSA-PRE optimization on trees, enable partial-partial redundancy elimination.",
"-ftree-phiprop": "Enable hoisting loads from conditional pointers.",
"-ftree-pre": "Enable SSA-PRE optimization on trees.",
"-ftree-pta": "Perform function-local points-to analysis on trees.",
"-ftree-reassoc": "Enable reassociation on tree level.",
"-ftree-salias": "Does nothing. Preserved for backward compatibility.",
"-ftree-scev-cprop": "Enable copy propagation of scalar-evolution information.",
"-ftree-sink": "Enable SSA code sinking on trees.",
"-ftree-slp-vectorize": "Enable basic block vectorization (SLP) on trees.",
"-ftree-slsr": "Perform straight-line strength reduction.",
"-ftree-sra": "Perform scalar replacement of aggregates.",
"-ftree-store-ccp": "Does nothing. Preserved for backward compatibility.",
"-ftree-store-copy-prop": "Does nothing. Preserved for backward compatibility.",
"-ftree-switch-conversion": "Perform conversions of switch initializations.",
"-ftree-tail-merge": "Enable tail merging on trees.",
"-ftree-ter": "Replace temporary expressions in the SSA->normal pass.",
"-ftree-vect-loop-version": "Does nothing. Preserved for backward compatibility.",
"-ftree-vectorize": "Enable vectorization on trees.",
"-ftree-vectorizer-verbose=": "Does nothing. Preserved for backward compatibility.",
"-ftree-vrp": "Perform Value Range Propagation on trees.",
"-funconstrained-commons": "Assume common declarations may be overridden with ones with a larger trailing array.",
"-funit-at-a-time": "Compile whole compilation unit at a time.",
"-funroll-all-loops": "Perform loop unrolling for all loops.",
"-funroll-loops": "Perform loop unrolling when iteration count is known.",
"-funsafe-loop-optimizations": "Does nothing. Preserved for backward compatibility.",
"-funsafe-math-optimizations": "Allow math optimizations that may violate IEEE or ISO standards.",
"-funswitch-loops": "Perform loop unswitching.",
"-funwind-tables": "Just generate unwind tables for exception handling.",
"-fuse-ld=bfd": "Use the bfd linker instead of the default linker.",
"-fuse-ld=gold": "Use the gold linker instead of the default linker.",
"-fuse-ld=lld": "Use the lld LLVM linker instead of the default linker.",
"-fuse-linker-plugin": "This option lacks documentation.",
"-fvar-tracking": "Perform variable tracking.",
"-fvar-tracking-assignments": "Perform variable tracking by annotating assignments.",
"-fvar-tracking-assignments-toggle": "Toggle -fvar-tracking-assignments.",
"-fvar-tracking-uninit": "Perform variable tracking and also tag variables that are uninitialized.",
"-fvariable-expansion-in-unroller": "Apply variable expansion when loops are unrolled.",
"-fvect-cost-model": "Enables the dynamic vectorizer cost model. Preserved for backward compatibility. Same as -fvect-cost-",
"-fvect-cost-model=[unlimited|dynamic|cheap]": "Specifies the cost model for vectorization.",
"-fverbose-asm": "Add extra commentary to assembler output.",
"-fversion": "display the GNU Modula-2 version",
"-fversion-loops-for-strides": "Version loops based on whether indices have a stride of one.",
"-fvisibility=[default|internal|hidden|protected]": "Set the default symbol visibility.",
"-fvpt": "Use expression value profiles in optimizations.",
"-fvtable-verify=": "Validate vtable pointers before using them.",
"-fvtv-counts": "Output vtable verification counters.",
"-fvtv-debug": "Output vtable verification pointer sets information.",
"-fweb": "Construct webs and split unrelated uses of single variable.",
"-fwhole-program": "Perform whole program optimizations.",
"-fwrapv": "Assume signed arithmetic overflow wraps around.",
"-fwrapv-pointer": "Assume pointer overflow wraps around.",
"-fzee": "Does nothing. Preserved for backward compatibility.",
"-fzero-initialized-in-bss": "Put zero initialized data in the bss section.",
"-g": "Generate debug information in default format.",
"-gas-loc-support": "Assume assembler support for (DWARF2+) .loc directives.",
"-gas-locview-support": "Assume assembler support for view in (DWARF2+) .loc directives.",
"-gcoff": "Does nothing. Preserved for backward compatibility.",
"-gcoff1": "Does nothing. Preserved for backward compatibility.",
"-gcoff2": "Does nothing. Preserved for backward compatibility.",
"-gcoff3": "Does nothing. Preserved for backward compatibility.",
"-gcolumn-info": "Record DW_AT_decl_column and DW_AT_call_column in DWARF.",
"-gdescribe-dies": "Add description attributes to some DWARF DIEs that have no name attribute.",
"-gdwarf": "Generate debug information in default version of DWARF format.",
"-gdwarf-": "Generate debug information in DWARF v2 (or later) format.",
"-ggdb": "Generate debug information in default extended format.",
"-ggnu-pubnames": "Generate DWARF pubnames and pubtypes sections with GNU extensions.",
"-ginline-points": "Generate extended entry point information for inlined functions.",
"-ginternal-reset-location-views": "Compute locview reset points based on insn length estimates.",
"-gno-pubnames": "Don't generate DWARF pubnames and pubtypes sections.",
"-gpubnames": "Generate DWARF pubnames and pubtypes sections.",
"-grecord-gcc-switches": "Record gcc command line switches in DWARF DW_AT_producer.",
"-gsplit-dwarf": "Generate debug information in separate .dwo files.",
"-gstabs": "Generate debug information in STABS format.",
"-gstabs+": "Generate debug information in extended STABS format.",
"-gstatement-frontiers": "Emit progressive recommended breakpoint locations.",
"-gstrict-dwarf": "Don't emit DWARF additions beyond selected version.",
"-gtoggle": "Toggle debug information generation.",
"-gvariable-location-views": "Augment variable location lists with progressive views.",
"-gvariable-location-views=incompat5": "This option lacks documentation.",
"-gvms": "Generate debug information in VMS format.",
"-gxcoff": "Generate debug information in XCOFF format.",
"-gxcoff+": "Generate debug information in extended XCOFF format.",
"-gz": "Generate compressed debug sections.",
"-gz=<format>": "Generate compressed debug sections in format <format>.",
"-imultiarch": "<dir> Set <dir> to be the multiarch include subdirectory.",
"-iplugindir=<dir>": "Set <dir> to be the default plugin directory.",
"-o": "<file> Place output into <file>.",
"-p": "Enable function profiling.",
"-pedantic": "Same as -Wpedantic. Use the latter option instead.",
"-pedantic-errors": "Like -pedantic but issue them as errors.",
"-quiet": "Do not display functions compiled or elapsed time.",
"-v": "Enable verbose output.",
"-version": "Display the compiler's version.",
"-w": "Suppress warnings.",
"-fassume-phsa": "Assume we are finalizing for phsa and its libhsail-rt. Enables additional phsa-specific optimizations",
"-fhandle-exceptions": "Same as -fexceptions. Use the latter option instead. Uses of this option are diagnosed.",
"-fnothrow-opt": "Treat a throw() exception specification as noexcept to improve code size.",
"-fprintf-return-value": "Treat known sprintf return values as constants.",
"-frtti": "Generate run time type descriptor information.",
"-fshort-enums": "Use the narrowest integer type possible for enumeration types.",
"-fshort-wchar": "Force the underlying type for \"wchar_t\" to be \"unsigned short\".",
"-fstrict-enums": "Assume that values of enumeration type are always within the minimum range of that type.",
"-fno-threadsafe-statics": "Do not generate thread-safe code for initializing local statics.",
"predictable-branch-outcome": "Maximal estimated outcome of branch considered predictable.",
"inline-min-speedup": "The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.",
"max-inline-insns-single": "The maximum number of instructions in a single function eligible for inlining.",
"max-inline-insns-auto": "The maximum number of instructions when automatically inlining.",
"max-inline-insns-small": "The maximum number of instructions when automatically inlining small functions.",
"max-inline-insns-size": "The maximum number of instructions when inlining for size.",
"uninlined-function-insns": "Instruction accounted for function prologue, epilogue and other overhead.",
"uninlined-function-time": "Time accounted for function prologue, epilogue and other overhead.",
"uninlined-thunk-insns": "Instruction accounted for function thunk overhead.",
"uninlined-thunk-time": "Time accounted for function thunk overhead.",
"max-inline-insns-recursive": "The maximum number of instructions inline function can grow to via recursive inlining.",
"max-inline-insns-recursive-auto": "The maximum number of instructions non-inline function can grow to via recursive inlining.",
"max-inline-recursive-depth": "The maximum depth of recursive inlining for inline functions.",
"max-inline-recursive-depth-auto": "The maximum depth of recursive inlining for non-inline functions.",
"min-inline-recursive-probability": "Inline recursively only when the probability of call being executed exceeds the parameter.",
"max-early-inliner-iterations": "The maximum number of nested indirect inlining performed by early inliner.",
"comdat-sharing-probability": "Probability that COMDAT function will be shared with different compilation unit.",
"partial-inlining-entry-probability": "Maximum probability of the entry BB of split region (in percent relative to entry BB of the",
"max-variable-expansions-in-unroller": "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual",
"min-vect-loop-bound": "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization.",
"max-delay-slot-insn-search": "The maximum number of instructions to consider to fill a delay slot.",
"max-delay-slot-live-search": "The maximum number of instructions to consider to find accurate live register information.",
"max-pending-list-length": "The maximum length of scheduling's pending operations list.",
"max-modulo-backtrack-attempts": "The maximum number of backtrack attempts the scheduler should make when modulo scheduling a loop.",
"large-function-insns": "The size of function body to be considered large.",
"large-function-growth": "Maximal growth due to inlining of large function (in percent).",
"large-unit-insns": "The size of translation unit to be considered large.",
"inline-unit-growth": "How much can given compilation unit grow because of the inlining (in percent).",
"ipcp-unit-growth": "How much can given compilation unit grow because of the interprocedural constant propagation (in",
"early-inlining-insns": "Maximal estimated growth of function body caused by early inlining of single call.",
"large-stack-frame": "The size of stack frame to be considered large.",
"large-stack-frame-growth": "Maximal stack frame growth due to inlining (in percent).",
"stack-clash-protection-guard-size": "Size of the stack guard expressed as a power of two in bytes.",
"stack-clash-protection-probe-interval": "Interval in which to probe the stack expressed as a power of two in bytes.",
"max-gcse-memory": "The maximum amount of memory to be allocated by GCSE.",
"max-gcse-insertion-ratio": "The maximum ratio of insertions to deletions of expressions in GCSE.",
"gcse-after-reload-partial-fraction": "The threshold ratio for performing partial redundancy elimination after reload.",
"gcse-after-reload-critical-fraction": "The threshold ratio of critical edges execution count that permit performing redundancy",
"gcse-cost-distance-ratio": "Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations.",
"gcse-unrestricted-cost": "Cost at which GCSE optimizations will not constraint the distance an expression can travel.",
"max-hoist-depth": "Maximum depth of search in the dominator tree for expressions to hoist.",
"max-pow-sqrt-depth": "Maximum depth of sqrt chains to use when synthesizing exponentiation by a real constant.",
"max-unrolled-insns": "The maximum number of instructions to consider to unroll in a loop.",
"max-average-unrolled-insns": "The maximum number of instructions to consider to unroll in a loop on average.",
"max-unroll-times": "The maximum number of unrollings of a single loop.",
"max-peeled-insns": "The maximum number of insns of a peeled loop.",
"max-peel-times": "The maximum number of peelings of a single loop.",
"max-peel-branches": "The maximum number of branches on the path through the peeled sequence.",
"max-completely-peeled-insns": "The maximum number of insns of a completely peeled loop.",
"max-completely-peel-times": "The maximum number of peelings of a single loop that is peeled completely.",
"max-once-peeled-insns": "The maximum number of insns of a peeled loop that rolls only once.",
"max-completely-peel-loop-nest-depth": "The maximum depth of a loop nest we completely peel.",
"max-unswitch-insns": "The maximum number of insns of an unswitched loop.",
"max-unswitch-level": "The maximum number of unswitchings in a single loop.",
"max-loop-header-insns": "The maximum number of insns in loop header duplicated by the copy loop headers pass.",
"max-iterations-to-track": "Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates.",
"max-iterations-computation-cost": "Bound on the cost of an expression to compute the number of iterations.",
"sms-max-ii-factor": "A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop.",
"sms-min-sc": "The minimum value of stage count that swing modulo scheduler will generate.",
"sms-dfa-history": "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA.",
"sms-loop-average-count-threshold": "A threshold on the average loop count considered by the swing modulo scheduler.",
"hot-bb-count-fraction": "Select fraction of the maximal count of repetitions of basic block in program given basic block needs to",
"hot-bb-count-ws-permille": "A basic block profile count is considered hot if it contributes to the given permillage of the entire",
"hot-bb-frequency-fraction": "Select fraction of the maximal frequency of executions of basic block in function given basic block",
"unlikely-bb-count-fraction": "The minimum fraction of profile runs a given basic block execution count must be not to be considered",
"align-threshold": "Select fraction of the maximal frequency of executions of basic block in function given basic block get",
"align-loop-iterations": "Loops iterating at least selected number of iterations will get loop alignment.",
"max-predicted-iterations": "The maximum number of loop iterations we predict statically.",
"builtin-expect-probability": "Set the estimated probability in percentage for builtin expect. The default value is 90% probability.",
"builtin-string-cmp-inline-length": "The maximum length of a constant string for a builtin string cmp call eligible for inlining. The",
"tracer-dynamic-coverage-feedback": "The percentage of function, weighted by execution frequency, that must be covered by trace",
"tracer-dynamic-coverage": "The percentage of function, weighted by execution frequency, that must be covered by trace formation.",
"tracer-max-code-growth": "Maximal code growth caused by tail duplication (in percent).",
"tracer-min-branch-ratio": "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent).",
"tracer-min-branch-probability-feedback": "Stop forward growth if the probability of best edge is less than this threshold (in percent).",
"tracer-min-branch-probability": "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used",
"max-crossjump-edges": "The maximum number of incoming edges to consider for crossjumping.",
"min-crossjump-insns": "The minimum number of matching instructions to consider for crossjumping.",
"max-grow-copy-bb-insns": "The maximum expansion factor when copying basic blocks.",
"max-goto-duplication-insns": "The maximum number of insns to duplicate when unfactoring computed gotos.",
"max-cse-path-length": "The maximum length of path considered in cse.",
"max-cse-insns": "The maximum instructions CSE process before flushing.",
"lim-expensive": "The minimum cost of an expensive expression in the loop invariant motion.",
"iv-consider-all-candidates-bound": "Bound on number of candidates below that all candidates are considered in iv optimizations.",
"iv-max-considered-uses": "Bound on number of iv uses in loop optimized in iv optimizations.",
"iv-always-prune-cand-set-bound": "If number of candidates in the set is smaller, we always try to remove unused ivs during its",
"avg-loop-niter": "Average number of iterations of a loop.",
"dse-max-object-size": "Maximum size (in bytes) of objects tracked bytewise by dead store elimination.",
"dse-max-alias-queries-per-store": "Maximum number of queries into the alias oracle per store.",
"scev-max-expr-size": "Bound on size of expressions used in the scalar evolutions analyzer.",
"scev-max-expr-complexity": "Bound on the complexity of the expressions in the scalar evolutions analyzer.",
"max-tree-if-conversion-phi-args": "Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with",
"vect-max-version-for-alignment-checks": "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment",
"vect-max-version-for-alias-checks": "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check.",
"vect-max-peeling-for-alignment": "Maximum number of loop peels to enhance alignment of data references in a loop.",
"max-cselib-memory-locations": "The maximum memory locations recorded by cselib.",
"ggc-min-expand": "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap.",
"ggc-min-heapsize": "Minimum heap size before we start collecting garbage, in kilobytes.",
"max-reload-search-insns": "The maximum number of instructions to search backward when looking for equivalent reload.",
"sink-frequency-threshold": "Target block's relative execution frequency (as a percentage) required to sink a statement.",
"max-sched-region-blocks": "The maximum number of blocks in a region to be considered for interblock scheduling.",
"max-sched-region-insns": "The maximum number of insns in a region to be considered for interblock scheduling.",
"max-pipeline-region-blocks": "The maximum number of blocks in a region to be considered for interblock scheduling.",
"max-pipeline-region-insns": "The maximum number of insns in a region to be considered for interblock scheduling.",
"min-spec-prob": "The minimum probability of reaching a source block for interblock speculative scheduling.",
"max-sched-extend-regions-iters": "The maximum number of iterations through CFG to extend regions.",
"max-sched-insn-conflict-delay": "The maximum conflict delay for an insn to be considered for speculative motion.",
"sched-spec-prob-cutoff": "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled.",
"sched-state-edge-prob-cutoff": "The minimum probability an edge must have for the scheduler to save its state across it.",
"selsched-max-lookahead": "The maximum size of the lookahead window of selective scheduling.",
"selsched-max-sched-times": "Maximum number of times that an insn could be scheduled.",
"selsched-insns-to-rename": "Maximum number of instructions in the ready list that are considered eligible for renaming.",
"sched-mem-true-dep-cost": "Minimal distance between possibly conflicting store and load.",
"sched-autopref-queue-depth": "Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into;",
"max-last-value-rtl": "The maximum number of RTL nodes that can be recorded as combiner's last value.",
"max-combine-insns": "The maximum number of insns combine tries to combine.",
"integer-share-limit": "The upper bound for sharing integer constants.",
"ssp-buffer-size": "The lower bound for a buffer to be considered for stack smashing protection.",
"min-size-for-stack-sharing": "The minimum size of variables taking part in stack slot sharing when not optimizing.",
"max-jump-thread-duplication-stmts": "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps.",
"max-fields-for-field-sensitive": "Maximum number of fields in a structure before pointer analysis treats the structure as a single",
"max-sched-ready-insns": "The maximum number of instructions ready to be issued to be considered by the scheduler during the first",
"max-dse-active-local-stores": "Maximum number of active local stores in RTL dead store elimination.",
"prefetch-latency": "The number of insns executed before prefetch is completed.",
"simultaneous-prefetches": "The number of prefetches that can run at the same time.",
"l1-cache-size": "The size of L1 cache.",
"l1-cache-line-size": "The size of L1 cache line.",
"l2-cache-size": "The size of L2 cache.",
"prefetch-dynamic-strides": "Whether software prefetch hints should be issued for non-constant strides.",
"prefetch-minimum-stride": "The minimum constant stride beyond which we should use prefetch hints for.",
"loop-interchange-max-num-stmts": "The maximum number of stmts in loop nest for loop interchange.",
"loop-interchange-stride-ratio": "The minimum stride ratio for loop interchange to be profitable.",
"use-canonical-types": "Whether to use canonical types.",
"max-partial-antic-length": "Maximum length of partial antic set when performing tree pre optimization.",
"rpo-vn-max-loop-depth": "Maximum depth of a loop nest to fully value-number optimistically.",
"sccvn-max-alias-queries-per-access": "Maximum number of disambiguations to perform per memory access.",
"ira-max-loops-num": "Max loops number for regional RA.",
"ira-max-conflict-table-size": "Max size of conflict table in MB.",
"ira-loop-reserved-regs": "The number of registers in each class kept unused by loop invariant motion.",
"lra-max-considered-reload-pseudos": "The max number of reload pseudos which are considered during spilling a non-reload pseudo.",
"lra-inheritance-ebb-probability-cutoff": "Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA.",
"switch-conversion-max-branch-ratio": "The maximum ratio between array size and switch branches for a switch conversion to take place.",
"loop-block-tile-size": "Size of tiles for loop blocking.",
"graphite-max-nb-scop-params": "Maximum number of parameters in a SCoP.",
"graphite-max-arrays-per-scop": "Maximum number of arrays per SCoP.",
"max-isl-operations": "Maximum number of isl operations, 0 means unlimited.",
"graphite-allow-codegen-errors": "Whether codegen errors should be ICEs when -fchecking.",
"loop-max-datarefs-for-datadeps": "Maximum number of datarefs in loop for building loop data dependencies.",
"loop-invariant-max-bbs-in-loop": "Max basic blocks number in loop for loop invariant motion.",
"profile-func-internal-id": "Use internal function id in profile lookup.",
"indir-call-topn-profile": "Track top N target addresses in indirect-call profile.",
"slp-max-insns-in-bb": "Maximum number of instructions in basic block to be considered for SLP vectorization.",
"min-insn-to-prefetch-ratio": "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count.",
"prefetch-min-insn-to-mem-ratio": "Min. ratio of insns to mem ops to enable prefetching in a loop.",
"max-vartrack-size": "Max. size of var tracking hash tables.",
"max-vartrack-expr-depth": "Max. recursion depth for expanding var tracking expressions.",
"max-vartrack-reverse-op-size": "Max. size of loc list for which reverse ops should be added.",
"max-debug-marker-count": "Max. count of debug markers to expand or inline.",
"min-nondebug-insn-uid": "The minimum UID to be used for a nondebug insn.",
"ipa-sra-ptr-growth-factor": "Maximum allowed growth of number and total size of new parameters that ipa-sra replaces a pointer to an",
"tm-max-aggregate-size": "Size in bytes after which thread-local aggregates should be instrumented with the logging functions",
"sra-max-scalarization-size-Ospeed": "Maximum size, in storage units, of an aggregate which should be considered for scalarization when",
"sra-max-scalarization-size-Osize": "Maximum size, in storage units, of an aggregate which should be considered for scalarization when",
"sra-max-propagations": "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of",
"ipa-cp-value-list-size": "Maximum size of a list of values associated with each parameter for interprocedural constant propagation.",
"ipa-cp-eval-threshold": "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone.",
"ipa-cp-recursion-penalty": "Percentage penalty the recursive functions will receive when they are evaluated for cloning.",
"ipa-cp-single-call-penalty": "Percentage penalty functions containing a single call to another function will receive when they are",
"ipa-max-agg-items": "Maximum number of aggregate content items for a parameter in jump functions and lattices.",
"ipa-cp-loop-hint-bonus": "Compile-time bonus IPA-CP assigns to candidates which make loop bounds or strides known.",
"ipa-cp-array-index-hint-bonus": "Compile-time bonus IPA-CP assigns to candidates which make an array index known.",
"ipa-max-aa-steps": "Maximum number of statements that will be visited by IPA formal parameter analysis based on alias",
"lto-partitions": "Number of partitions the program should be split to.",
"lto-min-partition": "Minimal size of a partition for LTO (in estimated instructions).",
"lto-max-partition": "Maximal size of a partition for LTO (in estimated instructions).",
"lto-max-streaming-parallelism": "maximal number of LTO partitions streamed in parallel.",
"cxx-max-namespaces-for-diagnostic-help": "Maximum number of namespaces to search for alternatives when name lookup fails.",
"max-stores-to-sink": "Maximum number of conditional store pairs that can be sunk.",
"case-values-threshold": "The smallest number of different values for which it is best to use a jump-table instead of a tree of",
"allow-store-data-races": "Allow new data races on stores to be introduced.",
"tree-reassoc-width": "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target",
"max-tail-merge-comparisons": "Maximum amount of similar bbs to compare a bb with.",
"store-merging-allow-unaligned": "Allow the store merging pass to introduce unaligned stores if it is legal to do so.",
"max-stores-to-merge": "Maximum number of constant stores to merge in the store merging pass.",
"max-tail-merge-iterations": "Maximum amount of iterations of the pass over a function.",
"max-tracked-strlens": "Maximum number of strings for which strlen optimization pass will track string lengths.",
"sched-pressure-algorithm": "Which -fsched-pressure algorithm to apply.",
"max-slsr-cand-scan": "Maximum length of candidate scans for straight-line strength reduction.",
"asan-stack": "Enable asan stack protection.",
"asan-instrument-allocas": "Enable asan allocas/VLAs protection.",
"asan-globals": "Enable asan globals protection.",
"asan-instrument-writes": "Enable asan store operations protection.",
"asan-instrument-reads": "Enable asan load operations protection.",
"asan-memintrin": "Enable asan builtin functions protection.",
"asan-use-after-return": "Enable asan detection of use-after-return bugs.",
"asan-instrumentation-with-call-threshold": "Use callbacks instead of inline code if number of accesses in function becomes greater or",
"use-after-scope-direct-emission-threshold": "Use direct poisoning/unpoisoning instructions for variables smaller or equal to this",
"uninit-control-dep-attempts": "Maximum number of nested calls to search for control dependencies during uninitialized variable analysis.",
"fsm-scale-path-stmts": "Scale factor to apply to the number of statements in a threading path when comparing to the number of",
"fsm-maximum-phi-arguments": "Maximum number of arguments a PHI may have before the FSM threader will not try to thread through its",
"fsm-scale-path-blocks": "Scale factor to apply to the number of blocks in a threading path when comparing to the number of",
"max-fsm-thread-path-insns": "Maximum number of instructions to copy when duplicating blocks on a finite state automaton jump thread",
"max-fsm-thread-length": "Maximum number of basic blocks on a finite state automaton jump thread path.",
"max-fsm-thread-paths": "Maximum number of new jump thread paths to create for a finite state automaton.",
"parloops-chunk-size": "Chunk size of omp schedule for loops parallelized by parloops.",
"parloops-schedule": "Schedule type of omp schedule for loops parallelized by parloops (static, dynamic, guided, auto,",
"parloops-min-per-thread": "Minimum number of iterations per thread of an innermost parallelized loop.",
"max-ssa-name-query-depth": "Maximum recursion depth allowed when querying a property of an SSA name.",
"max-rtl-if-conversion-insns": "Maximum number of insns in a basic block to consider for RTL if-conversion.",
"max-rtl-if-conversion-predictable-cost": "Maximum permissible cost for the sequence that would be generated by the RTL if-conversion",
"max-rtl-if-conversion-unpredictable-cost": "Maximum permissible cost for the sequence that would be generated by the RTL if-conversion",
"hsa-gen-debug-stores": "Level of hsa debug stores verbosity.",
"max-speculative-devirt-maydefs": "Maximum number of may-defs visited when devirtualizing speculatively.",
"max-vrp-switch-assertions": "Maximum number of assertions to add along the default edge of a switch statement during VRP.",
"vect-epilogues-nomask": "Enable loop epilogue vectorization using smaller vector size.",
"unroll-jam-min-percent": "Minimum percentage of memrefs that must go away for unroll-and-jam to be considered profitable.",
"unroll-jam-max-unroll": "Maximum unroll factor for the unroll-and-jam transformation.",
"avoid-fma-max-bits": "Maximum number of bits for which we avoid creating FMAs.",
"logical-op-non-short-circuit": "True if a non-short-circuit operation is optimal.",
"loop-versioning-max-inner-insns": "The maximum number of instructions in an inner loop that is being considered for versioning.",
"loop-versioning-max-outer-insns": "The maximum number of instructions in an outer loop that is being considered for versioning, on top",
"ssa-name-def-chain-limit": "The maximum number of SSA_NAME assignments to follow in determining a value.",
"-m128bit-long-double": "sizeof(long double) is 16.",
"-m16": "Generate 16bit i386 code.",
"-m32": "Generate 32bit i386 code.",
"-m3dnow": "Support 3DNow! built-in functions.",
"-m3dnowa": "Support Athlon 3Dnow! built-in functions.",
"-m64": "Generate 64bit x86-64 code.",
"-m80387": "Use hardware fp.",
"-m8bit-idiv": "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check.",
"-m96bit-long-double": "sizeof(long double) is 12.",
"-mabi=": "Generate code that conforms to the given ABI.",
"-mabm": "Support code generation of Advanced Bit Manipulation (ABM) instructions.",
"-maccumulate-outgoing-args": "Reserve space for outgoing arguments in the function prologue.",
"-maddress-mode=": "Use given address mode.",
"-madx": "Support flag-preserving add-carry instructions.",
"-maes": "Support AES built-in functions and code generation.",
"-malign-data=": "Use the given data alignment.",
"-malign-double": "Align some doubles on dword boundary.",
"-malign-functions=": "Function starts are aligned to this power of 2.",
"-malign-jumps=": "Jump targets are aligned to this power of 2.",
"-malign-loops=": "Loop code aligned to this power of 2.",
"-malign-stringops": "Align destination of the string operations.",
"-mandroid": "Generate code for the Android platform.",
"-march=": "Generate code for given CPU.",
"-masm=": "Use given assembler dialect.",
"-mavx": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation.",
"-mavx2": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation.",
"-mavx256-split-unaligned-load": "Split 32-byte AVX unaligned load.",
"-mavx256-split-unaligned-store": "Split 32-byte AVX unaligned store.",
"-mavx5124fmaps": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built-in",
"-mavx5124vnniw": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built-in",
"-mavx512bitalg": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BITALG built-in",
"-mavx512bw": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built-in",
"-mavx512cd": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built-in",
"-mavx512dq": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built-in",
"-mavx512er": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-in",
"-mavx512f": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code",
"-mavx512ifma": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in",
"-mavx512pf": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-in",
"-mavx512vbmi": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in",
"-mavx512vbmi2": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in",
"-mavx512vl": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built-in",
"-mavx512vnni": "Support AVX512VNNI built-in functions and code generation.",
"-mavx512vpopcntdq": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in",
"-mbionic": "Use Bionic C library.",
"-mbmi": "Support BMI built-in functions and code generation.",
"-mbmi2": "Support BMI2 built-in functions and code generation.",
"-mbranch-cost=<0,5>": "Branches are this expensive (arbitrary units).",
"-mcall-ms2sysv-xlogues": "Use libgcc stubs to save and restore registers clobbered by 64-bit Microsoft to System V ABI calls.",
"-mcet-switch": "Turn on CET instrumentation for switch statements that use a jump table and an indirect jump.",
"-mcld": "Generate cld instruction in the function prologue.",
"-mcldemote": "Support CLDEMOTE built-in functions and code generation.",
"-mclflushopt": "Support CLFLUSHOPT instructions.",
"-mclwb": "Support CLWB instruction.",
"-mclzero": "Support CLZERO built-in functions and code generation.",
"-mcmodel=": "Use given x86-64 code model.",
"-mcpu=": "Same as -mtune=. Use the latter option instead. Uses of this option are diagnosed.",
"-mcrc32": "Support code generation of crc32 instruction.",
"-mcx16": "Support code generation of cmpxchg16b instruction.",
"-mdispatch-scheduler": "Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is",
"-mdump-tune-features": "This option lacks documentation.",
"-mf16c": "Support F16C built-in functions and code generation.",
"-mfancy-math-387": "Generate sin, cos, sqrt for FPU.",
"-mfentry": "Emit profiling counter call at function entry before prologue.",
"-mfentry-name=": "Set name of __fentry__ symbol called at function entry.",
"-mfentry-section=": "Set name of section to record mrecord-mcount calls.",
"-mfma": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation.",
"-mfma4": "Support FMA4 built-in functions and code generation.",
"-mforce-drap": "Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack.",
"-mforce-indirect-call": "Make all function calls indirect.",
"-mfp-ret-in-387": "Return values of functions in FPU registers.",
"-mfpmath=": "Generate floating point mathematics using given instruction set.",
"-mfsgsbase": "Support FSGSBASE built-in functions and code generation.",
"-mfunction-return=": "Convert function return to call and return thunk.",
"-mfused-madd": "Same as -ffp-contract=. Use the latter option instead. Uses of this option are diagnosed.",
"-mfxsr": "Support FXSAVE and FXRSTOR instructions.",
"-mgeneral-regs-only": "Generate code which uses only the general registers.",
"-mgfni": "Support GFNI built-in functions and code generation.",
"-mglibc": "Use GNU C library.",
"-mhard-float": "Use hardware fp.",
"-mhle": "Support Hardware Lock Elision prefixes.",
"-miamcu": "Generate code that conforms to Intel MCU psABI.",
"-mieee-fp": "Use IEEE math for fp comparisons.",
"-mincoming-stack-boundary=": "Assume incoming stack aligned to this power of 2.",
"-mindirect-branch-register": "Force indirect call and jump via register.",
"-mindirect-branch=": "Convert indirect call and jump to call and return thunks.",
"-minline-all-stringops": "Inline all known string operations.",
"-minline-stringops-dynamically": "Inline memset/memcpy string operations, but perform inline version only for small blocks.",
"-minstrument-return=": "Instrument function exit in instrumented functions with __fentry__.",
"-mintel-syntax": "Same as -masm=. Use the latter option instead. Uses of this option are diagnosed.",
"-mlarge-data-threshold=<number>": "Data greater than given threshold will go into .ldata section in x86-64 medium model.",
"-mlong-double-128": "Use 128-bit long double.",
"-mlong-double-64": "Use 64-bit long double.",
"-mlong-double-80": "Use 80-bit long double.",
"-mlwp": "Support LWP built-in functions and code generation.",
"-mlzcnt": "Support LZCNT built-in function and code generation.",
"-mmanual-endbr": "Insert ENDBR instruction at function entry only via cf_check attribute for CET instrumentation.",
"-mmemcpy-strategy=": "Specify memcpy expansion strategy when expected size is known.",
"-mmemset-strategy=": "Specify memset expansion strategy when expected size is known.",
"-mmitigate-rop": "This option lacks documentation.",
"-mmmx": "Support MMX built-in functions.",
"-mmovbe": "Support code generation of movbe instruction.",
"-mmovdir64b": "Support MOVDIR64B built-in functions and code generation.",
"-mmovdiri": "Support MOVDIRI built-in functions and code generation.",
"-mmpx": "Deprecated in GCC 9. This switch has no effect.",
"-mms-bitfields": "Use native (MS) bitfield layout.",
"-mmusl": "Use musl C library.",
"-mmwaitx": "Support MWAITX and MONITORX built-in functions and code generation.",
"-mno-align-stringops": "This option lacks documentation.",
"-mno-default": "Clear all tune features.",
"-mno-fancy-math-387": "This option lacks documentation.",
"-mno-push-args": "This option lacks documentation.",
"-mno-red-zone": "This option lacks documentation.",
"-mno-sse4": "Do not support SSE4.1 and SSE4.2 built-in functions and code generation.",
"-mnop-mcount": "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.",
"-momit-leaf-frame-pointer": "Omit the frame pointer in leaf functions.",
"-mpc32": "Set 80387 floating-point precision to 32-bit.",
"-mpc64": "Set 80387 floating-point precision to 64-bit.",
"-mpc80": "Set 80387 floating-point precision to 80-bit.",
"-mpclmul": "Support PCLMUL built-in functions and code generation.",
"-mpcommit": "This option lacks documentation.",
"-mpconfig": "Support PCONFIG built-in functions and code generation.",
"-mpku": "Support PKU built-in functions and code generation.",
"-mpopcnt": "Support code generation of popcnt instruction.",
"-mprefer-avx128": "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer. Same as",
"-mprefer-vector-width=": "Use given register vector width instructions instead of maximum register width in the auto-vectorizer.",
"-mpreferred-stack-boundary=": "Attempt to keep stack aligned to this power of 2.",
"-mprefetchwt1": "Support PREFETCHWT1 built-in functions and code generation.",
"-mprfchw": "Support PREFETCHW instruction.",
"-mptwrite": "Support PTWRITE built-in functions and code generation.",
"-mpush-args": "Use push instructions to save outgoing arguments.",
"-mrdpid": "Support RDPID built-in functions and code generation.",
"-mrdrnd": "Support RDRND built-in functions and code generation.",
"-mrdseed": "Support RDSEED instruction.",
"-mrecip": "Generate reciprocals instead of divss and sqrtss.",
"-mrecip=": "Control generation of reciprocal estimates.",
"-mrecord-mcount": "Generate __mcount_loc section with all mcount or __fentry__ calls.",
"-mrecord-return": "Generate a __return_loc section pointing to all return instrumentation code.",
"-mred-zone": "Use red-zone in the x86-64 code.",
"-mregparm=": "Number of registers used to pass integer arguments.",
"-mrtd": "Alternate calling convention.",
"-mrtm": "Support RTM built-in functions and code generation.",
"-msahf": "Support code generation of sahf instruction in 64bit x86-64 code.",
"-msgx": "Support SGX built-in functions and code generation.",
"-msha": "Support SHA1 and SHA256 built-in functions and code generation.",
"-mshstk": "Enable shadow stack built-in functions from Control-flow Enforcement Technology (CET).",
"-mskip-rax-setup": "Skip setting up RAX register when passing variable arguments.",
"-msoft-float": "Do not use hardware fp.",
"-msse": "Support MMX and SSE built-in functions and code generation.",
"-msse2": "Support MMX, SSE and SSE2 built-in functions and code generation.",
"-msse2avx": "Encode SSE instructions with VEX prefix.",
"-msse3": "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation.",
"-msse4": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation.",
"-msse4.1": "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation.",
"-msse4.2": "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation.",
"-msse4a": "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation.",
"-msse5": "Same as -mavx. Use the latter option instead. Uses of this option are diagnosed.",
"-msseregparm": "Use SSE register passing conventions for SF and DF mode.",
"-mssse3": "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation.",
"-mstack-arg-probe": "Enable stack probing.",
"-mstack-protector-guard-offset=": "Use the given offset for addressing the stack-protector guard.",
"-mstack-protector-guard-reg=": "Use the given base register for addressing the stack-protector guard.",
"-mstack-protector-guard-symbol=": "Use the given symbol for addressing the stack-protector guard.",
"-mstack-protector-guard=": "Use given stack-protector guard.",
"-mstackrealign": "Realign stack in prologue.",
"-mstringop-strategy=": "Chose strategy to generate stringop using.",
"-mstv": "Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones.",
"-mtbm": "Support TBM built-in functions and code generation.",
"-mtls-dialect=": "Use given thread-local storage dialect.",
"-mtls-direct-seg-refs": "Use direct references against %gs when accessing tls data.",
"-mtune-ctrl=": "Fine grain control of tune features.",
"-mtune=": "Schedule code for given CPU.",
"-muclibc": "Use uClibc C library.",
"-mvaes": "Support VAES built-in functions and code generation.",
"-mveclibabi=": "Vector library ABI to use.",
"-mvect8-ret-in-mem": "Return 8-byte vectors in memory.",
"-mvpclmulqdq": "Support VPCLMULQDQ built-in functions and code generation.",
"-mvzeroupper": "Generate vzeroupper instruction before a transfer of control flow out of the function.",
"-mwaitpkg": "Support WAITPKG built-in functions and code generation.",
"-mwbnoinvd": "Support WBNOINVD built-in functions and code generation.",
"-mx32": "Generate 32bit x86-64 code.",
"-mxop": "Support XOP built-in functions and code generation.",
"-mxsave": "Support XSAVE and XRSTOR instructions.",
"-mxsavec": "Support XSAVEC instructions.",
"-mxsaveopt": "Support XSAVEOPT instruction.",
"-mxsaves": "Support XSAVES and XRSTORS instructions.",
"--all-warnings": "Same as -Wall. Use the latter option instead.",
"-Wabi": "Warn about things that will change when compiling with an ABI-compliant compiler.",
"-Wabi-tag": "Warn if a subobject has an abi_tag attribute that the complete object type does not have.",
"-Wabi=": "Warn about things that change between the current -fabi-version and the specified version.",
"-Wabsolute-value": "Warn on suspicious calls of standard functions computing absolute values.",
"-Waddress": "Warn about suspicious uses of memory addresses.",