ValueTracking: Avoid calling computeKnownFPClass on matched constant (#173248)
The fmul case already tries to match a literal value, we don't
need to match it twice.
[VPlan] Support binary add/sub in getSCEVExprForVPValue. (NFCI)
Handle binary add/sub in getSCEVExprForVPValue. This means we are able
to compute more replicate recipe costs in the VPlan cost model. It
should produce the same costs.
ValueTracking: Avoid calling computeKnownFPClass on matched constant
The fmul case already tries to match a literal value, we don't
need to match it twice.
ValueTracking: Improve computeKnownFPClass fmul handling (#173247)
Improve known non-nan sign bit tracking. Handle cases with
a known 0 or inf input of indeterminate sign.
The tails of some library functions have sign management
for special cases.
[SLP]Recalculate dependencies for all cleared entries
Need to recalculate the dependencies for all cleared items to avoid
a crash, if the entry is used in other vector nodes
Fixes #173469
InstCombine: Handle exp/exp2/exp10 in SimplifyDemandedFPClass
I'm working on optimizing out the tail sequences in the
implementations of the 4 different flavors of pow. These
include chains of selects on the various edge cases.
Related to #64870
ValueTracking: Add baseline tests for computeKnownFPClass exp
This is already handled, but misses opportunities. Test cases
where the input is known positive or negative.
ValueTracking: Avoid calling computeKnownFPClass on matched constant
The fmul case already tries to match a literal value, we don't
need to match it twice.
ValueTracking: Improve computeKnownFPClass fmul handling
Improve known non-nan sign bit tracking. Handle cases with
a known 0 or inf input of indeterminate sign.
The tails of some library functions have sign management
for special cases.
InstCombine: Handle canonicalize in SimplifyDemandedFPClass
Doesn't try to handle PositiveZero flushing mode, but I
don't believe it is incorrect with it.
emulators/hercules4sdl: bugfix update to 4.9.1.
Release notes for SDL Hyperion 4.9.1 from https://sdl-hercules-390.github.io/html/hercrnot.html
Critical flaw in CCKD Garbage Collector / Dasd Hardener logic fixed
Unknown to the Hercules team at the time, there existed a critcal flaw (bug) in the CCKD "Garbage Collector" and "Dasd Hardener" logic that would, if allowed to execute simultaneously with each other, cause one to unexpectedly interfere with the other, resulting in Hercules potentially hanging or crashing.
Modifications to Hercules 4.9.1 have been made to ensure that this can no longer occur, by ensuring that neither is able to execute at the same time as the other. Instead, each now runs by itself (alone) until it reaches a stable point in its logic at the end of its "pass", before then allowing the other to execute until it too reaches a stable point in its own logic at the end of its own corresponding "pass". Processing continues in this alternating fashion for for as long as each are enabled.
With this fix (workaround) now in place, it is now once again safe to have both the CCKD Garbage Collector and Dasd Hardener to both be set to enabled if so desired. Note that the default enabled/disabled setting for each have not changed however: the default for the Garbage Collector is still disabled and the default for the Dasd Hardener is still enabled.