[Mesa-dev] [PATCH] Fix strict-aliasing violations in GLSL shader list implementation

Dave Airlie airlied at gmail.com
Tue Jun 23 19:41:30 PDT 2015


>> And do things with p2 and hope that p will get them, because
>> the compiler wants to store things its doing to p in registers,
>> and when you go and do something in p2 it can't work out it's the
>> same thing, so it has to spill/reload.
>
> Which I think is different from what Davin was saying, but I may be
> misunderstanding the whole thing.  That's why I'd like to see spec
> language.  The part that really gets me is that this is across a
> function boundary... that's generally a sacred line, so I'm surprised
> that the compiler is allowed to disregard what it's told in that scenario.

inlining makes function boundaries nothing, and gcc will really
try and inline things.

>
> I'd also like to see assembly dumps with and without
> -fno-strict-aliasing of some place where this goes wrong.  If you,
> Davin, or someone else can point out a specific function that actually
> does the wrong thing, I can generate assembly myself.
>
> For that matter... how the heck is the ralloc (or any memory allocator)
> implementation valid?

There are rules on types that can alias, void * and char * are allowed
unions are allowed.

Dave.


More information about the mesa-dev mailing list