[llvm] InlineFunction: Split inlining into predicate and apply functions (PR #134213)

Nick Desaulniers via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 8 22:22:37 PDT 2025


================
@@ -334,7 +334,11 @@ std::optional<InlineCostFeatures> getInliningCostFeatures(
     ProfileSummaryInfo *PSI = nullptr,
     OptimizationRemarkEmitter *ORE = nullptr);
 
-/// Minimal filter to detect invalid constructs for inlining.
+/// Check if it is mechanically possible to inline the function \p Callee, based
+/// on the contents of the function.
+///
+/// See also \p CanInlineCallSite as an additional precondition necessary to
+/// perform a valid inline in a particular use context.
----------------
nickdesaulniers wrote:

Yeah, I'd be curious to know more about why someone would call `isInlineViable` vs `CanInlineCallsite`? The names alone sound like synonyms to me...

Is one doing checks the other should be doing, or vice versa? If so, perhaps they should just be one function...

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


More information about the llvm-commits mailing list