projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed broken builtins and added some comments
[libfirm]
/
ir
/
be
/
beifg.c
diff --git
a/ir/be/beifg.c
b/ir/be/beifg.c
index
9afe66d
..
f919612
100644
(file)
--- 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)
{
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)
{
}
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;
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);
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)
}
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)
{
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);
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;
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) {
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)
{
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);
}
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 */
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;
}
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->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));
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 *b
irg, 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;
{
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;
ir_node *n;
@@
-410,11
+412,11
@@
static int int_component_stat(be_irg_t *birg, be_ifg_t *ifg)
return n_comp;
}
return n_comp;
}
-void be_ifg_stat(
be_irg_t *b
irg, 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;
{
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]));
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(
b
irg, ifg);
+ stat->n_comps = int_component_stat(irg, ifg);
bitset_free(nodes);
}
bitset_free(nodes);
}