1:OUT[ENTRY]=∅
2:for each basic block B∈V(CFG)−{ENTRY} do
3:OUT[B]=∅
4:end for
5:repeat
6:for each basic block B∈V(CFG)−{ENTRY} do
7:IN[B]=P∈pre(B)⋃OUT[P]
8:OUT[B]=genB∪(IN[B]−killB)
9:end for
10:until no changes to any OUT[B] of basic block B∈V(CFG)−{ENTRY} occur