[PATCH] D102748: [LoopUnroll] Don't unroll before vectorisation
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 19 01:37:15 PDT 2021
SjoerdMeijer added a comment.
In D102748#2767891 <https://reviews.llvm.org/D102748#2767891>, @nikic wrote:
> 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.
This is a phase ordering issue, which is a difficult problem. :)
My numbers show that this is not a problem:
> It is critical that full unrolling happens relatively early, so that scalar optimizations have a chance to work on the fully unrolled loop.
At least, for the codes that I have looked at. So the question is, do you have examples I can look at? Perhaps we can or need to reshuffle the pipeline a bit more after vectorisation? You've requested changes to this patch, but some suggestions how to move this forward would be appreciated.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102748/new/
https://reviews.llvm.org/D102748
More information about the llvm-commits
mailing list