[PATCH] D108136: [LoopVectorize] Permit vectorisation of more select(cmp(), X, Y) reduction patterns

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 20 07:41:34 PDT 2021


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

- Fixed a crash I found whilst building some benchmarks related to cases where the select/cmp are in a predicated block. Added tests -  Transforms/LoopVectorize/select-cmp-predicated.ll
- Disabled interleaving for small loops when using a select/cmp reduction pattern because this can give worse performance in some cases with small trip counts.


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

https://reviews.llvm.org/D108136

Files:
  llvm/include/llvm/Analysis/IVDescriptors.h
  llvm/include/llvm/Transforms/Utils/LoopUtils.h
  llvm/lib/Analysis/IVDescriptors.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/lib/Transforms/Utils/LoopUtils.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/lib/Transforms/Vectorize/VPlan.cpp
  llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
  llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
  llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
  llvm/test/Transforms/LoopVectorize/select-cmp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108136.373585.patch
Type: text/x-patch
Size: 67830 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210920/3cb3729e/attachment.bin>


More information about the llvm-commits mailing list