This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: alias.c:nonoverlapping_component_refs_p
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: bosch at gnat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 3 Dec 01 16:34:19 EST
- Subject: Re: alias.c:nonoverlapping_component_refs_p
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.