[llvm] [AArch64] Dont inline streaming fn into non-streaming caller (PR #150595)

Gaƫtan Bossu via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 29 09:23:05 PDT 2025


================
@@ -270,6 +270,13 @@ bool AArch64TTIImpl::areInlineCompatible(const Function *Caller,
                                          const Function *Callee) const {
   SMECallAttrs CallAttrs(*Caller, *Callee);
 
+  // Never inline a function explicitly marked as being streaming,
+  // into a non-streaming function. Assume it was marked as streaming
+  // for a reason.
+  if (CallAttrs.caller().hasNonStreamingInterfaceAndBody() &&
+      CallAttrs.callee().hasStreamingInterfaceOrBody())
----------------
gbossu wrote:

I'm wondering if we should also disable inlining non-streaming functions into streaming ones?

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


More information about the llvm-commits mailing list