X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeifg_std.c;h=e040888a934d10227eb2ef00e4bd8d3992cd9d01;hb=4ed245f5007168dab7850942a7ee6b6b29a19817;hp=8feeefada42225bb98dab1c96579bc6984ed6442;hpb=23b71abac8014aa6bfee3b47648fdb8fe8687b8f;p=libfirm diff --git a/ir/be/beifg_std.c b/ir/be/beifg_std.c index 8feeefada..e040888a9 100644 --- a/ir/be/beifg_std.c +++ b/ir/be/beifg_std.c @@ -41,7 +41,8 @@ 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; + return values_interfere(ifg->env->lv, a, b); } typedef struct _nodes_iter_t { @@ -77,6 +78,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 +134,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->lv, block, it->irn) && block != get_nodes_block(it->irn)) return; foreach_border_head(head, b) { @@ -235,7 +237,7 @@ static INLINE int get_next_clique(cliques_iter_t *it) { int output_on_shrink = 0; struct list_head *head = get_block_border_head(it->cenv, it->blocks[it->blk]); - /* on entry to a new block set the first border ... + /* on entry to a new block set the first border ... */ if (!it->bor) it->bor = head->prev; @@ -284,7 +286,7 @@ static int ifg_std_cliques_begin(const void *self, void *iter, ir_node **buf) { const ifg_std_t *ifg = self; cliques_iter_t *it = iter; - ir_node *start_bl = get_irg_start_block(it->cenv->irg); + ir_node *start_bl = get_irg_start_block(ifg->env->irg); obstack_init(&it->ob); dom_tree_walk(start_bl, get_blocks_dom_order, NULL, it); @@ -342,7 +344,7 @@ static const be_ifg_impl_t ifg_std_impl = { be_ifg_t *be_ifg_std_new(const be_chordal_env_t *env) { - ifg_std_t *ifg = malloc(sizeof(*ifg)); + ifg_std_t *ifg = xmalloc(sizeof(*ifg)); ifg->impl = &ifg_std_impl; ifg->env = env;