SuccessChanges

Summary

  1. [Coroutine] Do not CoroElide if there are musttail calls (details)
  2. [ARM] Don't handle low overhead branches in AnalyzeBranch (details)
  3. [MLIR] NFC: simplify PresburgerSet::isEqual (details)
  4. [AArch64] Add test to check the attributes for some intrinsics. (details)
  5. [SLP] add more FMF tests for fmax/fmin reductions; NFC (details)
  6. [RISCV][NFC] Increase test coverage of Zbt extension (details)
Commit 1d04dc52dd24d791970e56053cdd67fe149b0554 by lxfind
[Coroutine] Do not CoroElide if there are musttail calls

This is to address https://bugs.llvm.org/show_bug.cgi?id=48626.
When there are musttail calls that use parameters aliasing the newly created coroutine frame, the existing implementation will fatal.
We simply cannot perform CoroElide in such cases. In theory a precise analysis can be done to check whether the parameters of the musttail call
actually alias the frame, but it's very hard to do it before the transformation happens. Also in most cases the existence of musttail call is
generated due to symmetric transfers, and in those cases alias analysis won't be able to tell that they don't alias anyway.

Differential Revision: https://reviews.llvm.org/D94834
The file was modifiedllvm/lib/Transforms/Coroutines/CoroElide.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-elide-musttail.ll
Commit e7dc083a410f187e143138b4956993370626268b by david.green
[ARM] Don't handle low overhead branches in AnalyzeBranch

It turns our that the BranchFolder and IfCvt does not like unanalyzable
branches that fall-through. This means that removing the unconditional
branches from the end of tail predicated instruction can run into
asserts and verifier issues.

This effectively reverts 372eb2bbb6fb903ce76266e659dfefbaee67722b, but
adds handling to t2DoLoopEndDec which are not branches, so can be safely
skipped.
The file was modifiedllvm/test/CodeGen/Thumb2/aligned-nonfallthrough.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-blockplacement.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-increment.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-increment.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldshuffle.ll
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/while-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-tailpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/sibling-loops.ll
Commit fa9851ebfee48014a1c48a7e7d625d9ecff3ebad by arjunpitchanathan
[MLIR] NFC: simplify PresburgerSet::isEqual

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D94918
The file was modifiedmlir/lib/Analysis/PresburgerSet.cpp
Commit a5a6164f6de5bea2ad1e78445684cc81fe632e56 by flo
[AArch64] Add test to check the attributes for some intrinsics.
The file was addedllvm/test/Assembler/aarch64-intrinsics-attributes.ll
Commit ca7e27054c25c2bc6cf88879d73745699251412c by spatel
[SLP] add more FMF tests for fmax/fmin reductions; NFC
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
Commit b42ff9fb038206c7967e22ceef2c7ea8275dc198 by sam
[RISCV][NFC] Increase test coverage of Zbt extension

Add Zbt (ternary) extension code generation to the select lowering
tests since it can have a significant impact on how select is
lowered.

While we are here make the neg-abs commands more consistent with
the other tests.

Reviewed By: lenary

Differential Revision: https://reviews.llvm.org/D94798
The file was modifiedllvm/test/CodeGen/RISCV/select-cc.ll
The file was modifiedllvm/test/CodeGen/RISCV/select-optimize-multiple.mir
The file was modifiedllvm/test/CodeGen/RISCV/select-and.ll
The file was removedllvm/test/CodeGen/RISCV/bare-select.ll
The file was addedllvm/test/CodeGen/RISCV/select-bare.ll
The file was modifiedllvm/test/CodeGen/RISCV/neg-abs.ll
The file was modifiedllvm/test/CodeGen/RISCV/select-optimize-multiple.ll
The file was modifiedllvm/test/CodeGen/RISCV/select-or.ll
The file was modifiedllvm/test/CodeGen/RISCV/select-const.ll