[PATCH] D101468: [Passes] Run sinking/hoisting in SimplifyCFG earlier.

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 28 10:02:37 PDT 2021


lebedev.ri added a comment.

In D101468#2723229 <https://reviews.llvm.org/D101468#2723229>, @lebedev.ri wrote:

> In D101468#2723180 <https://reviews.llvm.org/D101468#2723180>, @nikic wrote:
>
>> Thanks! I like this a lot more than the LoopVectorize variant. I also think it makes sense that this happens at the end of the "function simplification" pipeline, which means that the inliner will see the hoisted/sunk IR, which should result in a more accurate cost (as sinkable/hoistable instructions will not be counted multiple times).
>
> Nonono, this is actually the opposite from what should happen.
> We will then over-inline, and grow the size even more.
>
> Do we have any simplifycfg run before LV but after inliner?
>
>> It might make sense to do this even earlier, as I suspect that passes like GVN would also benefit from hoisted/sunk IR. But this looks like a reasonable starting point, at least to me.

This is even visible in the http://llvm-compile-time-tracker.com/compare.php?from=2ea7fb7b1c045a7d60fcccf3df3ebb26aa3699e5&to=e58b4a763c691da651f25996aad619cb3d946faf&stat=size-total


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101468



More information about the llvm-commits mailing list