[rfa] Fix PR44592: wrong code
Michael Matz
matz@suse.de
Fri Jun 25 18:16:00 GMT 2010
Hi,
On Fri, 25 Jun 2010, Michael Matz wrote:
> For callers of gimplify_and_update_call_from_tree() that possibly traverse
> the VOP chains we have to make the new sequence as a whole have the same
> effects as the original statements (from a VOP perspective), i.e.
> attaching the old VOPs to the new sequence. There was a latent ommission
> uncovered by my more general use of the above function. It involved
> transforming a call without LHS but VOPs (e.g. memcpy) into stores.
>
> Hence, we track the last store of the new sequence, and possibly attach
> the VOPs of the original statement to that one.
Actually, thinking about this, to be really conservative we must expect
multiple stores in the sequence, which still would be left in a broken
state. Luckily it's a linear sequence, so updating the VDEF chain therein
is easy (inventing new SSA names for the non-last VDEFs). I'm going to
rework the patch towards that.
Ciao,
Michael.
More information about the Gcc-patches
mailing list