Incorrect bitfield aliasing with Tree SSA
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Sun Jun 17 03:26:00 GMT 2007
> You guys have come up with a very weird idea of what
> non-addressability means. These fields are all addressable, they
> are just not directly addressable.
Terminology is always tricky here. "addressable" in this context means
that no pointer can point directly to the field.
So if I have
struct foo {int x; float y; } bar;
int *pi;
float *pf;
and mark X as "nonaddressable", I know that an assigment to *pi can't
affect bar.x. But if Y isn't similarly marked, an assignment to *pf MIGHT
affect bar.y unless I could somehow prove by value tracking that it can't.
More information about the Gcc
mailing list