This is the mail archive of the gcc-patches@gcc.gnu.org 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: [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


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