This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [sa]: Revert partial def stuff, use fake variables instead
Hello,
> > > > 2) To make things even more funny, we require that the ssa names with
> > > > the same pt_vars also have the same tag.
> > >
> > > This is also true, because it's necessary if we group.
> > > This is because the grouping algorithms may cause us to use the NMT
> > > name, instead of it's aliases, as the alias.
> > >
> > > If you have different names for the same set of pointed-to pointers, you
> > > either
> > > 1. are screwed
> > > 2. have to make sure to mark anything with the same set of pointed-to
> > > pointers as being in the same sets anyway, which causes the same
> > > quadratic behavior.
> >
> > see group_aliases. We already have to look for pointers whose may-alias
> > set intersects with the group that is merged together.
>
> group_aliases doesn't run all the time, it only runs if number_of_vops >
> MAX_ALIASED_VOPS.
>
> So you can't rely on it to do this for you.
well, your argument was that we must keep nmt's unique, since otherwise
group_aliases would be quadratic, as far as I understand. Since it is
already quadratic, this does not seem to be an issue.
> > 1) Find a pointer with largest pt_vars set S.
> > 2) Create a new tag T to represent the set of variables S.
>
> You just said you don't want NMT's, so what is this "create new tag"
> stuff.
You need to put something to virtual operands; I just need some
representant for the newly created group.
> NMT's are really just placeholders for pt_vars and the pt_* flags.
They are not; these are stored directly at the pointers.
Zdenek