[PATCH] D27722: [GVNHoist] Move GVNHoist to function simplification part of pipeline.

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 11:59:17 PST 2016

----- Original Message -----
> From: "Sebastian Pop via Phabricator" <reviews at reviews.llvm.org>
> To: gberry at codeaurora.org, dberlin at dberlin.org, hiraditya at msn.com, hfinkel at anl.gov, sebpop at gmail.com
> Cc: "amara emerson" <amara.emerson at arm.com>, "mehdi amini" <mehdi.amini at apple.com>, mcrosier at codeaurora.org,
> llvm-commits at lists.llvm.org
> Sent: Tuesday, December 13, 2016 1:45:55 PM
> Subject: [PATCH] D27722: [GVNHoist] Move GVNHoist to function simplification part of pipeline.
> sebpop accepted this revision.
> sebpop added a comment.
> Overall LGTM.
> In the past I have seen some improvements to function inlining due to
> hoisting happening before inlining.
> Also there may be some sinking (in cfg-simplify) happening before we
> have a chance to hoist expressions.
> Let's commit this, and I will report if I see perf degradations, in
> which case we may as well run hoisting before and after inlining.

Broader topic, but shouldn't we run a full function-simplification pipeline before inlining? That seems necessary in order to generate good inline cost estimates. Otherwise, for example, you'll inline something that looks small only to fully unroll a loop, etc. and have it become larger.


> Thanks for your patch!
> https://reviews.llvm.org/D27722

Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

More information about the llvm-commits mailing list