This is the mail archive of the
mailing list for the GCC project.
- From: Daniel Berlin <dan at cgsoftware dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: <bosch at gnat dot com>, <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 3 Dec 2001 16:55:14 -0500 (EST)
- Subject: Re: alias.c:nonoverlapping_component_refs_p
On Mon, 3 Dec 2001, Richard Kenner wrote:
> Even for C I'm not sure this is always safe. For example, if we have a
> struct in C with two tightly packed char's, then it may be the case
> that writing to one field requires updating both (presumably using
> masking to preserve the old value). How would one represent this kind
> of aliasing?
> I believe you are right: this can occur even in C, though a more common
> example is bit fields: two MEMs made for accesses to two different bits in
> the same byte will certainly alias, but this code will say they won't.
Errr, try it.
I just did, and it says they alias.
Accesses to a, b, and c all get marked as "test+0", and conflict.