X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Fcgana.c;h=a1cf2240c9cb44f50c625759f1bcaf71d690e931;hb=afbbc0b1ccd684c4c24bfd43d0f994123245f39f;hp=736f6958351a143a406f02c04fc3e202136d4292;hpb=1adbf5a888bc38944df7db0c201b2a68ccb265e1;p=libfirm diff --git a/ir/ana/cgana.c b/ir/ana/cgana.c index 736f69583..a1cf2240c 100644 --- a/ir/ana/cgana.c +++ b/ir/ana/cgana.c @@ -348,7 +348,7 @@ static void free_mark_proj(ir_node * node, long n, eset * set) { * op_Tuple oder ein Knoten, der in "free_ana_walker" behandelt * wird. */ ir_node * pred = get_Proj_pred(node); - if (get_irn_link(pred) != MARK && get_irn_op(pred) == op_Tuple) { + if (get_irn_link(pred) != MARK && is_Tuple(pred)) { free_mark_proj(get_Tuple_pred(pred, get_Proj_proj(node)), n, set); } else { /* nothing: da in "free_ana_walker" behandelt. */ @@ -606,11 +606,11 @@ static ir_entity **get_free_methods(int *length) eset_insert(free_set, ent); } - set_using_irn_link(irg); + ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK); /* Find all method entities that gets "visible" through this graphs, * for instance because their address is stored. */ irg_walk_graph(irg, firm_clear_link, free_ana_walker, free_set); - clear_using_irn_link(irg); + ir_free_resources(irg, IR_RESOURCE_IRN_LINK); } /* insert all methods that are used in global variables initializers */ @@ -632,7 +632,7 @@ static ir_entity **get_free_methods(int *length) /* Finally, transform the set into an array. */ *length = eset_count(free_set); - arr = xmalloc(sizeof(ir_entity *) * (*length)); + arr = XMALLOCN(ir_entity*, *length); for (i = 0, ent = eset_first(free_set); ent; ent = eset_next(free_set)) { arr[i++] = ent; }