[llvm] [PassBuilder] Move LoopFullUnrollPass to after vectorisation in the FullLTO pipeline (PR #196943)
Momchil Velikov via llvm-commits
llvm-commits at lists.llvm.org
Tue May 12 05:59:28 PDT 2026
momchil-velikov wrote:
> According to https://reviews.llvm.org/D102748, it may also make sense to do this for ThinLTO and non-LTO as well?
It may well make sense (I think it does, in principle).
However:
* in that review there was an argument against
> The full unroll pass during function simplification is quite important for certain code patterns and serves a completely different purpose than the runtime unrolling that happens late in the pipeline. It is critical that full unrolling happens relatively early, so that scalar optimizations have a chance to work on the fully unrolled loop.
I don't think *this* patch is affected, since in the LTO pipeline between the old position of yje full unroll pass and the vectorizer there was only `LoopDistributePass`, no scalar optimisations.
* right now, I'm focused on the FullLTO pipeline and there's already a plenty of things to juggle with; but nothing in this work would prevent adjustments to the other pipelines in the future.
https://github.com/llvm/llvm-project/pull/196943
More information about the llvm-commits
mailing list