[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