[PATCH] D145925: [LV] Add a UsePredicatedEpilogue epilog vectorization scheme option

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 13 04:58:30 PDT 2023


dmgreen created this revision.
dmgreen added reviewers: bmahjour, fhahn, Ayal, SjoerdMeijer, david-arm, sdesmalen.
Herald added subscribers: luke, StephenFan, frasercrmck, rogfer01, luismarques, apazos, sameer.abuasal, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, bollu, rbar, asb, hiraditya.
Herald added a project: All.
dmgreen requested review of this revision.
Herald added subscribers: pcwang-thead, vkmr, MaskRay.
Herald added a project: LLVM.

This attempt to add a UsePredicatedEpilogue option for allowing unpredicated vector bodies with a predicated remainder. This involves creating vplans both with and without predication, and allowing unpredicated plans in the loop body with predicated plans in the remainder.

The preferPredicateOverEpilogue TTI hook has been changed to getPreferredVectorPredication, so that targets can opt into different PreferPredicateTy for the given loop. Some of the comments have been reworded to hopefully improve them and match how they are used.


https://reviews.llvm.org/D145925

Files:
  llvm/include/llvm/Analysis/TargetTransformInfo.h
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/CodeGen/BasicTTIImpl.h
  llvm/lib/Analysis/TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.h
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/ARM/epilog-predicated.ll
  llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145925.504574.patch
Type: text/x-patch
Size: 71048 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230313/ec920b4c/attachment.bin>


More information about the llvm-commits mailing list