Re: [PATCH] compiler: enable CONFIG_OPTIMIZE_INLINING forcibly

From: Miguel Ojeda
Date: Tue Oct 01 2019 - 17:06:33 EST


On Tue, Oct 1, 2019 at 10:53 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> 1. is clearly the most common case, but there is also
>
> 4. Some compiler version (possibly long gone, possibly still current)
> makes bad inlining decisions that result in horrible but functionally
> correct object code for a particular function, and forcing a function to
> be inlined results in what we had expected the compiler to do already.

There is also 5. code that does not even compile without it, e.g.
_static_cpu_has() in x86_64 which requires
__attribute__((always_inline)), at least on GCC 9.2.

For x64_64 it is the only one case I found, though. If you disable
__always_inline everything else compiles and links (in a defconfig).

Cheers,
Miguel