use optimize_graph_df
[libfirm] / ir / be / betranshlp.c
index 6a81fa1..93f7758 100644 (file)
@@ -170,13 +170,13 @@ void be_enqueue_preds(ir_node *node) {
 static void fix_loops(ir_node *node) {
        int i, arity;
 
+       assert(node_is_in_irgs_storage(env.irg, node));
+
        if (irn_visited(node))
                return;
 
        mark_irn_visited(node);
 
-       assert(node_is_in_irgs_storage(env.irg, node));
-
        if (! is_Block(node)) {
                ir_node *block     = get_nodes_block(node);
                ir_node *new_block = get_irn_link(block);
@@ -405,4 +405,9 @@ void be_transform_graph(be_irg_t *birg, arch_pretrans_nodes *func, void *cg)
        /* recalculate edges */
        edges_deactivate(irg);
        edges_activate(irg);
+
+       if (birg->lv) {
+               be_liveness_free(birg->lv);
+               birg->lv = be_liveness(birg->irg);
+       }
 }