store inEdges in BlockInfo; update state per edge

fixpoint iteration no longer mixes up old and new data