Re: Suboptimal inline heuristics due to non-code sections

From: Linus Torvalds
Date: Tue May 01 2018 - 11:37:25 EST


On Tue, May 1, 2018 at 6:40 AM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> But if I remove the section completely by removing the
> pushsection/popsection, then copy_overflow() gets inlined.

> So GCC's inlining decisions are somehow influenced by the existence of
> some random empty section. This definitely seems like a GCC bug to me.

I think gcc uses the size of the string to approximate the size of an
inline asm.

So I don't think it's the "empty section" that makes gcc do this, I think
it's literally "our inline asms _look_ big".

Linus "does this section directive make me look fat?"
Torvalds