[PATCH] D86988: [Inliner] Run always-inliner in inliner-wrapper

Mircea Trofin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 23 10:41:21 PDT 2020


mtrofin added a comment.

Any idea why we have the AlwaysInliner as a separate codebase from the 'normal' inliner? I was considering adding a mode to the normal inliner that only performs mandatory inlines. The benefits would be:

- simplify codebase (one less pass)
- plays correctly with InlineAdvisor, allowing interested implementations to keep track of inline effects
- address limitations of the AlwaysInliner - see AlwaysInliner.h comments (lines 23 onward)
- simplify the problem to the 'normal' inliner, as we can (and should) run passes like DCE

I realize there's a concern re. compilation time, don't have answers at the moment.

I also wonder if davidxl's concerns about BFI, etc, would be more easily addressable having this proposed model.

Any pushback to exploring this, am I missing something?

Thanks!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86988



More information about the llvm-commits mailing list