[PATCH] D118566: [LoopVectorizer] Don't perform interleaving of predicated scalar loops
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 31 01:06:58 PST 2022
sdesmalen added a comment.
> This prevents it from making a bit of a mess, that is worse than the original and better left for the unroller to unroll if beneficial
Can you expand a little bit on why this becomes a bit of a mess? The original scalar loop has control-flow for predication as well, so I guess interleaving would just duplicate such control flow for the second scalar iteration. Is the code generated by the LV less efficient or are we missing any folds/simplification? Or is there a fundamental reason this can never be an improvement? I could imagine a scenario where most of the loop body would benefit from interleaving, but one statement in the loop doesn't because of predication, it would still be beneficial to interleave.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118566/new/
https://reviews.llvm.org/D118566
More information about the llvm-commits
mailing list