------- Comment #17 from rakdver at kam dot mff dot cuni dot cz  2010-07-07 
10:09 -------
Subject: Re:  [4.6 regression] RTL loop
        unrolling causes FAIL: gcc.dg/pr39794.c

> (In reply to comment #15)
> > Subject: Re:  [4.6 regression] RTL loop
> >         unrolling causes FAIL: gcc.dg/pr39794.c
> > 
> > I am not sure what you mean -- I may be misunderstanding how rtl alias 
> > analysis
> > works, but as far as I can tell, what unroller does (just preserving the
> > MEM_ATTRs) is conservatively correct (so, potentially it may make us believe
> > that there are dependences that are not really present, but it should not 
> > cause
> > a wrong-code bug).
> 
> Consider this simplified example:
> 
> for (i ...)
>   {
> /*A*/  t = a[i];
> /*B*/  a[i+1] = t;
>   }
> MEM_ATTRS would indicate that memory references in A and B do not alias.

but this is clearly wrong, since B in iteration X aliases with A in iteration
X+1.
So, not a problem in unroller.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44838

Reply via email to