[PATCH] D125495: [Inline][Remark] Annotate inline pass name with link phase information for analysis.

Di Mo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 18 14:23:56 PDT 2022


modimo added a comment.

In D125495#3510338 <https://reviews.llvm.org/D125495#3510338>, @mingmingl wrote:

> Re replay inline, the pass name for replay inline advices will remain the same with `-annotate-inline-lto-phase` on -> the replay inline advisor class implementation remain the same before and after this change.
> For my understanding, is the replay inline advisor used for development (conveniently inline the functions according to an external file)? Is the replay inline advisor used for production build?

I've been only using it for development as a way to stabilize inlining when comparing compiler changes that impact function size. That way, we can better examine the impact of the change rather than the resulting inlining differences. It can certainly be used in production but I don't know of a user doing so.

In D125495#3510215 <https://reviews.llvm.org/D125495#3510215>, @wenlei wrote:

> there's also an always inline pass (AlwaysInliner.cpp).
>
> cc @modimo in case this affects inline replay as well. theoretically replay can be more accurate leveraging accurate pass info.

Replay currently is tied to an entire pass, so if replay is specified for the CGSCC inliner all invocations will perform replay. Importantly, there's no distinction between which instance of the CGSCC inliner the replay remarks came from or uses--I've been manually controlling post-LTO/pre-LTO by changing where the replay/remark flag is passed. With lto phase and inliner name tagging on the remarks generated, replay can now know which exact pass to apply them on and theoretically generate better results.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D125495



More information about the llvm-commits mailing list