[clang] [clang][SME] Rework streaming mode always_inline errors/warnings (PR #174608)
Eli Friedman via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 15 17:58:50 PST 2026
efriedma-quic wrote:
So the rule here is essentially that if we see a call to an always_inline function, we ignore the attributes on the callee and just directly examine the body? That makes sense from the perspective of being user-friendly. The backend still needs to be robust: the AlwaysInliner still needs to detect whether the callee contains an operation that prevents inlining... but I guess that's a separate issue.
Please make sure we have a testcase showing what happens if the always_inline function is defined after the caller:
```
int incompatible_neon();
int bar() __arm_streaming { return incompatible_neon(); }
__attribute__((always_inline)) void incompatible_neon() {
__attribute((vector_size(16))) char vec = { 0 };
vec = __builtin_neon_vqaddq_v(vec, vec, 33);
}
```
https://github.com/llvm/llvm-project/pull/174608
More information about the cfe-commits
mailing list