[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