https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111643
--- Comment #3 from Lukas Grätz <lukas.gra...@tu-darmstadt.de> --- (In reply to Marc Glisse from comment #2) > (In reply to Andrew Pinski from comment #1) > > I am 99% sure this is falls under don't do this as flatten inlines > > everything it can that the function calls ... > > Maybe people end up abusing flatten because we are missing a convenient way > for a caller to ask that a call be inlined? From the callee, we can use > always_inline (couldn't this be used on name_original in this testcase?), > but from the caller... Here even a non-recursive version of flatten would > have helped. Yes, this was what I was searching for, but I found only flatten. Also, that flatten is applied recursively is not mentioned in the documentation and it is also not what I would expect. https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html I don't want to always_inline name_original. What I want is to only inline name_original when called by the wrapper function name, hence the flatten. Because I replace every call to name with name_original where I don't want to apply the instrumentation by the wrapper function name. Thanks!