We can use a RPO traversal in liveness to try to minimize the number of iterations we need, as suggested by @AndyAyersMS in https://github.com/dotnet/runtime/pull/86043#discussion_r1199099286. Another interesting experiment would be to compute strongly connected components and compute the fixpoint within each SCC.