[PATCH] D102748: [LoopUnroll] Don't unroll before vectorisation

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 19 02:27:02 PDT 2021


SjoerdMeijer added a comment.

> 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.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102748/new/

https://reviews.llvm.org/D102748



More information about the llvm-commits mailing list