[llvm] [clang] [clang][llvm][fatlto] Avoid cloning modules in FatLTO (PR #72180)
Paul Kirth via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 28 10:40:18 PST 2023
================
@@ -1530,14 +1530,11 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
}
ModulePassManager
-PassBuilder::buildFatLTODefaultPipeline(OptimizationLevel Level, bool ThinLTO,
- bool EmitSummary) {
+PassBuilder::buildFatLTODefaultPipeline(OptimizationLevel Level) {
ModulePassManager MPM;
- MPM.addPass(EmbedBitcodePass(ThinLTO, EmitSummary,
- ThinLTO
- ? buildThinLTOPreLinkDefaultPipeline(Level)
- : buildLTOPreLinkDefaultPipeline(Level)));
- MPM.addPass(buildPerModuleDefaultPipeline(Level));
+ MPM.addPass(buildThinLTOPreLinkDefaultPipeline(Level));
+ MPM.addPass(EmbedBitcodePass());
+ MPM.addPass(buildThinLTODefaultPipeline(Level, /*ImportSummary=*/nullptr));
----------------
ilovepi wrote:
Yeah, I'm not super happy with it, but based on the discussion from the initial patches, we'd need something that is close to make sure that all the various issues from optional passes like profiling, etc. were handled, correct?
Otherwise, I guess we can sub in ModuleOptimization here? @teresajohnson do you think that would run into any trouble based on your concerns in https://reviews.llvm.org/D146776#4302238 and the subsequent discussion.
https://github.com/llvm/llvm-project/pull/72180
More information about the cfe-commits
mailing list