------- 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

Reply via email to