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

H. Peter Anvin
2009-01-21T01:27:03Z

Ingo Molnar wrote:
>
> Hm, GCC uses __restrict__, right?
>
> I'm wondering whether there's any internal tie-up between alias analysis
> and the __restrict__ keyword - so if we turn off aliasing optimizations
> the __restrict__ keyword's optimizations are turned off as well.
>

Actually I suspect that "restrict" makes little difference for inlines
or even statics, since gcc generally can do alias analysis fine there.
However, in the presence of an intermodule function call, all alias
analysis is off. This is presumably why type-based analysis is used at
all ... to at least be able to a modicum of, say, loop invariant removal
in the presence of a library call. This is also where "restrict" comes
into play.

-hpa