Regarding the gcc-7 manpage, these options:
-fsched-stalled-insns
-fsched-stalled-insns=n
Define how many insns (if any) can be moved prematurely from the
queue of stalled insns into the ready list during the second
scheduling pass. -fno-sched-stalled-insns means that no
insns are
moved prematurely, -fsched-stalled-insns=0 means there is no
limit
on how many queued insns can be moved prematurely.
-fsched-stalled-insns without a value is equivalent to
-fsched-stalled-insns=1.
-fsched-stalled-insns-dep
-fsched-stalled-insns-dep=n
Define how many insn groups (cycles) are examined for a
dependency
on a stalled insn that is a candidate for premature removal from
the queue of stalled insns. This has an effect only during the
second scheduling pass, and only if -fsched-stalled-insns is
used.
-fno-sched-stalled-insns-dep is equivalent to
-fsched-stalled-insns-dep=0. -fsched-stalled-insns-dep without a
value is equivalent to -fsched-stalled-insns-dep=1.
-------
In the 1st option, "<option>=0" equals "no limit" and -fno-<option>
equals don't do any.
In the 2nd option, it says "-fno-<option> equals "<option>=0". For this
option, does "<option>=0" also mean "no limit"? If that is the case,
then does "-fno-<option> really mean "no limit"?
For both, is there a default? Are either options default at some
optimization level (O2/O3?)? Are either enabled in the presence of
other -fsched options?
Is there someplace or is there a document to read more about the
the other -fsched options, especially in relation to the Intel x86-64
architecture(s)?
Thanks!
linda