This is the mail archive of the
mailing list for the GCC project.
Re: [sa]: Revert partial def stuff, use fake variables instead
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).
We don't currently verify that you don't create duplicate type/name tags
(ie tags with the same variables pointed to)
but they actually aren't allowed, which makes your job more complicated.
It may be easiest to just have an external interface for creating tags
with a known points-to set, and taking care of all the magic
involved inside tree-ssa-alias, which knows how to do this stuff right.