> > Aggregate copies and memcpy transferring the dynamic type for example. Being > able to tbaa union accesses for another. And yes, placement new.
I see that if we previously dropped all union accesses to 0, the current scheme is nice improvement. But it seem to me it may be in use only when one of accesses is through union. How the memcpy case works? I always tought that memcpy does reads&writes in set 0 that makes it to introduce the necessary conflicts. Similarly can't we make set 0 clobber of the memory retyped by placement new? If the clobber is hidden in external function call, we still have it as a side effect of the call. It would have to survive all the way down to RTL... Honza