Increase inlining limits for inline functions with builtin_constant_p on parameter

Jakub Jelinek jakub@redhat.com
Wed Oct 21 19:13:17 GMT 2020


On Wed, Oct 21, 2020 at 09:03:03PM +0200, Martin Liška wrote:
> Maybe a silly question, but isn't the code only an obfuscation?
> What about doing:
> 
> if (__builtin_constant_p(x))
>   return x < 2 ? 0 : __builtin_clz(x);
> 
> which is fully eliminated in a c.031t.ccp1 pass right after einline happens
> for a call context where 'x' is a constant.
> 
> Isn't the right place for fix in Linux kernel?

Of course it is, see
https://lore.kernel.org/linux-toolchains/21556974-eea1-ed6a-ea6f-3e97a6eea4bc@csgroup.eu/T/#m12d2586fe18ed27789c8d67a677783a83b79efa8

	Jakub



More information about the Gcc-patches mailing list