<div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div><div dir="auto">This is a good idea. I've been working around the absence of this by writing wrapper functions tagged with the corresponding metadata.</div><div dir="auto"><br></div><div dir="auto">I don't know clang well enough to review the implementation, but if it ships, I'll use it. Whatever the syntax.</div><div dir="auto"><br></div><div dir="auto">Thanks</div><div dir="auto"><br></div><div dir="auto"><br></div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi folks,<br>
<br>
TL;DR: I propose to add 3 new C/C++ intrinsics for controlling inlining at<br>
callsite:<br>
* __builtin_no_inline(Foo()) -- prevents the call to Foo() from being<br>
inlined at that particular callsite.<br>
* __builtin_always_inline(Foo()) -- inlines this call to Foo(), if possible.<br>
* __builtin_flatten_inline(Foo()) -- inlines this call to Foo() and<br>
(transitively) everything called within Foo’s body.<br>
</blockquote></div></div>