[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

Teresa Johnson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 20 09:20:59 PST 2020


tejohnson added a comment.

>From a ThinLTO perspective, no specific concerns as the buildModuleSimplificationPipeline is invoked in both the pre and post LTO link pipelines, so they both get an equivalent change. But there is an issue for regular LTO, noted below.



================
Comment at: llvm/test/Other/new-pm-lto-defaults.ll:70
 ; CHECK-O2-NEXT: Starting llvm::Module pass manager run.
-; CHECK-O2-NEXT: Running pass: AlwaysInlinerPass
 ; CHECK-O2-NEXT: Starting CGSCC pass manager run.
----------------
Note there is no corresponding add of an additional InlinerPass like in the other files. The reason is that PassBuilder::buildLTODefaultPipeline doesn't invoke buildModuleSimplificationPipeline, or even buildInlinerPipeline (it has a separate pipeline setup for compile time reasons due to the monolithic nature of the post-LTO link compilation), but rather directly adds ModuleInlinerWrapperPass. So you'll want to add the additional ModuleInlinerWrapperPass invocation there as well.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91567



More information about the cfe-commits mailing list