[llvm] [LV] Consider interleaving & tail-folding when -enable-wide-lane-mask=true (PR #163387)
Kerry McLaughlin via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 20 06:25:49 PDT 2025
================
@@ -6146,8 +6154,11 @@ bool AArch64TTIImpl::preferPredicateOverEpilogue(TailFoldingInfo *TFI) const {
if (Required == TailFoldingOpts::Disabled)
Required |= TailFoldingOpts::Simple;
- if (!TailFoldingOptionLoc.satisfies(ST->getSVETailFoldingDefaultOpts(),
- Required))
+ TailFoldingOpts DefaultOpts = ST->getSVETailFoldingDefaultOpts();
----------------
kmclaughlin-arm wrote:
Enabling wide lane masks should not force tail-folding to be used. The intention was just to allow tail-folding to be considered when the flag is passed, which is why I didn't update the name.
I didn't consider that we can already request tail-folding for different types of loops when I created this PR. I think a a better change would have been to have the `-enable-wide-lane-mask` flag imply `PredicateElseScalarEpilogue`.
Given that there are already flags which give more fine-grained control, I've removed the tail-folding changes from this PR. Enabling wide lane masks will instead just consider interleaving too, which there is otherwise no way to enable without forcing.
https://github.com/llvm/llvm-project/pull/163387
More information about the llvm-commits
mailing list