|
|
9.4.1 Equations for Live Variable Analysis
The equations for live variables resemble those for except that
the data "flows backwards" from the Out's to the In's rather than from the In's to the
Out's. Note that In still refers to the "top" of a block and Out to the "bottom", with
"top" referring to the part of a block where there is the head of an arrow, and "bottom" meaning a tail.
Transfer Equation
New information transfers from the end to the beginning of a block. We define Gen
and Kill, however, as follows:
Kill (B) : {variables defined in B}
Gen (b) : {variables used before a redefinition in B}
In(B) = (Out(B) - Kill(B)) Gen(B)
Confluence Rule
The confluence rules for back wards flow are really "divergence rules".
Out (B) = In(S)
S Succ(B)
|