start register allocator again, fix typo
[libfirm] / ir / be / beifg_std.c
index 8a219c5..226ddd3 100644 (file)
@@ -41,7 +41,9 @@ static void ifg_std_free(void *self)
 
 static int ifg_std_connected(const void *self, const ir_node *a, const ir_node *b)
 {
-       return values_interfere(a, b);
+       const ifg_std_t *ifg = self;
+       be_lv_t *lv = ifg->env->birg->lv;
+       return values_interfere(lv, a, b);
 }
 
 typedef struct _nodes_iter_t {
@@ -77,6 +79,7 @@ static void find_nodes(const void *self, void *iter) {
        it->env   = ifg->env;
 
        irg_block_walk_graph(ifg->env->irg, nodes_walker, NULL, iter);
+       obstack_ptr_grow(&it->obst, NULL);
        it->nodes = obstack_finish(&it->obst);
 }
 
@@ -132,7 +135,7 @@ static void find_neighbour_walker(ir_node *block, void *data)
        border_t *b;
        int has_started = 0;
 
-       if(!is_live_in(block, it->irn) && block != get_nodes_block(it->irn))
+       if(!be_is_live_in(it->env->birg->lv, block, it->irn) && block != get_nodes_block(it->irn))
                return;
 
        foreach_border_head(head, b) {