[PATCH] D91718: [LV] Legalize scalable VF hints

Cullen Rhodes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 14 07:26:35 PST 2020


c-rhodes updated this revision to Diff 311576.
c-rhodes added a comment.

- Rather than disable vectorization if scalable VF isn't supported, let the LV pick a VF as it normally does and process with cost-modelling.
- Added a new LV flag `-force-target-supports-scalable-vectors` to support writing non-target specific tests with scalable VFs.
- Added a temporary workaround to use MaxVF in place of UserVF until cost modelling loop works for scalable VFs.
- Emit opt remark.


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

https://reviews.llvm.org/D91718

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.h
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/AArch64/scalable-loop-unpredicated-body-scalar-tail.ll
  llvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-hint.ll
  llvm/test/Transforms/LoopVectorize/metadata-width.ll
  llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
  llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
  llvm/test/Transforms/LoopVectorize/scalable-vf-hint.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91718.311576.patch
Type: text/x-patch
Size: 38454 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201214/fd7bf3bb/attachment.bin>


More information about the llvm-commits mailing list