On Fri, 2005-04-08 at 13:27 -0400, Andrew MacLeod wrote: > > > What are these uses? The later uses are scalar reads from the same memory location.
> If they are references to things that aliased > *D.1470_8, we should eliminate the VUSE/MAYDEF, shouldnt we? I presume > they arent relevant any more if vec_px.17 isnt in the same alias set. I would expect them to be relevant -- we're hitting the precise same memory location -- just in vector form rather than in scalar form. For the alias not to be relevant would indicate that vectorization actually improved alias analysis. > And if they are relevant, then we need to find out what the new variable > is, and change all the uses to the new one I'm not sure I follow. What needs to happen is that we either need to ensure that the vector memory dereference has the same alias sets as the scalar dereference, rewrite all the downstream users to some aggregate alias set, or carry the V_MAY_DEF operands forward, even if it's not obvious to the operand code that the statement uses/sets a particular V_MAY_DEF anymore. jeff