https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90315

            Bug ID: 90315
           Summary: [10 regression] help text (or test for help text)
                    problem after r270788
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/xgcc
-B/home/seurer/gcc/build/gcc-trunk/gcc/ test-105206.c
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never --help=params --help=optimizers -lm -o test-105206.x
The following options control optimizations:
  -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.
  -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.
  -fassociative-math          Allow optimization for floating-point arithmetic
which may change the result of the operation due to rounding.
  -fassume-phsa               Assume we are finalizing for phsa and its
libhsail-rt.  Enables additional phsa-specific optimizations (default).
  -fasynchronous-unwind-tables Generate unwind tables that are exact at each
instruction boundary.
  -fauto-inc-dec              Generate auto-inc/dec instructions.
  -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.
  -fcaller-saves              Save registers around function calls.
  -fcode-hoisting             Enable code hoisting.
  -fcombine-stack-adjustments Looks for opportunities to reduce stack
adjustments and stack references.
  -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.
  -fcx-fortran-rules          Complex multiplication and division follow
Fortran rules.
  -fcx-limited-range          Omit range reduction step when performing complex
division.
  -fdce                       Use the RTL dead code elimination pass.
  -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-speculatively Perform speculative devirtualization.
  -fdse                       Use the RTL dead store elimination pass.
  -fearly-inlining            Perform early inlining.
  -fexceptions                Enable exception handling.
  -fexpensive-optimizations   Perform a number of minor, expensive
optimizations.
  -ffast-math                 This option lacks documentation.
  -ffinite-math-only          Assume no NaNs or infinities are generated.
  -ffloat-store               Don't allocate floats and doubles in
extended-precision registers.
  -fforward-propagate         Perform a forward propagation pass on RTL.
  -ffp-contract=[off|on|fast] Perform floating-point expression contraction.
  -ffp-int-builtin-inexact    Allow built-in functions ceil, floor, round,
trunc to raise "inexact" exceptions.
  -ffunction-cse              Allow function addresses to be held in registers.
  -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.
  -fgraphite                  Enable in and out of Graphite representation.
  -fgraphite-identity         Enable Graphite Identity transformation.
  -fguess-branch-probability  Enable guessing of branch probabilities.
  -fhandle-exceptions         Same as -fexceptions.  Use the latter option
instead.  Uses of this option are diagnosed.
  -fhoist-adjacent-loads      Enable hoisting adjacent loads to encourage
generating conditional move instructions.
  -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.
  -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-small-functions    Integrate functions into their callers when code
size is known not to grow.
  -fipa-bit-cp                Perform interprocedural bitwise constant
propagation.
  -fipa-cp                    Perform interprocedural constant propagation.
  -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-profile               Perform interprocedural profile propagation.
  -fipa-pta                   Perform interprocedural points-to analysis.
  -fipa-pure-const            Discover pure and const functions.
  -fipa-ra                    Use caller save register across calls if
possible.
  -fipa-reference             Discover read-only and non addressable static
variables.
  -fipa-reference-addressable Discover read-only, write-only and
non-addressable static variables.
  -fipa-sra                   Perform interprocedural reduction of aggregates.
  -fipa-stack-alignment       Reduce stack alignment on call sites if possible.
  -fipa-vrp                   Perform IPA Value Range Propagation.
  -fira-algorithm=[CB|priority] Set the used IRA algorithm.
  -fira-hoist-pressure        Use IRA based register pressure calculation in
RTL hoist optimizations.
  -fira-loop-pressure         Use IRA based register pressure calculation in
RTL loop optimizations.
  -fira-region=[one|all|mixed] Set regions for IRA.
  -fira-share-save-slots      Share slots for saving different hard registers.
  -fira-share-spill-slots     Share stack slots for spilled pseudo-registers.
  -fisolate-erroneous-paths-attribute Detect paths that trigger erroneous or
undefined behavior due to 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.
  -flifetime-dse              Tell DSE that the storage for a C++ object is
dead when the constructor starts and when the destructor finishes.
  -flifetime-dse=<0,2>        This option lacks documentation.
  -flimit-function-alignment  This option lacks documentation.
  -flive-patching             Same as -flive-patching=.  Use the latter option
instead.
  -flive-patching=[inline-only-static|inline-clone] Control IPA optimizations
to provide a safe compilation for live-patching.  At the same time, provides
multiple-level control on the enabled IPA optimizations.
  -flive-range-shrinkage      Relief of register pressure through live range
shrinkage.
  -floop-interchange          Enable loop interchange on trees.
  -floop-nest-optimize        Enable the loop nest optimizer.
  -floop-parallelize-all      Mark all loops as parallel.
  -floop-unroll-and-jam       Perform unroll-and-jam on loops.
  -flra-remat                 Do CFG-sensitive rematerialization in LRA.
  -fmath-errno                Set errno after built-in math functions.
  -fmodulo-sched              Perform SMS based modulo scheduling before the
first scheduling pass.
  -fmodulo-sched-allow-regmoves Perform SMS based modulo scheduling with
register moves allowed.
  -fmove-loop-invariants      Move loop invariant computations out of loops.
  -fnon-call-exceptions       Support synchronous non-call exceptions.
  -fnothrow-opt               Treat a throw() exception specification as
noexcept to improve code size.
  -fomit-frame-pointer        When possible do not generate stack frames.
  -fopt-info                  Enable all optimization info dumps on stderr.
  -foptimize-sibling-calls    Optimize sibling and tail recursive calls.
  -foptimize-strlen           Enable string length optimizations on trees.
  -fpack-struct               Pack structure members together without holes.
  -fpack-struct=<number>      Set initial maximum structure member alignment.
  -fpartial-inlining          Perform partial inlining.
  -fpatchable-function-entry= Insert NOP instructions at each function entry.
  -fpeel-loops                Perform loop peeling.
  -fpeephole                  Enable machine specific peephole optimizations.
  -fpeephole2                 Enable an RTL peephole pass before sched2.
  -fplt                       Use PLT for PIC calls (-fno-plt: load the address
from GOT at call site).
  -fpredictive-commoning      Run predictive commoning optimization.
  -fprefetch-loop-arrays      Generate prefetch instructions, if available, for
arrays in loops.
  -fprintf-return-value       Treat known sprintf return values as constants.
  -freciprocal-math           Same as -fassociative-math for expressions which
include division.
  -freg-struct-return         Return small aggregates in registers.
  -frename-registers          Perform a register renaming optimization pass.
  -freorder-blocks            Reorder basic blocks to improve code placement.
  -freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering
algorithm.
  -freorder-blocks-and-partition Reorder basic blocks and partition into hot
and cold sections.
  -freorder-functions         Reorder functions to improve code placement.
  -frerun-cse-after-loop      Add a common subexpression elimination pass after
loop optimizations.
  -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.
  -frtti                      Generate run time type descriptor information.
  -fsave-optimization-record  Write a SRCFILE.opt-record.json file detailing
what optimizations were performed.
  -fsched-critical-path-heuristic Enable the critical path heuristic in the
scheduler.
  -fsched-dep-count-heuristic Enable the dependent count heuristic in the
scheduler.
  -fsched-group-heuristic     Enable the group heuristic in the scheduler.
  -fsched-interblock          Enable scheduling across basic blocks.
  -fsched-last-insn-heuristic Enable the last instruction heuristic in the
scheduler.
  -fsched-pressure            Enable register pressure sensitive insn
scheduling.
  -fsched-rank-heuristic      Enable the rank heuristic in the scheduler.
  -fsched-spec                Allow speculative motion of non-loads.
  -fsched-spec-insn-heuristic Enable the speculative instruction heuristic in
the scheduler.
  -fsched-spec-load           Allow speculative motion of some loads.
  -fsched-spec-load-dangerous Allow speculative motion of more loads.
  -fsched-stalled-insns       Allow premature scheduling of queued insns.
  -fsched-stalled-insns-dep   Set dependence distance checking in premature
scheduling of queued insns.
  -fsched-stalled-insns-dep=<number> Set dependence distance checking in
premature scheduling of queued insns.
  -fsched-stalled-insns=<number> Set number of queued insns that can be
prematurely scheduled.
  -fsched2-use-superblocks    If scheduling post reload, do superblock
scheduling.
  -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.
  -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.
  -fshort-enums               Use the narrowest integer type possible for
enumeration types.
  -fshort-wchar               Force the underlying type for "wchar_t" to be
"unsigned short".
  -fshrink-wrap               Emit function prologues only before parts of the
function that need it, rather than at the top of the function.
  -fshrink-wrap-separate      Shrink-wrap parts of the prologue and epilogue
separately.
  -fsignaling-nans            Disable optimizations observable by IEEE
signaling NaNs.
  -fsigned-zeros              Disable floating point optimizations that ignore
the IEEE signedness of zero.
  -fsimd-cost-model=[unlimited|dynamic|cheap] Specifies the vectorization cost
model for code marked with a simd directive.
  -fsingle-precision-constant Convert floating point constants to single
precision constants.
  -fsplit-ivs-in-unroller     Split lifetimes of induction variables when loops
are unrolled.
  -fsplit-loops               Perform loop splitting.
  -fsplit-paths               Split paths leading to loop backedges.
  -fsplit-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=[no|generic|specific] Insert stack checking code into the
program.
  -fstack-clash-protection    Insert code to probe each page of stack space as
it is allocated to protect from stack-clash style attacks.
  -fstack-protector           Use propolice as a stack protection method.
  -fstack-protector-all       Use a stack protection method for every function.
  -fstack-protector-explicit  Use stack protection method only for functions
with the stack_protect attribute.
  -fstack-protector-strong    Use a smart stack protection method for certain
functions.
  -fstack-reuse=[all|named_vars|none] Set stack reuse level for local
variables.
  -fstdarg-opt                Optimize amount of stdarg registers saved to
stack at start of function.
  -fstore-merging             Merge adjacent stores.
  -fstrict-aliasing           Assume strict aliasing rules apply.
  -fstrict-enums              Assume that values of enumeration type are always
within the minimum range of that type.
  -fstrict-volatile-bitfields Force bitfield accesses to match their type
width.
  -fthread-jumps              Perform jump threading optimizations.
  -fno-threadsafe-statics     Do not generate thread-safe code for initializing
local statics.
  -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-vars        Enable SSA coalescing of user variables.
  -ftree-copy-prop            Enable copy propagation on trees.
  -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-im              Enable loop invariant motion on trees.
  -ftree-loop-ivcanon         Create canonical induction variables in loops.
  -ftree-loop-optimize        Enable loop optimizations on tree level.
  -ftree-loop-vectorize       Enable loop vectorization on trees.
  -ftree-lrs                  Perform live range splitting during the
SSA->normal pass.
  -ftree-parallelize-loops=<number> Enable automatic parallelization of loops.
  -ftree-partial-pre          In SSA-PRE optimization on trees, enable
partial-partial redundancy elimination.
  -ftree-phiprop              Enable hoisting loads from conditional pointers.
  -ftree-pre                  Enable SSA-PRE optimization on trees.
  -ftree-pta                  Perform function-local points-to analysis on
trees.
  -ftree-reassoc              Enable reassociation on tree level.
  -ftree-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-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-vectorize            Enable vectorization on trees.
  -ftree-vrp                  Perform Value Range Propagation on trees.
  -funconstrained-commons     Assume common declarations may be overridden with
ones with a larger trailing array.
  -funroll-all-loops          Perform loop unrolling for all loops.
  -funroll-loops              Perform loop unrolling when iteration count is
known.
  -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.
  -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=[unlimited|dynamic|cheap] Specifies the cost model for
vectorization.
  -fversion-loops-for-strides Version loops based on whether indices have a
stride of one.
  -fvpt                       Use expression value profiles in optimizations.
  -fweb                       Construct webs and split unrelated uses of single
variable.
  -fwrapv                     Assume signed arithmetic overflow wraps around.
  -fwrapv-pointer             Assume pointer overflow wraps around.

FAIL: compiler driver --help=params --help=optimizers option(s): "maximum
number of" present in output
PASS: compiler driver --help=params --help=optimizers option(s): -O

Reply via email to