fixed some minor bugs
[libfirm] / ir / be / beifg.c
index d59302c..7f9a897 100644 (file)
 #include "irprintf.h"
 #include "beifg_t.h"
 
-size_t (be_ifg_iter_size)(const void *self)
+size_t (be_ifg_nodes_iter_size)(const void *self)
 {
        const be_ifg_t *ifg = self;
-       return ifg->impl->iter_size;
+       return ifg->impl->nodes_iter_size;
+}
+
+size_t (be_ifg_neighbours_iter_size)(const void *self)
+{
+       const be_ifg_t *ifg = 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)
@@ -55,6 +67,12 @@ ir_node *(be_ifg_neighbours_next)(const void *self, void *iter)
        return ifg->impl->neighbours_next(self, iter);
 }
 
+void (be_ifg_neighbours_break)(const void *self, void *iter)
+{
+       const be_ifg_t *ifg = self;
+       ifg->impl->neighbours_break(self, iter);
+}
+
 ir_node *(be_ifg_nodes_begin)(const void *self, void *iter)
 {
        const be_ifg_t *ifg = self;
@@ -67,6 +85,30 @@ ir_node *(be_ifg_nodes_next)(const void *self, void *iter)
        return ifg->impl->nodes_next(self, iter);
 }
 
+void (be_ifg_nodes_break)(const void *self, void *iter)
+{
+       const be_ifg_t *ifg = self;
+       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;
@@ -77,7 +119,7 @@ int (be_ifg_degree)(const void *self, const ir_node *irn)
 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_iter_alloca(ifg);
+       void *iter = be_ifg_neighbours_iter_alloca(ifg);
 
        ir_node **neighbours = malloc(degree * sizeof(neighbours[0]));
 
@@ -100,10 +142,10 @@ int be_ifg_is_simplicial(const be_ifg_t *ifg, const ir_node *irn)
        return 1;
 }
 
-void be_fg_check(const be_ifg_t *ifg)
+void be_ifg_check(const be_ifg_t *ifg)
 {
-       void *iter1 = be_ifg_iter_alloca(ifg);
-       void *iter2 = be_ifg_iter_alloca(ifg);
+       void *iter1 = be_ifg_nodes_iter_alloca(ifg);
+       void *iter2 = be_ifg_neighbours_iter_alloca(ifg);
 
        ir_node *n, *m;