Contents    Page-10    Prev    Next    Page+10    Index   

Data Flow Analysis:
Definition and Reference of Variables

We assume that each variable is assigned a unique bit number so that it can be used in bit vectors. Likewise, each compiler variable or subexpression α ← a ° b is assigned a bit number.

A variable is defined each time it is assigned a value. A variable is referenced ( used) whenever its value is read.

The statement x := a * b first references a and b and then defines x.

The statement i := i + 1 references i, then defines i.

A computation a ° b is redundant if its value is available in some variable α .

A subexpression is computed whenever it appears in an expression. A subexpression is killed if any of its components is defined or killed.

The statement x[i*3] := a * b computes a * b and i * 3 and kills x[ anything ] .