In compilers and other programming structure tools, we need to know the data dependence direction vector and data dependence distance vector that describe the relation between iterations conflicting reads writes occur. When an integer programming problem is formulated to determining if any dependence exits between two references, the Omega test project this problem on the dependence distance variables and find the solution [1,2,3]. for example, the dependences for the fallowing array pair
for j=0 to 20
for i=max(-j,-10) to 0
for k= max(-j,-10)-i to -1
for l=0 to 5 do
.....
A[l][i][j] = ......
....... = A[l][k][i+j]
....
end
end
end
end
simplify to:
