A global forward substitution pass finds relations between variables that do not necessarily depend on the loop index variables, such as the following one:
NP1 = N + 1 DO 10 I = 1,M A(I,N) = A(I-1,NP1) 10 CONTINUE
Becomes:
NP1 = N + 1 DO 2 I=1,M A(I,N) = A(I-1,N+1) 2 CONTINUE
Here, the relation between N
and NP1
is
known and the assumed data dependence relation is broken.