[Bug ipa/97445] Some fonctions marked static inline in Linux kernel are not inlined
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Oct 21 18:21:25 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97445
--- Comment #51 from Martin Liška <marxin at gcc dot gnu.org> ---
> Martin, how does the if chain conversion behave on the example?
I don't see how can if-to-switch conversion pass help us here. It's designed to
identify compact intervals. In this case we see:
<bb 12> :
_16 = _2 & 576460752303423488;
if (_16 == 0)
goto <bb 13>; [INV]
else
goto <bb 72>; [INV]
<bb 13> :
_18 = _2 & 288230376151711744;
if (_18 == 0)
goto <bb 14>; [INV]
else
goto <bb 72>; [INV]
...
So it's a series of masking. Do you see Honza how to convert it?
More information about the Gcc-bugs
mailing list