This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Remove special-casing of PTR_IS_REF_ALL pointers from alias analysis
> a pointer to "int" can access "foo" and a pointer to "float" can
> access "foo". through a pointer of "foo" you cannot access a
> bare "int" or "float" object. Thus the access p->a is
> more "precise" than an access *q (with int *q).
But the ACCESS is still there, unchanged. The issue is what ALIAS SET
is to be used. The alias set that will conflict with the least other
references, which is what I'd call "the most precise", is the alias set
for "int".
> On the tree level we take advantage of the fact that foo is not a
> subset of int, but int is a subset of foo. If the RTL level doesn't
> ask questions that allows to take advantage of that distinction -
> too bad.
I don't follow. Obviously, a lot of information is used to determine
whether two things can conflict. ONE of those things is the alias set
and that's the only one we're talking about here.