のねのBlog

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

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

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

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

The --param option recognizes the following as parameters:
  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-isnsns-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-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 function) to make partial inlining happen.
  max-variable-expansions-in-unroller If -fvariable-expansion-in-unroller is
                              used, the maximum number of times that an
                              individual variable will be expanded during loop
                              unrolling.
  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
                              percent).
  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).
  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
                              elimination after reload.
  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-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-ws-permille    A basic block profile count is considered hot if
                              it contributes to the given permillage of the
                              entire profiled execution.
  hot-bb-frequency-fraction   Select fraction of the maximal frequency of
                              executions of basic block in function given basic
                              block needs to have to be considered hot.
  unlikely-bb-count-fraction  The minimum fraction of profile runs a given
                              basic block execution count must be not to be
                              considered unlikely.
  align-threshold             Select fraction of the maximal frequency of
                              executions of basic block in function given basic
                              block get alignment.
  align-loop-iterations       Loops iterating at least selected number of
                              iterations will get loop alignement..
  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.
  tracer-dynamic-coverage-feedback The percentage of function, weighted by
                              execution frequency, that must be covered by
                              trace formation. Used when profile feedback is
                              available.
  tracer-dynamic-coverage     The percentage of function, weighted by execution
                              frequency, that must be covered by trace
                              formation. Used when profile feedback is not
                              available.
  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). Used when profile feedback is available.
  tracer-min-branch-probability Stop forward growth if the probability of best
                              edge is less than this threshold (in percent).
                              Used when profile feedback is not available.
  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
                              optimization.
  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.
  vect-max-version-for-alignment-checks Bound on number of runtime checks
                              inserted by the vectorizer's loop versioning for
                              alignment check.
  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 Max number of loop peels to enhancement
                              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; at '0' only enable instruction sorting
                              heuristic.  Disabled by default.
  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
                              variable.
  max-sched-ready-insns       The maximum number of instructions ready to be
                              issued to be considered by the scheduler during
                              the first scheduling pass.
  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.
  use-canonical-types         Whether to use canonical types.
  max-partial-antic-length    Maximum length of partial antic set when
                              performing tree pre optimization.
  sccvn-max-scc-size          Maximum size of a SCC before SCCVN stops
                              processing a function.
  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-bbs-per-function maximum number of basic blocks per function to
                              be analyzed by Graphite.
  graphite-max-arrays-per-scop maximum number of arrays per scop.
  graphite-min-loops-per-function minimal number of loops per function to be
                              analyzed by Graphite.
  max-isl-operations          maximum number of isl operations, 0 means
                              unlimited
  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 topn 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.
  min-nondebug-insn-uid       The minimum UID to be used for a nondebug insn.
  ipa-sra-ptr-growth-factor   Maximum allowed growth of size of new parameters
                              ipa-sra replaces a pointer to an aggregate with.
  tm-max-aggregate-size       Size in bytes after which thread-local aggregates
                              should be instrumented with the logging functions
                              instead of save/restore pairs.
  sra-max-scalarization-size-Ospeed Maximum size, in storage units, of an
                              aggregate which should be considered for
                              scalarization when compiling for speed.
  sra-max-scalarization-size-Osize Maximum size, in storage units, of an
                              aggregate which should be considered for
                              scalarization when compiling for size.
  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 containg a single
                              call to another function will receive when they
                              are evaluated for cloning..
  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
                              analysis in any given function.
  lto-partitions              Number of partitions the program should be split
                              to.
  lto-min-partition           Minimal size of a partition for LTO (in estimated
                              instructions).
  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 conditional branches, if 0, use the default
                              for the machine.
  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 dependent heuristic..
  max-tail-merge-comparisons  Maximum amount of similar bbs to compare a bb
                              with.
  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-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 equal to this number.
  uninit-control-dep-attempts Maximum number of nested calls to search for
                              control dependencies during uninitialized
                              variable analysis.
  chkp-max-ctor-size          Maximum number of statements to be included into
                              a single static constructor generated by Pointer
                              Bounds Checker.
  fsm-scale-path-stmts        Scale factor to apply to the number of statements
                              in a threading path when comparing to the number
                              of (scaled) blocks.
  fsm-maximum-phi-arguments   Maximum number of arguments a PHI may have before
                              the FSM threader will not try to thread through
                              its block.
  fsm-scale-path-blocks       Scale factor to apply to the number of blocks in
                              a threading path when comparing to the number of
                              (scaled) statements.
  max-fsm-thread-path-insns   Maximum number of instructions to copy when
                              duplicating blocks on a finite state automaton
                              jump thread path.
  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, runtime).
  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.
  hsa-gen-debug-stores        Level of hsa debug stores verbosity
  max-speculative-devirt-maydefs Maximum number of may-defs visited when
                              devirtualizing speculatively


C:\Users\m_fujii>arm-none-eabi-gcc --help=joined
The following options take joined arguments:
  --assert=                   Same as -A.  Use the latter option instead.
  --define-macro=             Same as -D.  Use the latter option instead.
  --dump=                     Same as -d.  Use the latter option instead.
  --help=<class>              Display descriptions of a specific class of
                              options.  <class> is one or more of optimizers,
                              target, warnings, undocumented, params.
  --imacros=                  Same as -imacros.  Use the latter option instead.
  --include-directory-after=  Same as -idirafter.  Use the latter option
                              instead.
  --include-directory=        Same as -I.  Use the latter option instead.
  --include-prefix=           Same as -iprefix.  Use the latter option instead.
  --include-with-prefix-after= Same as -iwithprefix.  Use the latter option
                              instead.
  --include-with-prefix-before= Same as -iwithprefixbefore.  Use the latter
                              option instead.
  --include-with-prefix=      Same as -iwithprefix.  Use the latter option
                              instead.
  --include=                  Same as -include.  Use the latter option instead.
  --output-class-directory=   This option lacks documentation.
  --output-pch=               This option lacks documentation.
  --output=                   Same as -o.  Use the latter option instead.
  --param=                    Same as --param.  Use the latter option instead.
  --resource=                 This option lacks documentation.
  --undefine-macro=           Same as -U.  Use the latter option instead.
  -A<question>=<answer>       Assert the <answer> to <question>.  Putting '-'
                              before <question> disables the <answer> to
                              <question>.
  -D<macro>[=<val>]           Define a <macro> with <val> as its value.  If
                              just <macro> is given, <val> is taken to be 1.
  -F <dir>                    Add <dir> to the end of the main framework
                              include path.
  -I <dir>                    Add <dir> to the end of the main include path.
  -J<directory>               Put MODULE files in 'directory'.
  -L                          This option lacks documentation.
  -MF <file>                  Write dependency output to the given file.
  -MQ <target>                Add a MAKE-quoted target.
  -MT <target>                Add an unquoted target.
  -O<number>                  Set optimization level to <number>.
  -U<macro>                   Undefine <macro>.
  -Wabi=                      Warn about things that change between the current
                              -fabi-version and the specified version.
  -Warray-bounds=             Warn if an array is accessed out of bounds.
  -Werror=                    Treat specified warning as error.
  -Wformat=                   Warn about printf/scanf/strftime/strfmon format
                              string anomalies.
  -Wframe-larger-than=<number> Warn if a function's stack frame requires more
                              than <number> bytes.
  -Wlarger-than-              Same as -Wlarger-than=.  Use the latter option
                              instead.
  -Wlarger-than=<number>      Warn if an object is larger than <number> bytes.
  -Wnormalized=<none|id|nfc|nfkc> Warn about non-normalised Unicode strings.
  -Wplacement-new=            Warn for placement new expressions with undefined
                              behavior.
  -Wshift-overflow=           Warn if left shift of a signed value overflows.
  -Wstack-usage=              Warn if stack usage might be larger than
                              specified amount.
  -Wstrict-aliasing=          Warn about code which might break strict aliasing
                              rules.
  -Wstrict-overflow=          Warn about optimizations that assume that signed
                              overflow is undefined.
  -Wunused-const-variable=    Warn when a const variable is unused.
  -aux-info=                  Same as -aux-info.  Use the latter option instead.
  -cpp=                       This option lacks documentation.
  -d<letters>                 Enable dumps from specific passes of the compiler.
  --CLASSPATH                 Deprecated; use --classpath instead.  Same as
                              -fclasspath=.
  -fRTS=                      Select the runtime.
  -fabi-compat-version=       The version of the C++ ABI used for -Wabi
                              warnings and link compatibility aliases.
  -fabi-version=              The version of the C++ ABI in use.
  -fada-spec-parent=          -fada-spec-parent=unit  Dump Ada specs as child
                              units of given parent.
  -falign-functions=          This option lacks documentation.
  -falign-jumps=              This option lacks documentation.
  -falign-labels=             This option lacks documentation.
  -falign-loops=              This option lacks documentation.
  -fasan-shadow-offset=<number> Use custom shadow memory offset.
  -fassume-compiled=          This option lacks documentation.
  -fauto-profile=             Use sample profile information for call graph
                              node weights. The profile file is specified in
                              the argument.
  -fblas-matmul-limit=<n>     Size of the smallest matrix for which matmul will
                              use BLAS.
  --bootclasspath=<path>      Replace system path.
  -fbuiltin-                  This option lacks documentation.
  -fcall-saved-<register>     Mark <register> as being preserved across
                              functions.
  -fcall-used-<register>      Mark <register> as being corrupted by function
                              calls.
  -fcheck=[...]               Specify which runtime checks are to be performed.
  --classpath=<path>          Set class path.
  -fcoarray=<none|single|lib> Specify which coarray parallelization should be
                              used.
  -fcompare-debug[=<opts>]    Compile with and without e.g. -gtoggle, and
                              compare the final-insns dump.
  -fcompile-resource=         This option lacks documentation.
  -fconst-string-class=<name> Use class <name> for constant strings.
  -fconstexpr-depth=<number>  Specify maximum constexpr recursion depth.
  -fconvert=                  -fconvert=<big-endian|little-endian|native|swap>
                              The endianness used for unformatted files.
  -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter
                              limit.
  -fdebug-prefix-map=         Map one directory name to another in debug
                              information.
  -fdiagnostics-color=[never|always|auto] Colorize diagnostics.
  -fdiagnostics-show-location=[once|every-line] How often to emit source
                              location at the beginning of line-wrapped
                              diagnostics.
  -fdisable-                  -fdisable-[tree|rtl|ipa]-<pass>=range1+range2
                              disables an optimization pass.
  -fdisable-assertions=       This option lacks documentation.
  -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.
  -femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for
                              structs.
  -fenable-                   -fenable-[tree|rtl|ipa]-<pass>=range1+range2
                              enables an optimization pass.
  -fenable-assertions=        This option lacks documentation.
  --encoding=<encoding>       Choose input encoding (defaults from your locale).
  -fexcess-precision=[fast|standard] Specify handling of excess floating-point
                              precision.
  -fexec-charset=<cset>       Convert all strings and character constants to
                              character set <cset>.
  --extdirs=<path>            Set the extension directory path.
  -ffixed-<register>          Mark <register> as being unavailable to the
                              compiler.
  -ffixed-line-length-<n>     Use n as character line width in fixed mode.
  -ffp-contract=              -ffp-contract=[off|on|fast] Perform floating-
                              point expression contraction.
  -ffpe-summary=[...]         Print summary of floating point exceptions.
  -ffpe-trap=[...]            Stop on following floating point exceptions.
  -ffree-line-length-<n>      Use n as character line width in free mode.
  -fgnat-encodings=[all|gdb|minimal] Select the balance between GNAT encodings
                              and standard DWARF emitted in the debug
                              information
  -fgo-dump-<type>            Dump Go frontend internal information.
  -fgo-optimize-<type>        Turn on optimization passes in the frontend.
  -fgo-pkgpath=<string>       Set Go package path.
  -fgo-prefix=<string>        Set package-specific prefix for exported Go names.
  -fgo-relative-import-path=  -fgo-relative-import-path=<path> Treat a relative
                              import as relative to path.
  -fhelp=                     Same as --help=.  Use the latter option instead.
  -finit-character=<n>        Initialize local character variables to ASCII
                              value n.
  -finit-integer=<n>          Initialize local integer variables to n.
  -finit-logical=<true|false> Initialize local logical variables.
  -finit-real=<zero|snan|nan|inf|-inf> Initialize local real variables.
  -finline-limit-             Same as -finline-limit=.  Use the latter option
                              instead.
  -finline-limit=<number>     Limit the size of inlined functions to <number>.
  -finline-matmul-limit=<n>   Specify the size of the largest matrix for which
                              matmul will be inlined.
  -finput-charset=<cset>      Specify the default character set for source
                              files.
  -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.
  -fintrinsic-modules-path=   Specify where to find the compiled intrinsic
                              modules.
  -fira-algorithm=            -fira-algorithm=[CB|priority] Set the used IRA
                              algorithm.
  -fira-region=               -fira-region=[one|all|mixed] Set regions for IRA.
  -fira-verbose=<number>      Control IRA's level of diagnostic messages.
  -fvisibility=[private|protected|public|package] Set the default symbol
                              visibility.
  -flifetime-dse=             This option lacks documentation.
  -flinker-output=            Set linker output type (used internally during
                              LTO optimization)
  -flto-compression-level=<number> Use zlib compression level <number> for IL.
  -flto-partition=            Specify the algorithm to partition symbols and
                              vars at linktime.
  -flto=                      Link-time optimization with number of parallel
                              jobs or jobserver.
  -fltrans-output-list=       Specify a file to which a list of files output by
                              LTRANS is written.
  -fmax-array-constructor=<n> Maximum number of objects in an array constructor.
  -fmax-errors=<number>       Maximum number of errors to report.
  -fmax-identifier-length=<n> Maximum identifier length.
  -fmax-stack-var-size=<n>    Size in bytes of the largest array that will be
                              put on the stack.
  -fmax-subrecord-length=<n>  Maximum length for subrecords.
  -fmessage-length=<number>   Limit diagnostics to <number> characters per
                              line.  0 suppresses line-wrapping.
  -fname-mangling-version-    This option lacks documentation.  Uses of this
                              option are diagnosed.
  -fobjc-abi-version=         Specify which ABI to use for Objective-C family
                              code and meta-data generation.
  -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.
  -fopenacc-dim=              Specify default OpenACC compute dimensions.
  -fopt-info[-<type>=filename] Dump compiler optimization details.
  -foutput-class-dir=         This option lacks documentation.
  -fpack-struct=<number>      Set initial maximum structure member alignment.
  -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin
                              <name>.
  -fplugin=                   Specify a plugin to load.
  -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, and
                              set -fprofile-dir=.
  -fprofile-use=              Enable common options for performing profile
                              feedback directed optimizations, and set
                              -fprofile-dir=.
  -frandom-seed=<string>      Make compile reproducible using <string>.
  -freorder-blocks-algorithm= -freorder-blocks-algorithm=[simple|stc] Set the
                              used basic block reordering algorithm.
  -fresolution=               The resolution file.
  -fsanitize-recover=         After diagnosing undefined behavior attempt to
                              continue execution.
  -fsanitize-sections=<sec1,sec2,...> Sanitize global variables in user-defined
                              sections.
  -fsanitize=                 Select what to sanitize.
  -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.
  -fsimd-cost-model=          Specifies the vectorization cost model for code
                              marked with a simd directive.
  -fsource-filename=          This option lacks documentation.
  -fsource=                   Set the source language version.
  -fsso-struct=[big-endian|little-endian] Set the default scalar storage order.
  -fstack-check=[no|generic|specific] Insert stack checking code into the
                              program.
  -fstack-limit-register=<register> Trap if the stack goes past <register>.
  -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>.
  -fstack-reuse=              -fstack-reuse=[all|named_vars|none] Set stack
                              reuse level for local variables.
  -ftabstop=<number>          Distance between tab stops for column reporting.
  -ftarget=                   Set the target VM version.
  -ftemplate-backtrace-limit= Set the maximum number of template instantiation
                              notes for a single warning or error.
  -ftemplate-depth-           Same as -ftemplate-depth=.  Use the latter option
                              instead.
  -ftemplate-depth=<number>   Specify maximum template instantiation depth.
  -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the
                              default thread-local storage code generation
                              model.
  -ftrack-macro-expansion     This option lacks documentation.
  -ftrack-macro-expansion=    -ftrack-macro-expansion=<0|1|2>  Track locations
                              of tokens coming from macro expansion and display
                              them in error messages.
  -ftree-parallelize-loops=   Enable automatic parallelization of loops.
  -ftree-vectorizer-verbose=  Does nothing.  Preserved for backward
                              compatibility.
  -fvect-cost-model=          Specifies the cost model for vectorization.
  -fvisibility=[default|internal|hidden|protected] Set the default symbol
                              visibility.
  -fvtable-verify=            Validate vtable pointers before using them.
  -fwide-exec-charset=<cset>  Convert all wide strings and character constants
                              to character set <cset>.
  -fwpa=                      Whole program analysis (WPA) mode with number of
                              parallel jobs specified.
  -g                          Generate debug information in default format.
  -gant                       Catch typos.
  -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.
  -gnat<options>              Specify options to GNAT.
  -gstabs                     Generate debug information in STABS format.
  -gstabs+                    Generate debug information in extended STABS
                              format.
  -gvms                       Generate debug information in VMS format.
  -gxcoff                     Generate debug information in XCOFF format.
  -gxcoff+                    Generate debug information in extended XCOFF
                              format.
  -gz=<format>                Generate compressed debug sections in format
                              <format>.
  -idirafter <dir>            Add <dir> to the end of the system include path.
  -imacros <file>             Accept definition of macros in <file>.
  -imultiarch <dir>           Set <dir> to be the multiarch include
                              subdirectory.
  -imultilib <dir>            Set <dir> to be the multilib include subdirectory.
  -include <file>             Include the contents of <file> before other files.
  -iplugindir=<dir>           Set <dir> to be the default plugin directory.
  -iprefix <path>             Specify <path> as a prefix for next two options.
  -iquote <dir>               Add <dir> to the end of the quote include path.
  -isysroot <dir>             Set <dir> to be the system root directory.
  -isystem <dir>              Add <dir> to the start of the system include path.
  -iwithprefix <dir>          Add <dir> to the end of the system include path.
  -iwithprefixbefore <dir>    Add <dir> to the end of the main include path.
  -mabi=                      Specify an ABI.
  -march=                     Specify the name of the target architecture.
  -mcpu=                      Specify the name of the target CPU.
  -mfloat-abi=                Specify if floating point hardware should be used.
  -mfp16-format=              Specify the __fp16 floating-point format.
  -mfpu=                      Specify the name of the target floating point
                              hardware/format.
  -mpic-register=             Specify the register to be used for PIC
                              addressing.
  -mstructure-size-boundary=  Specify the minimum bit alignment of structures.
  -mtls-dialect=              Specify thread local storage scheme.
  -mtp=                       Specify how to access the thread pointer.
  -mtune=                     Tune code for the given processor.
  -o <file>                   Place output into <file>.

  Known ARM ABIs (for use with the -mabi= option):
    aapcs aapcs-linux apcs-gnu atpcs iwmmxt

  Known ARM architectures (for use with the -march= option):
    armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6
    armv6-m armv6j armv6k armv6kz armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a
    armv7-m armv7-r armv7e-m armv7ve armv8-a armv8-a+crc armv8-m.base
    armv8-m.main armv8-m.main+dsp armv8.1-a armv8.1-a+crc iwmmxt iwmmxt2 native

  Known __fp16 formats (for use with the -mfp16-format= option):
    alternative ieee none

  Known ARM FPUs (for use with the -mfpu= option):
    crypto-neon-fp-armv8 fp-armv8 fpv4-sp-d16 fpv5-d16 fpv5-sp-d16 neon
    neon-fp-armv8 neon-fp16 neon-vfpv4 vfp vfp3 vfpv3 vfpv3-d16 vfpv3-d16-fp16
    vfpv3-fp16 vfpv3xd vfpv3xd-fp16 vfpv4 vfpv4-d16

  Valid arguments to -mtp=:
    auto cp15 soft

  Known floating-point ABIs (for use with the -mfloat-abi= option):
    hard soft softfp

  Known ARM CPUs (for use with the -mcpu= and -mtune= options):
    ar