[PATCH] D98634: [LV] Move runtime pointer size check to LVP::plan().

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 23 09:52:46 PDT 2021


fhahn updated this revision to Diff 332707.
fhahn added a comment.

Rebase & ping :)

In D98634#2626372 <https://reviews.llvm.org/D98634#2626372>, @lebedev.ri wrote:

> So the basic idea here is that LVL should only care about legality, but it should be up to it's users to care about profitability?

Yes, LoopVectorLegality, as  the name implies ideally should just focus on deciding whether it is legal to vectorize or not IMO.

LVL does not really have any capabilities to make real cost-based decisions, because it is mostly independent of concrete VFs.

The decision whether to vectorize with runtime checks was not really taken by LVL even before this change. The decision was taken late, using a helper defined as part of LVL.

> What do you think about the other limit?

I think once we move to make decisions related to the other limits on a more cost-based basis we should move them as well. But we should move them once at a time, so we can adjust & react to potential fallout.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98634

Files:
  llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
  llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/X86/runtime-limit.ll
  llvm/test/Transforms/LoopVectorize/runtime-limit.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98634.332707.patch
Type: text/x-patch
Size: 12763 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210323/58faae3a/attachment.bin>


More information about the llvm-commits mailing list