[sa]: Revert partial def stuff, use fake variables instead

Daniel Berlin dberlin@dberlin.org
Mon Dec 20 14:50:00 GMT 2004



On Mon, 20 Dec 2004, Zdenek Dvorak wrote:

> Hello,
>
>>> this is basically what I do now.  The problematic case is if you turn a[i]
>>> into *newiv_1.  Then we have to get tags for the newiv_1 pointer, which
>>> is problematic (see the discussion following
>>> http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01897.html for details).
>>
>> If you have turned a non-pointer access into a pointer access, then you
>> *have* to either rerun alias analysis, or create name/type tags with the
>> approriate aliases (if you know them).
>
> which seems terribly wrong to me.  Why should I need to change anything
> so complicated, when I did not make any change that should affect
> results of alias analysis?

But you did.
You created a new pointer, and a new pointer access.
That changes the results of alias analysis, because that pointer may point 
to things, and we need to know what it points to.

>   It just speaks of a wrong design to me
> (and since you are now making significant changes to the system, would
> not it be a nice opportunity to change it? :-)

When you create pointers, you need to fill in their alias information, one 
way or the other (ie by calling the alias pass, or by adding a new tag).

I'm not sure what you think is broken about that.
When you change the results of an analysis, you need to fix up the 
results of that analysis, if they are still being used.
--Dan



More information about the Gcc-patches mailing list