X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fbe%2Fbeifg.c;h=f9196129529b8771c7421553f820fc0307882208;hb=a28a95092a50a01896568c2d09484a6cc97509eb;hp=9afe66dd59567aa4af34cccf7a4cf02941968b78;hpb=3a655a311371c919abe77558a5ef6986fc4be093;p=libfirm diff --git a/ir/be/beifg.c b/ir/be/beifg.c index 9afe66dd5..f91961295 100644 --- a/ir/be/beifg.c +++ b/ir/be/beifg.c @@ -56,12 +56,13 @@ void be_ifg_free(be_ifg_t *self) int be_ifg_connected(const be_ifg_t *ifg, const ir_node *a, const ir_node *b) { - return be_values_interfere(ifg->env->birg->lv, a, b); + be_lv_t *lv = be_get_irg_liveness(ifg->env->irg); + return be_values_interfere(lv, a, b); } static void nodes_walker(ir_node *bl, void *data) { - nodes_iter_t *it = data; + nodes_iter_t *it = (nodes_iter_t*)data; struct list_head *head = get_block_border_head(it->env, bl); border_t *b; @@ -82,7 +83,7 @@ static void find_nodes(const be_ifg_t *ifg, nodes_iter_t *iter) irg_block_walk_graph(ifg->env->irg, nodes_walker, NULL, iter); obstack_ptr_grow(&iter->obst, NULL); - iter->nodes = obstack_finish(&iter->obst); + iter->nodes = (ir_node**)obstack_finish(&iter->obst); } static inline void node_break(nodes_iter_t *it, int force) @@ -123,13 +124,14 @@ void be_ifg_nodes_break(nodes_iter_t *iter) static void find_neighbour_walker(ir_node *block, void *data) { - neighbours_iter_t *it = data; + neighbours_iter_t *it = (neighbours_iter_t*)data; struct list_head *head = get_block_border_head(it->env, block); + be_lv_t *lv = be_get_irg_liveness(it->env->irg); border_t *b; int has_started = 0; - if (!be_is_live_in(it->env->birg->lv, block, it->irn) && block != get_nodes_block(it->irn)) + if (!be_is_live_in(lv, block, it->irn) && block != get_nodes_block(it->irn)) return; foreach_border_head(head, b) { @@ -209,7 +211,7 @@ static inline void free_clique_iter(cliques_iter_t *it) static void get_blocks_dom_order(ir_node *blk, void *env) { - cliques_iter_t *it = env; + cliques_iter_t *it = (cliques_iter_t*)env; obstack_ptr_grow(&it->ob, blk); } @@ -248,8 +250,8 @@ static inline int get_next_clique(cliques_iter_t *it) ir_node *irn; /* fill the output buffer */ - for (irn = pset_first(it->living); irn != NULL; - irn = pset_next(it->living)) { + for (irn = (ir_node*)pset_first(it->living); irn != NULL; + irn = (ir_node*)pset_next(it->living)) { it->buf[count++] = irn; } @@ -283,7 +285,7 @@ int be_ifg_cliques_begin(const be_ifg_t *ifg, cliques_iter_t *it, it->cenv = ifg->env; it->buf = buf; it->n_blocks = obstack_object_size(&it->ob) / sizeof(void *); - it->blocks = obstack_finish(&it->ob); + it->blocks = (ir_node**)obstack_finish(&it->ob); it->blk = 0; it->bor = NULL; it->living = pset_new_ptr(2 * arch_register_class_n_regs(it->cenv->cls)); @@ -386,11 +388,11 @@ static void int_comp_rec(be_ifg_t *ifg, ir_node *n, bitset_t *seen) } -static int int_component_stat(be_irg_t *birg, be_ifg_t *ifg) +static int int_component_stat(ir_graph *irg, be_ifg_t *ifg) { int n_comp = 0; nodes_iter_t nodes_it; - bitset_t *seen = bitset_irg_malloc(birg->irg); + bitset_t *seen = bitset_irg_malloc(irg); ir_node *n; @@ -410,11 +412,11 @@ static int int_component_stat(be_irg_t *birg, be_ifg_t *ifg) return n_comp; } -void be_ifg_stat(be_irg_t *birg, be_ifg_t *ifg, be_ifg_stat_t *stat) +void be_ifg_stat(ir_graph *irg, be_ifg_t *ifg, be_ifg_stat_t *stat) { nodes_iter_t nodes_it; neighbours_iter_t neigh_it; - bitset_t *nodes = bitset_irg_malloc(birg->irg); + bitset_t *nodes = bitset_irg_malloc(irg); ir_node *n, *m; memset(stat, 0, sizeof(stat[0])); @@ -427,6 +429,6 @@ void be_ifg_stat(be_irg_t *birg, be_ifg_t *ifg, be_ifg_stat_t *stat) } } - stat->n_comps = int_component_stat(birg, ifg); + stat->n_comps = int_component_stat(irg, ifg); bitset_free(nodes); }