This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Make alias_sets_conflict_p less conservative
On Wed, 5 Mar 2008, Richard Kenner wrote:
> > > > This effectively makes a set with an alias-set zero child equivalent
> > > > to alias-set zero itself, which doesn't make sense.
> > >
> > > It's not equivalent, but close.
> > It _is_ equivalent to alias set zero, as every member in either set
> > is a member of the other set.
> This is a distinction without a difference. Just because something
> conflicts with all other alias sets doesn't mean that it *is* alias
> set zero, just that it *acts* like it.
> > Now, lets assume we don't want a alias set zero member to leak all its
> > children.
> But why do you assume that? It's wrong. It's no more correct than
> saying that it shouldn't "leak" a child of some other particular alias set.
> > The question remains, in which practical cases we _do_ want the
> > behavior that an alias set zero member makes the set itself effectively
> > alias set zero.
> In any case where a member is alias set zero for a reason.
> > (I can't think of a C structure where we want this behavior)
> I can't either, but the fix is to not make 'char' alias set zero!
Well, that's true. But this fix will be way more involved than my
patch which works as well (fix for PR35472 is in testing).
So I'm still inclined to go with my patch with adding a big'n'fat