https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85964
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok, it's not this part of CFG cleanup but the remove_edge_and_domiated_blocks call in cleanup_control_expr_graph. With the reduced testcase we call it around 2000 times. The FSM thing of course is separate, looks like some quadraticness. I will see if I can somehow improve CFG cleanup (given it is called remove_edge_and_dominated_blocks avoiding dominators sounds hard...).