[all-commits] [llvm/llvm-project] 12fb13: [LoopVectorize] Support conditional in-loop vector...

kmclaughlin-arm via All-commits all-commits at lists.llvm.org
Tue Feb 22 04:05:04 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12fb133eba819cac8c14ac1888ea1e460e45d17a
      https://github.com/llvm/llvm-project/commit/12fb133eba819cac8c14ac1888ea1e460e45d17a
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2022-02-22 (Tue, 22 Feb 2022)

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

  Log Message:
  -----------
  [LoopVectorize] Support conditional in-loop vector reductions

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.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D117580




More information about the All-commits mailing list