aeubanks added a comment.

What about removing the existing AlwaysInlinerPass and replacing it with this 
one? Or is that something you were planning to do in a follow-up change?

> open the opportunity to help the full inliner by performing additional 
> function passes after the mandatory inlinings, but before the full inliner

This change doesn't run the function simplification pipeline between the 
mandatory and full inliner though, only

  if (AttributorRun & AttributorRunOption::CGSCC)
    MainCGPipeline.addPass(AttributorCGSCCPass());
  
  if (PTO.Coroutines)
    MainCGPipeline.addPass(CoroSplitPass(Level != OptimizationLevel::O0));
  
  // Now deduce any function attributes based in the current code.
  MainCGPipeline.addPass(PostOrderFunctionAttrsPass());

And is there any evidence that running the function simplification pipeline 
between the mandatory and full inliner is helpful? It could affect compile 
times.

I'd think that adding the mandatory inliner right before the full inliner in 
the same CGSCC pass manager would do the job. e.g. add it in 
`ModuleInlinerWrapperPass::ModuleInlinerWrapperPass()` right before 
`PM.addPass(InlinerPass());`



================
Comment at: llvm/include/llvm/Analysis/InlineAdvisor.h:27
 
 /// There are 3 scenarios we can use the InlineAdvisor:
 /// - Default - use manual heuristics.
----------------
4


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91567

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D91567... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... David Blaikie via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... David Blaikie via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... Arthur Eubanks via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... David Blaikie via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... David Blaikie via Phabricator via cfe-commits
    • [PATCH] D... Arthur Eubanks via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... Google Contributors to LLVM via Phabricator via cfe-commits
    • [PATCH] D... Arthur Eubanks via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits
    • [PATCH] D... Mircea Trofin via Phabricator via cfe-commits

Reply via email to