from
The Free On-line Dictionary of Computing (8 July 2008)
data flow analysis
<programming> A process to discover the dependencies between
different data items manipulated by a program. The order of
execution in a {data driven} language is determined solely by
the data dependencies. For example, given the equations
1. X = A + B
2. B = 2 + 2
3. A = 3 + 4
a data-flow analysis would find that 2 and 3 must be evaluated
before 1. Since there are no data dependencies between 2 and
3, they may be evaluated in any order, including in parallel.
This technique is implemented in {hardware} in some
{pipelined} processors with multiple {functional units}. It
allows instructions to be executed as soon as their inputs are
available, independent of the original program order.
(1996-05-13)