next up previous
Next: Capabilities of the Up: No Title Previous: Motivation

Omega Test

If we try to tell briefly what the omega test is, it is a system for manipulating sets of affine constraints over integer variable. The omega Test determines whether there is an integer solution to an arbitrary set of linear equalities and inequalities.

The omega test initially used in array data dependency testing [1]. Data dependency problem is equivalent to deciding whether there exits an integer solution to a set of linear equalities and inequalities. An assignment to array element in two nested loops (outer loop index i and inner loop index j) in code segment is an example of data dependency, it can be formulated as an integer programming by putting constraints on the loop variables (inequalities) and assignments (equalities). the omega test try to give yes/no answer to question ``is there an integer solution that satisfy those equalities and inequalities'' [1]. This property of the omega test is suitable for use in production compilers. Also, in the later researches the omega test was extended to be able to project integer programming problem onto subset of variables other than deciding them. By this extension, the omega test was able to used directly in deciding the validity of program transformation, calculating direction and distance vector of data dependencies. Before give some details of usage of the omega test, I want to give brief information about some capabilities of it.





Generated by latex2html-95.1
Fri Jul 12 14:53:37 EDT 1996