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

Grigory Pastukhov via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 18 15:16:12 PST 2026


================
@@ -535,6 +582,17 @@ PreservedAnalyses InlinerPass::run(LazyCallGraph::SCC &InitialC,
     FAM.invalidate(F, PreservedAnalyses::none());
   }
 
+  // Now flatten functions with the flatten attribute.
+  for (Function *FlattenF : FlattenFunctions) {
----------------
grigorypas wrote:

You are right. I overcomplicated things. I have simplified the code.

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


More information about the llvm-commits mailing list