[PATCH] Remove special-casing of PTR_IS_REF_ALL pointers from alias analysis

Richard Guenther rguenther@suse.de
Thu May 1 13:40:00 GMT 2008


On Thu, 1 May 2008, Eric Botcazou wrote:

> > The RTL level uses get_alias_set on the RTX mem_expr and so will use
> > the alias set of *p, not of b (which would be pessimizing a trivially
> > easy to get right case).  Remember that for example for
> >
> > struct X { int x; } x; struct Y { int y; } y;
> >
> > x.x and y.y don't conflict, but they would if you'd use the alias set
> > for int.  x.x and int *p; *p still conflict, as int is a subset of
> > X aliases.
> 
> The purpose of DECL_NONADDRESSABLE_P is precisely to avoid making int's set a 
> subset of struct X's set, i.e to avoid making *p conflict with X.x.
> 
> See record_component_aliases.

Fair enough that at least makes it somewhat useful (a patch to
add this information to tree.h is pre-approved ;)).

Richard.



More information about the Gcc-patches mailing list