------- Additional Comments From sebastian dot pop at cri dot ensmp dot fr 2005-09-14 12:38 ------- Subject: Re: [data deps] Distance on outer loops for self output deps
In this case neither implementation got the dependece right: there are bugs in both implementations. For the following nested loop: loop_1 loop_2 A[5] = ... end_loop_2 end_loop_1 BAD would answer: (1, 1), that would mean that for getting the same access we'd have to run loop_1 once *and* loop_2 once: this is false. BOP would answer: (0, 0), that would mean that neither loop_1 nor loop_2 carry dependences, in other words, both loops are parallel: this is false. The right answer is a set of distance vectors: (0, 1) and (1, 0). For getting to the same element in the array we have to run loop_1 once *or* loop_2 has to run once. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23411