SuccessChanges

Summary

  1. [test] Rewrite various tests to not use constprop (details)
  2. [AArch64][SVE] Add lowering for llvm fceil (details)
  3. [InstSimplify] Add additional umax tests (NFC) (details)
  4. [InstSimplify] Fold min/max intrinsic based on icmp of operands (details)
Commit d1e6103a791309764f2a281eb3a5da01b9946511 by aeubanks
[test] Rewrite various tests to not use constprop

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D86653
The file was modifiedllvm/test/Transforms/Reassociate/otherops.ll (diff)
The file was modifiedllvm/test/Transforms/Reassociate/fast-SubReassociate.ll (diff)
The file was modifiedllvm/test/Transforms/Inline/externally_available.ll (diff)
The file was modifiedllvm/test/Transforms/Reassociate/2002-05-15-SubReassociate.ll (diff)
Commit fd536eeed99effb190337d1e500ef8e2dbb74920 by dancgr
[AArch64][SVE] Add lowering for llvm fceil

Add the functionality to lower fceil for passthru variant

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D84548
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td (diff)
Commit b73c5a0736fd6e42cf8ca7330cd4bb98aee6bcdc by nikita.ppv
[InstSimplify] Add additional umax tests (NFC)

A sample of some folds we get if we perform icmp simplification
on min/max intrinsics.
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll (diff)
Commit d7c119d89c5f6d0789cfd0a139c80e23912c0bb0 by nikita.ppv
[InstSimplify] Fold min/max intrinsic based on icmp of operands

This is a reboot of D84655, now performing the inner icmp
simplification query without undef folds.

It should be possible to handle the current foldMinMaxSharedOp()
fold based on this, by moving the logic into icmp of min/max instead,
making it more general. We can't drop the folds for constant operands,
because those also allow undef, which we exclude here.

The tests use assumes for exhaustive coverage, and have a few
more examples of misc folds we get based on icmp simplification.

Differential Revision: https://reviews.llvm.org/D85929
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll (diff)
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)