- re-enabled global-non-null test, but place Confirms only before Cmp nodes
[libfirm] / ir / ana / cgana.c
index 722f6f3..a1cf224 100644 (file)
@@ -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;
        }
@@ -742,13 +742,6 @@ static void callee_ana_node(ir_node *node, eset *methods) {
                callee_ana_node(get_Mux_true(node), methods);
                break;
 
-       case iro_Psi:
-               for (i = get_Psi_n_conds(node) - 1; i >= 0; --i) {
-                       callee_ana_node(get_Psi_val(node, i), methods);
-               }
-               callee_ana_node(get_Psi_default(node), methods);
-               break;
-
        case iro_Id:
                callee_ana_node(get_Id_pred(node), methods);
                break;