[llvm] [AArch64] Allow unrolling of scalar epilogue loops (PR #151164)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 31 01:04:15 PDT 2025
================
@@ -4905,14 +4905,17 @@ void AArch64TTIImpl::getUnrollingPreferences(
// Disable partial & runtime unrolling on -Os.
UP.PartialOptSizeThreshold = 0;
- // No need to unroll auto-vectorized loops
- if (findStringMetadataForLoop(L, "llvm.loop.isvectorized"))
- return;
-
// Scan the loop: don't unroll loops with calls as this could prevent
- // inlining.
+ // inlining. Don't unroll auto-vectorized loops either, though do allow
+ // unrolling of the scalar remainder.
----------------
fhahn wrote:
One thing that we now may also allow to unroll is loops that are only interleaved by LV I think, but that was the same before, so should be fine for now.
https://github.com/llvm/llvm-project/pull/151164
More information about the llvm-commits
mailing list