This is the mail archive of the
mailing list for the GCC project.
Re: [patch] for PR17474
- From: Dorit Naishlos <DORIT at il dot ibm dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 21 Sep 2004 11:50:41 +0300
- Subject: 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).
<dnovillo@redhat. To: Zdenek Dvorak <firstname.lastname@example.org>
com> cc: "email@example.com" <firstname.lastname@example.org>, 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?