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

Dávid Bolvanský via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 19 02:00:37 PDT 2021


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

In ideal world, SLP Vectorizer should be smarter :)

Possible fix for many SLP failures is https://reviews.llvm.org/D28907, but well yeah, stalled work from 2017.

So it depends, if this patch (and decision) give us more improvements than regressions, we should go for it..

>> A typical pattern is that a loop is working on a local array, gets fully unrolled, the array gets SROAd into individual array elements, mem2reg'd and then folds down to something much more efficient -- as if you didn't have a loop in the first place, and wrote out the unrolled code.

Could we check if loop is vectorizable, if so, avoid early loop unrolling?


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

https://reviews.llvm.org/D102748



More information about the llvm-commits mailing list