[llvm] [LV] Consider interleaving & tail-folding when -enable-wide-lane-mask=true (PR #163387)
David Sherwood via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 16 01:18:10 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();
+ if (TFI->UseWideLaneMask)
+ DefaultOpts |= TailFoldingOpts::Simple;
+
+ if (!TailFoldingOptionLoc.satisfies(DefaultOpts, Required))
----------------
david-arm wrote:
I'm not sure it's a good idea to ignore the instruction threshold below because the problem that exists for normal tail-folding will also exist for wide lane masks. If the user really wants to test the special case of tail-folding for small loops they can always do it in conjunction with -sve-tail-folding-insn-threshold=0.
https://github.com/llvm/llvm-project/pull/163387
More information about the llvm-commits
mailing list