Re: gcc inlining heuristics was Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning

H. Peter Anvin
2009-01-12T19:27:08Z

Andi Kleen wrote:
> On Mon, Jan 12, 2009 at 11:02:17AM -0800, Linus Torvalds wrote:
>>> Something at the back of my mind said "aliasing".
>>>
>>> $ gcc linus.c -O2 -S ; grep subl linus.s
>>> subl $1624, %esp
>>> $ gcc linus.c -O2 -S -fno-strict-aliasing; grep subl linus.s
>>> subl $824, %esp
>>>
>>> That's with 4.3.2.
>> Interesting.
>>
>> Nonsensical, but interesting.
>
> What I find nonsensical is that -fno-strict-aliasing generates
> better code here. Normally one would expect the compiler seeing
> more aliases with that option and then be more conservative
> regarding any sharing. But it seems to be the other way round
> here.

For this to be convolved with aliasing *AT ALL* indicates this is done
incorrectly.

This is about storage allocation, not aliases. Storage allocation only
depends on lifetime.

-hpa