[PATCH] D102748: [LoopUnroll] Don't unroll before vectorisation
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 19 02:35:49 PDT 2021
lebedev.ri added a comment.
In D102748#2767983 <https://reviews.llvm.org/D102748#2767983>, @SjoerdMeijer wrote:
>> I don't have suggestion on how to move forward *this* patch, because I think it's fundamentally the wrong direction to take.
>
> @nikic : Thanks, this is one reason why I wanted early feedback on this.
>
> Like I wrote in the description of this patch, I believe unrolling before vectorisation is fundamentally the wrong approach. This seems to be supported by current numbers, but I appreciate we are talking about a handful of benchmarks. This, I think, also relies on the loop vectoriser which seems more powerful than SLP vectorisation currently. And like I wrote in a previous comment, now I am very much interested in counter examples.
>
>> Instead of removing early full unroll pass (see @nikic's concerns), couldn't we run loop vectorizer before full unroll pass?
>
> I thought that the loopunroller that is still running after loop vectorisation, was doing the same (full) unrolling as the one I have removed here. That's apparently not the case, and it is on my list to check things here.
> But moving the loop vectoriser before the full unroll pass is what I wanted to achieve, yes, so I would be interested in this approach if feasible.
The current pipeline essentially consists of two parts - inliner pipeline,
which mostly simplifies things so we can best guess the inlining decisions,
and optimization pipeline. So i don't believe we can just run LV in the other pipeline.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102748/new/
https://reviews.llvm.org/D102748
More information about the llvm-commits
mailing list