[PATCH] D117580: [LoopVectorize] Support conditional in-loop vector reductions

Kerry McLaughlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 18 10:03:34 PST 2022


kmclaughlin created this revision.
kmclaughlin added reviewers: sdesmalen, david-arm, dmgreen, fhahn, spatel.
Herald added a subscriber: hiraditya.
kmclaughlin requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Extends getReductionOpChain to look through Phis which may be part of
the reduction chain. adjustRecipesForReductions will now also create a
CondOp for VPReductionRecipe if the block is predicated and not only if
foldTailByMasking is true.

Changes were required in tryToBlend to ensure that we don't attempt
to convert the reduction Phi into a select by returning a VPBlendRecipe.
The VPReductionRecipe will create a select between the Phi and the reduction.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D117580

Files:
  llvm/lib/Analysis/IVDescriptors.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
  llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
  llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
  llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117580.400888.patch
Type: text/x-patch
Size: 65966 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220118/8f488491/attachment.bin>


More information about the llvm-commits mailing list