[PATCH] D97947: [AArch64] Force runtime unrolling for in-order scheduling models
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 4 11:39:51 PST 2021
dmgreen added a comment.
Runtime unrolling is always going to be a bit of a heuristic, unfortunately. We don't usually know at compile time what the trip count will be, so don't know if we will end up making things worse.
If the loop has already been vectorized (and possibly interleaved) it will already have been somewhat unrolled though. We may want to be more careful with cases like that and not runtime unroll the loop that has already been vectorized. We do the same thing for MVE, where that is more important due to the low register count and tail predicated loops. But the same reasoning may well apply here too, where unrolling it further just make the loop body too large to be useful.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97947/new/
https://reviews.llvm.org/D97947
More information about the llvm-commits
mailing list