** Data Flow Analysis for a Block**

* Computed* and * killed* vectors for a basic block can be
found as follows:

- initially,
*comp := &empty*and*kill := &empty*. - for each statement
*v := a b*where*&alpha &larr a b*-
*comp := comp &cup { &alpha }* -
*kill := kill &cup kill*_{v} -
*comp := (comp - kill*_{v}) &cup { v }

*kill*is the set of all expressions involving_{v}*v*directly or indirectly and*(comp - kill*is set difference._{v}) -

Example: ` I := I + 1`

This statement first computes the expression ` I + 1`,
but then it kills it because it redefines ` I`.