This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] for PR17474

> Dorit, how did you fix the aliasing information in this case?

The same way. I use arr as the type tag of the new pointer, and mark all
it's aliases for renaming.

Back at the summit we discussed two ways of handling this -
either (1) create a new type tag (along with copying all the may-aliases
and creating new name tags),
or (2) copy over the type tag from the original pointer and mark its
aliases for renaming. We did not discuss the case of an array (probably
because it was already working at the time).


                      Diego Novillo                                                                                                  
                      <dnovillo@redhat.        To:       Zdenek Dvorak <>                            
                      com>                     cc:       "" <>, Dorit                  
                      21/09/2004 00:00         Subject:  Re: [patch] for PR17474                                                     

On Mon, 2004-09-20 at 16:50, Zdenek Dvorak wrote:

> int *tmp;
> for (tmp = &arr, i = 0; i < 100; tmp++, i++)
>   *tmp = i;
> We need to set up the memory tag for tmp.
Ah, yes.  What you need is to run alias analysis again.  But in this
case, you know tmp always points to arr, and only arr.  So just create a
new type tag for tmp, add arr to the tag's alias set and be done with

The latter should be inside some function exported from
tree-ssa-alias.c.  ISTR Dorit having to do something similar in the
vectorizer that we talked about during the summit.  Dorit, how did you
fix the aliasing information in this case?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]