[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