+process first_id block_live [] next_round accum madeProgress
+ | not madeProgress
+ = pprPanic "RegAlloc.Linear.Main.process: no progress made, bailing out"
+ ( text "stalled blocks:"
+ $$ vcat (map ppr next_round))
+
+ | otherwise
+ = process first_id block_live
+ next_round [] accum False