[PATCH] D146776: [llvm] Preliminary fat-lto-objects support
Paul Kirth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 27 14:07:06 PDT 2023
paulkirth added inline comments.
================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:1489
+ buildModuleSimplificationPipeline(Level, ThinOrFullLTOPhase::None));
+ MPM.addPass(buildModuleOptimizationPipeline(Level, ThinOrFullLTOPhase::None,
+ /*IsFatLto*/ true));
----------------
tejohnson wrote:
> Why pass in phase None for these calls to module simplification and optimization passes, instead of the corresponding post-LTO link phase? I would think we would want the complement of the phase provided earlier. I'm pretty sure there are some passes that are configured to run in exactly one of these phases, and we might end up duplicating them if running a pre-LTO link phase + a default (non-LTO) phase optimization pipeline.
The intent there was to closely mimic the non-lto pipeline. For now I've attempted to just split everything, but I'm not sure I love the approach. It's certainly simple, but I didn't like giving a pass its own passmanager... plus its does seem to be a bit wasteful to run two complete pipelines on the module.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146776/new/
https://reviews.llvm.org/D146776
More information about the llvm-commits
mailing list