[PATCH] D95139: [SVE][LoopVectorize] Add support for extracting the last lane of a scalable vector

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 15 09:10:03 PST 2021


david-arm updated this revision to Diff 323781.
david-arm added a comment.

- Added a new VPLane class to contain all the lane offset and kind, plus add methods getKnownValue and getExpr to return the compile-time value and runtime expression, respectively.
- Changed the definition of ScalableLast to Sander's suggestion where the lane value is the offset from the start of the last subvector.
- Folded some asserts about the lane value into VPLane::getKnownValue() and VPLane::mapToCacheIndex.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95139/new/

https://reviews.llvm.org/D95139

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-extract-last-veclane.ll
  llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95139.323781.patch
Type: text/x-patch
Size: 20822 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210215/f10d2d90/attachment.bin>


More information about the llvm-commits mailing list