のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

>arm-none-eabi-gcc --help=common

>arm-none-eabi-gcc --help=common

-fstack-usage はあるけど、-fcallgraph-infoはないみたいだ。

>arm-none-eabi-gcc --help=common
The following options are language-independent:
  --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, warnings, undocumented, params.
  --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=             Warn if an array is accessed out of bounds.
  -Wattributes                Warn about inappropriate attribute usage.
  -Wcast-align                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-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=<number> Warn if a function's stack frame requires more
                              than <number> bytes.
  -Wfree-nonheap-object       Warn when attempting to free a non-heap object.
  -Whsa                       Warn when a function cannot be expanded to HSAIL.
  -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=<number>      Warn if an object is larger than <number> bytes.
  -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.
  -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 local variable shadows another.
  -Wstack-protector           Warn when not issuing stack smashing protection
                              for some reason.
  -Wstack-usage=              Warn if stack usage might be larger than
                              specified amount.
  -Wstrict-aliasing           Warn about code which might break strict aliasing
                              rules.
  -Wstrict-aliasing=          Warn about code which might break strict aliasing
                              rules.
  -Wstrict-overflow           Warn about optimizations that assume that signed
                              overflow is undefined.
  -Wstrict-overflow=          Warn about optimizations that assume that signed
                              overflow is undefined.
  -Wsuggest-attribute=const   Warn about functions which might be candidates
                              for __attribute__((const)).
  -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.
  -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 Warn if the loop cannot be optimized due to
                              nontrivial assumptions.
  -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 rounding.
  -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 'pwd'.
  -fauto-profile=             Use sample profile information for call graph
                              node weights. The profile file is specified in
                              the argument.
  -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.
  -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.
  -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>:<limit>[,<counter>:<limit>,...] Set the debug counter
                              limit.
  -fdce                       Use the RTL dead code elimination pass.
  -fdebug-prefix-map=         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-show-caret    Show the source line with a caret indicating the
                              column.
  -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     Perform DWARF duplicate elimination.
  -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.
  -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=              -ffp-contract=[off|on|fast] Perform floating-
                              point expression contraction.
  -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 in files.
  -finstrument-functions-exclude-function-list= -finstrument-functions-exclude-
                              function-list=name,...  Do not instrument listed
                              functions.
  -fipa-cp                    Perform interprocedural constant propagation.
  -fipa-cp-alignment          Perform alignment discovery and propagation to
                              make Interprocedural constant propagation
                              stronger.
  -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 readonly and non addressable static
                              variables.
  -fipa-sra                   Perform interprocedural reduction of aggregates.
  -fipa-struct-reorg          Does nothing. Preserved for backward
                              compatibility.
  -fira-algorithm=            -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=               -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 a null value being used in
                              a way forbidden by a returns_nonnull or nonnull
                              attribute.  Isolate those paths from the main
                              control flow and turn the statement with
                              erroneous or undefined behavior into a trap.
  -fisolate-erroneous-paths-dereference Detect paths that trigger erroneous or
                              undefined behavior due to dereferencing a null
                              pointer.  Isolate those paths from the main
                              control flow and turn the statement with
                              erroneous or undefined behavior into a trap.
  -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 finishes.
  -flifetime-dse=             This option lacks documentation.
  -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 nest transforms.  Same as -floop-nest-
                              optimize.  Same as -floop-nest-optimize.
  -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       Enable loop nest transforms.  Same as -floop-nest-
                              optimize.  Same as -floop-nest-optimize.
  -flra-remat                 Do CFG-sensitive rematerialization in LRA.
  -flto                       Enable link-time optimization.
  -flto-compression-level=<number> 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.
  -fno-vect-cost-model        Enables the unlimited vectorizer cost model.
                              Preserved for backward compatibility.  Same as
                              -fvect-cost-model=.
  -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.
  -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.
  -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-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-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-dir=.
  -fprofile-reorder-functions Enable function reordering that improves code
                              placement.
  -fprofile-report            Report on consistency of profile.
  -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= -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 occured.
  -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-coverage=trace-pc Enable coverage-guided fuzzing code
                              instrumentation. Inserts call to
                              __sanitizer_cov_trace_pc into every basic block.
  -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.
  -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.
  -fsemantic-interposition    Allow interposing function (or variables) by ones
                              with different semantics (or initializer)
                              respectively by dynamic linker.
  -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 function.
  -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=          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-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-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=              -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.
  -fstrength-reduce           Does nothing.  Preserved for backward
                              compatibility.
  -fstrict-aliasing           Assume strict aliasing rules apply.
  -fstrict-overflow           Treat signed overflow as undefined.
  -fstrict-volatile-bitfields Force bitfield accesses to match their type width.
  -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.
  -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.
  -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 Also if-convert conditional jumps containing
                              memory writes.
  -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=   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 Allow loop optimizations to assume that the loops
                              behave in normal way.
  -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-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-model=.
  -fvect-cost-model=          Specifies the cost model for vectorization.
  -fverbose-asm               Add extra commentary to assembler output.
  -fversion                   This option lacks documentation.
  -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.
  -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.
  -gcoff                      Generate debug information in COFF format.
  -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.
  -gno-pubnames               Don't generate DWARF pubnames and pubtypes
                              sections.
  -gno-record-gcc-switches    Don't record gcc command line switches in DWARF
                              DW_AT_producer.
  -gno-split-dwarf            Don't generate debug information in separate .dwo
                              files.
  -gno-strict-dwarf           Emit DWARF additions beyond selected version.
  -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.
  -gstrict-dwarf              Don't emit DWARF additions beyond selected
                              version.
  -gtoggle                    Toggle debug information generation.
  -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.