http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46194
--- Comment #7 from sebpop at gmail dot com <sebpop at gmail dot com> 2011-02-03 18:11:09 UTC --- Here is the loop kernel from block-0.c for (i = 0; i < N; i++) for (j = 0; j < N; j++) a[j] = a[i] + 1; On Fri, Dec 31, 2010 at 06:01, jakub at gcc dot gnu.org <gcc-bugzi...@gcc.gnu.org> wrote: > access_fn_A: {0, +, 1}_1 > access_fn_B: {0, +, 1}_2 > > (subscript > iterations_that_access_an_element_twice_in_A: [0 + 1 * x_1] > last_conflict: 1000 > iterations_that_access_an_element_twice_in_B: [0 + 1 * x_1] I think that this representation of affine functions is wrong: the access in B should read [0 + 0 * x_1 + 1 * x_2] and that would not lead to a wrong conclusion like the following... > last_conflict: 1000 > (Subscript distance: 0 > ) > ) > inner loop index: 0 > loop nest: (1 2 ) > distance_vector: 0 0 > direction_vector: = = > )