The direction vector is defined as a sequence of direction vector elements (one element for each DO loop enclosing both statements involved in the dependence arc). The following symbols are direction vector elements: <, =, >, <, >, /, or *.
If line 12 in iteration I" depends on line 11 in
iteration I' , the element of the direction vector
for loop I is as follows:
direction vector element when < I' must be < I" = I' must be = I" > I' must be > I" <= I' must be < or = I" >= I' must be > or = I" / I' must not = I" * no relation between I' and I" can be proven
Consider the following loop:
DO Loops Line +--------- 10 DO 10 I = 1,N-1 | 11 A(I) = B(I) + C(I) | 12 C(I) = A(I-1) - 1 |_________ 13 10 CONTINUE
The dependence from A(I) to A(I-1) has a
direction vector of <, since the dependence flows from iteration
I' to iteration I'+1 and I'
< I'+1 . The data independence from C(I)
to C(I) has a direction vector of = because the
dependence stays in the same iteration of the loop (from iteration
I' to iteration I' ).