This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Make alias_sets_conflict_p less conservative
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rguenther at suse dot de
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 04 Mar 2008 18:55:20 EST
- Subject: Re: [PATCH] Make alias_sets_conflict_p less conservative
- References: <Pine.LNX.4.64.0803042155430.4133@zhemvz.fhfr.qr>
> This makes alias_sets_conflict_p less conservative. rev 34373 (Kenner)
> added a check that makes a structure containing a member with alias
> set zero alias everything. Which IMHO is non-obvious and pessimizes
> for example the testcase in PR27799. Richard, can you explain this
> change?
I'm not certain, but I think it goes like this: if a structure has
a member with alias set X (nonzero), we normally mark the alias sets
in such a way that the alias set of the structure as a whole conflicts
with alias set X. But if X is zero, the subsetting mechanism doesn't
allow doing that. So we have to do it explicitly, like in this code.
In other words, this is exactly analogous to the non-zero alias set
of a field case.