[PATCH] D99249: [PassManager] Run additional LICM before LoopRotate

Thomas Preud'homme via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 31 14:03:53 PDT 2021


thopre added a comment.

In D99249#2661952 <https://reviews.llvm.org/D99249#2661952>, @asbirlea wrote:

> Most performance results look ok. There are a few that are mixed (+ & -), one regression that's still investigated that so far seems architecture specific and not related to this patch, a couple of noticeable improvements and a few marginal improvements.
> Please note I have only tested the new pass manager.
> So, green light from my side assuming the other reviewers are also on board with this.
>
> @lebedev.ri @thopre Is it right that you have seen the performance gain in practice from this change in larger applications, such as the example with peeling that prompted the first patch?

Yes, we had a ML benchmark regress by about 4% due to the peeling preventing vectorization due to loss of alignment on our target. I've tried both LICM-looprotate-LICM and LICM-looprotate and both fix the regression.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99249



More information about the llvm-commits mailing list