[llvm] [LV]Set tailfolding styles before computing feasible max VF. (PR #91403)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 15 07:54:30 PDT 2024
alexey-bataev wrote:
> This patch seems to involve two parts which best be committed separately, unless there's a reason not to?
>
> 1. introducing isScalableVectorizationAllowed() to refactor getMaxLegalScalableVF() which spends most of its time checking if isScalableVectorizationAllowed() and only if so to compute and return the desired VF(). This seems to be consistent with having getMax_VF() also take care of isThereAnyAllowed_VF(), sigh.
> 2. set tail folding style before being sure there is tail to fold, and unset it later when sure there isn't. This part lacks an explanation why this is needed, in a comment and in a test, in addition to the commit message.
>
> The first part should be a simple standalone NFC. Regarding the second part, note VPlan's roadmap direction to first strip-mine the loop considering its tail folded, and later consider if to unfold the tail - potentially leading to epilog vectorization, etc.
The second part is described here "This change is required for supporting safe max dist
for predicated vectorization (DataWithEVL tail folding mode)."
https://github.com/llvm/llvm-project/pull/91403
More information about the llvm-commits
mailing list