------- Comment #1 from spop at gcc dot gnu dot org 2009-08-19 16:02 ------- > since both a and b have alias set 0, > a[0][i0] and b[0][i1] are considered independent for i0 != i1.
You mean mem[0][i0] and mem[0][i1], and in your example for (i = 0; i < n; i++) mem[0][i] = mem[0][i]; that would be a read and a write in the same location: that means that there is no dependence carried by the loop, and thus the loop is considered parallel. Yes this is a bug in the data dependence analysis. I wonder why the alias analysis improvements by Li do not assign different alias sets for "a" and "b" in this case. I will have to try to reproduce this bug first. Sebastian -- spop at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |spop at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-08-19 16:02:20 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41118