[PATCH] D113180: [LoopVectorize] Make VPWidenCanonicalIVRecipe::execute work for scalable vectors

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 4 04:01:42 PDT 2021


david-arm created this revision.
david-arm added reviewers: sdesmalen, kmclaughlin, peterwaller-arm, fhahn.
Herald added subscribers: ctetreau, rogfer01, hiraditya, kristof.beyls.
david-arm requested review of this revision.
Herald added subscribers: llvm-commits, vkmr.
Herald added a project: LLVM.

The code in VPWidenCanonicalIVRecipe::execute only worked for fixed-width
vectors due to the way we generate the values per lane. This patch changes
the code to use a combination of vector splats and step vectors to get
the same result. This then works for both fixed-width and scalable vectors.

Tests that exercise this code path for scalable vectors have been added here:

  Transforms/LoopVectorize/AArch64/sve-tail-folding.ll


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D113180

Files:
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/lib/Transforms/Vectorize/VPlan.cpp
  llvm/lib/Transforms/Vectorize/VPlan.h
  llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113180.384698.patch
Type: text/x-patch
Size: 14171 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211104/3bd46820/attachment.bin>


More information about the llvm-commits mailing list