X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeifg.c;h=4ab30247844059757354cb883f37ecf1426fce16;hb=6e3e499d6c68aee0c6a9ada6a99f16c4f6f8445b;hp=76ca11cc3da397437cc22da555533c29376da781;hpb=e4766594e9640777c92da56f37dbdce7b41385a0;p=libfirm diff --git a/ir/be/beifg.c b/ir/be/beifg.c index 76ca11cc3..4ab302478 100644 --- a/ir/be/beifg.c +++ b/ir/be/beifg.c @@ -37,6 +37,12 @@ size_t (be_ifg_neighbours_iter_size)(const void *self) return ifg->impl->neighbours_iter_size; } +size_t (be_ifg_cliques_iter_size)(const void *self) +{ + const be_ifg_t *ifg = self; + return ifg->impl->cliques_iter_size; +} + void (be_ifg_free)(void *self) { be_ifg_t *ifg = self; @@ -85,6 +91,24 @@ void (be_ifg_nodes_break)(const void *self, void *iter) ifg->impl->nodes_break(self, iter); } +int (be_ifg_cliques_begin)(const void *self, void *iter, ir_node **buf) +{ + const be_ifg_t *ifg = self; + return ifg->impl->cliques_begin(self, iter, buf); +} + +int (be_ifg_cliques_next)(const void *self, void *iter) +{ + const be_ifg_t *ifg = self; + return ifg->impl->cliques_next(self, iter); +} + +void (be_ifg_cliques_break)(const void *self, void *iter) +{ + const be_ifg_t *ifg = self; + ifg->impl->cliques_break(self, iter); +} + int (be_ifg_degree)(const void *self, const ir_node *irn) { const be_ifg_t *ifg = self; @@ -97,7 +121,7 @@ int be_ifg_is_simplicial(const be_ifg_t *ifg, const ir_node *irn) int degree = be_ifg_degree(ifg, irn); void *iter = be_ifg_neighbours_iter_alloca(ifg); - ir_node **neighbours = malloc(degree * sizeof(neighbours[0])); + ir_node **neighbours = xmalloc(degree * sizeof(neighbours[0])); ir_node *curr; int i, j;