[llvm] [LLVM] Add flatten function attribute to LLVM IR and implement recursive inlining in AlwaysInliner (PR #174899)

Arthur Eubanks via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 14:01:27 PST 2026


aeubanks wrote:

> > looks much better
> > searching around for the proper way to check if caller/callee are inline compatible, it looks like `llvm::getAttributeBasedInliningDecision()` handles everything, including `TTI.areInlineCompatible` and `Callee->isPresplitCoroutine()`. should we be using that instead?
> 
> That would require adding extra dependency on TargetLibraryInfo and changing getAttributeBasedInliningDecision itself to make sure `flatten` attribute takes priority over `optnone`. Would you like me to do that?

yeah that looks preferable assuming

https://github.com/llvm/llvm-project/pull/174899


More information about the llvm-commits mailing list