https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223

--- Comment #22 from Martin Liška <marxin at gcc dot gnu.org> ---
> For example, if an inlining pass happens after instrumentation, then the
> function attribute doesn't necessarily need to suppress inlining. After
> instrumentation is done, we can even treat the noprofile attribute as a
> no-op.

In the case of GCC, the instrumentation happens before inlining, but after
early inlining. The patch reviewer noticed that and we would implement it that
way.
So yes, in order to preserve the attribute contract, we have to block inlining
for functions decorated with the attribute.

Reply via email to