[NFC][TargetLowering] Make shouldExpandAtomicRMWInIR and shouldExpandAtomicCmpXchgInIR take a const Instruction pointer (#176073)
Splits out change from https://github.com/llvm/llvm-project/pull/176015
Changes shouldExpandAtomicRMWInIR to take a constant argument: This is
to allow some other TargetLowering constant-argument functions to call
it. This change touches several backends. An alternative solution
exists, but to me, this seems the "right" way.
[VPlan] Fold boolean select to xor if possible.
Fold select c, false, true -> not c. This allows for more accurate cost
estimation and fixes the underlying issue for the cost divergence
between legacy and VPlan-based cost model that caused the revert of
01d34eb38fa058 in ed004cf42bf57c.
https://alive2.llvm.org/ce/z/yVuSgW.
Reland [LLDB] Fix MS STL variant with non-trivial types and PDB (#176189)
Relands #171489 which was reverted due to a test failure on GreenDragon.
As suggested in
https://github.com/llvm/llvm-project/pull/171489#issuecomment-3754098800,
I'm checking for `std::string` on Darwin and `std::basic_string<char>`
otherwise, however I can't test that locally.
[profcheck][instcombine] Propagate branch weigths in folded GEP (#176247)
Patch following #170439. The branch weigths of the new select are the same as of the original's.
Issue #147390
[llvm/CAS] Introduce `validateObjectID()` and use it in `UnifiedOnDiskActionCache::validate()` (#176069)
This allows object IDs to be valid even if they do not point to actual
data yet, like in lazy materialization schemes.
[AMDGPU] Fix expensive checks in fmaak/fmamk f16 folding (#176238)
Register classes of sources also has to be restrained to lo128.
There are few regression with register coalescing in true16 mode
though, but otherwise it fails verification.
InstCombine: Implement SimplifyDemandedFPClass for fma
This can't do much filtering on the sources, except for nans.
We can also attempt to introduce ninf/nnan.
ValueTracking: Improve nan tracking for fma square special case
In the square multiply case, we can infer if the add of opposite
sign infinities can occur.