Patches ping

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Wed May 4 20:39:00 GMT 2005


Hello,

> On Wed, 2005-05-04 at 15:23, Devang Patel wrote:
> > On May 4, 2005, at 11:44 AM, Zdenek Dvorak wrote:
> > 
> > > The problem is known for about a month now, and nobody bothered to do
> > > anything about it.
> > 
> > IIRC, one problem in this area was fixed By Diego and/or Jeff. In any  
> > case,
> > it would be useful if you provide more info to refresh our memory.
> 
> I don't know what the issue was. You can see it yourself if you apply
> the patch. basically, at the end of the vectorizing pass, there are
> statements which if you call update_stmt() on them, they get a different
> set of operands. This means they needed to be updated during the pass
> because they are out of date when the pass is over.
> 
> in the example I had in gen-vect-11.c  
> 
> before updating:
> 
> #   VUSE <ib_57>;
> vect_var_.6_1 = *vect_pib.7_2;
> 
> And after updating:
> 
> #   VUSE <ia>;
> #   VUSE <ic>;
> #   VUSE <ib_57>;
> vect_var_.6_1 = *vect_pib.7_2;
> 
> AS you can see, calling update_stmt on this stmt has added 2
> additionally VUSES. I'm guessing this is alias related adn that the
> alias sets for vect_pib.7_2 hgave changed, but that this stmt wasn't
> updated after the alias sets were changed.

the reason is that vect_pib does not have the aliasing info set
correctly.  The virtual operands the statement has should indeed
be just VUSE <ib_57>, but if I remember correctly, vect_pib.7_2
does not have name tag set and consequently is set to alias all
three arrays.

Zdenek



More information about the Gcc-patches mailing list