Strenghten assumption about dynamic type changes (placement new)

Richard Biener richard.guenther@gmail.com
Thu Jul 24 12:25:00 GMT 2014


On Thu, Jul 24, 2014 at 12:46 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>
>> 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.

Yes, that's possible now (with MEM_REF), previously it was not
and the memory model "fixed" it.

> Similarly can't we make set 0 clobber of the memory retyped by placement new?

We don't have a way to do that, but yes, we could.  But as said, for PODs
you don't even need placement new.  You can just store with a new type.

Richard.

> 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



More information about the Gcc-patches mailing list