On Fri, 2005-09-30 at 12:45 -0400, Richard Kenner wrote: > > What's special here is the pointer type, not the underlying type. > > Which means that everywhere that handles pointer types and aliasing has > to be modified to check this magic. > > At the RTL level, there's just one place that computes the alias set of an > expression and it knows about that flag. It was the only place that had > to be modified to support it, as I recall. One would hope that knowlege > of this semantics can be similarly localized at the tree level. Why can't it?
Because the RTL level only supports type based aliasing, and very simple TBAA at that. You are saying that an access through this pointer can point to anything, regardless of what we think it points to. This leaves 3 or 4 places at the tree level that need to be changed, and possibly more later as more aliasing techniques are added.