X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeifg_list.c;h=c853b97a20de7f3680778e32021ac7e291f6f257;hb=04321ea9f9ac1185bd7092813c34683aa15cd05f;hp=5c03a85e509f258c08026edd1b8407ab41a1cb5d;hpb=1ce363f80e6a204d4011f85813362d9bd1d0e7e4;p=libfirm diff --git a/ir/be/beifg_list.c b/ir/be/beifg_list.c index 5c03a85e5..c853b97a2 100644 --- a/ir/be/beifg_list.c +++ b/ir/be/beifg_list.c @@ -24,9 +24,7 @@ * @date 18.11.2005 * @version $Id$ */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include @@ -36,13 +34,13 @@ #include "irgraph_t.h" #include "irgwalk.h" -#include "bearch_t.h" +#include "beifg_impl.h" +#include "bearch.h" #include "be_t.h" #include "bera.h" #include "beifg_t.h" #include "bechordal_t.h" - typedef struct _adj_head_t adj_head_t; typedef struct _ifg_list_t { @@ -85,7 +83,7 @@ static void create_node(ifg_list_t *ifg, ir_node *irn) adj_head = ifg->adj_heads[irn->node_idx]; if (!adj_head) { - adj_head = obstack_alloc(&ifg->obst, sizeof(*adj_head)); + adj_head = OALLOC(&ifg->obst, adj_head_t); adj_head->irn = irn; adj_head->first_adj_element = NULL; adj_head->degree = 0; @@ -97,7 +95,7 @@ static adj_element_t *create_adj_element(ifg_list_t *ifg, ir_node *irn) { adj_element_t *element = NULL; - element = obstack_alloc(&ifg->obst, sizeof(*element)); + element = OALLOC(&ifg->obst, adj_element_t); element->next_adj_element = NULL; element->neighbour = irn; @@ -427,13 +425,12 @@ static const be_ifg_impl_t ifg_list_impl = { be_ifg_t *be_ifg_list_new(const be_chordal_env_t *env) { - ifg_list_t *ifg = xmalloc(sizeof(*ifg)); - adj_head_t **adj_heads_array = xmalloc(env->irg->last_node_idx * sizeof(adj_heads_array[0])); + ifg_list_t *ifg = XMALLOC(ifg_list_t); + adj_head_t **adj_heads_array = XMALLOCNZ(adj_head_t*, env->irg->last_node_idx); ifg->impl = &ifg_list_impl; ifg->env = env; - memset(adj_heads_array, 0, env->irg->last_node_idx * sizeof(adj_heads_array[0])); ifg->adj_heads = adj_heads_array; obstack_init(&ifg->obst);