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

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 24 07:16:10 PDT 2021


lebedev.ri added a comment.

In D99249#2647367 <https://reviews.llvm.org/D99249#2647367>, @nikic wrote:

> One thing I can throw out now is that currently, we use split LPMs for LoopRotate and LICM, because historically it was too expensive to preserve MSSA in LoopRotate. After your change MSSA needs to be preserved anyway, and we are in the rather silly situation of LICM, LoopRotate and LICM again each using a separate LPM. **If** we want to go down this route, we'd probably want to land something like D74640 <https://reviews.llvm.org/D74640> first in order to merge these LPMs again.

Notably, D74640 <https://reviews.llvm.org/D74640> is an obsolete-pm problem. I'm not sure how much we should care about it nowadays.
But yes, D74640 <https://reviews.llvm.org/D74640> does help there //somewhat//: without <https://llvm-compile-time-tracker.com/compare.php?from=7c5222e4d1a3a14f029e5f614c9aefd0fa505f1e&to=5d81826c3411982ca26e46b9d0aff34c80577664&stat=instructions> vs. with <https://llvm-compile-time-tracker.com/compare.php?from=418931903396b23c29131ffd5fa6fd6b54698272&to=4f671539857e699ea8edf2d84c718c33b594eefc&stat=instructions>


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