-/**
- * Firm keepalive edges are broken (the user should really be the endless loop
- * and not the End node.) This wrong place of the user will lead to wrong
- * results in place_early()/place_late(). We work around these problems by not
- * moving nodes which just have keepalive edges as their users (or no users at
- * all)
- */
-static bool float_exceptions(const ir_node *node)
-{
- foreach_out_edge(node, edge) {
- ir_node *succ = get_edge_src_irn(edge);
- if (is_End(succ))
- continue;
- /* found a real user */
- return false;
- }
- return true;
-}
-