[PATCH] D69732: [WIP][LTO] Apply SamplePGO pipeline tunes for ThinLTO pre-link to full LTO

Teresa Johnson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 1 15:58:20 PDT 2019


tejohnson added a comment.

In D69732#1730884 <https://reviews.llvm.org/D69732#1730884>, @wenlei wrote:

> > The comments indicate that this is in part due to issues with
> >  the new PM loop pass manager
>
> Wondering how different it is for these loop passes to be enabled for MonoLTO vs ThinLTO? If it's due to problems with the newPM, I guess ThinLTO would have the same problems?


The ThinLTO backends don't use this code but rather PassBuilder::buildModuleOptimizationPipeline, which includes all of these loop optimizations (and other optimizations, since the ThinLTO backends can absorb the extra compile time cost). That's what makes me think this comment is stale and someone just forgot to add the loop optimization passes to the full LTO post-link pipeline. I haven't looked at the history of all these changes. My guess is that since the full LTO pre-link pipeline does all these loop optimizations (also through buildModuleOptimizationPipeline), no one noticed that they weren't also being done in the post-link full LTO pipeline.

> Asking because we have almost the same change as internal patch trying to get better LTO time profile precision for MonoLTO, and with that there's small win for oldPM+MonoLTO.

That's good to know, it's what I would expect but good to have the confirmation.

> But we'd love to converge on new PM for both MonoLTO and ThinLTO.




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69732





More information about the cfe-commits mailing list