------- Comment #6 from rguenth at gcc dot gnu dot org 2009-09-03 11:40 -------
This looks like your restrict changes get in the way. We have
y_13 = (real(kind=8) & restrict) &y;
..
*y_13 = D.1416_35;
...
D.1412_51 = y;
so one access via the plain y gets re-introduced by forwprop somehow and
somehow we conclude y_13 cannot point to it. Hmmm. My bet is on the
TBAA "hack" by micha here ... the local variables have a different alias-set
than the pointed-to type in the parameter.
Micha - that's quite unfortunate, and I think the only way out is to not
do this TBAA trick if the address of such variable is taken - which also
means "always" for global vars. Ugh.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org, matz at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41212