use optimize_graph_df
[libfirm] / ir / be / benode.c
index ae98f6c..09d290e 100644 (file)
@@ -491,7 +491,7 @@ void be_Perm_reduce(ir_node *perm, int new_size, int *map)
 {
        ir_graph *irg           = get_irn_irg(perm);
        int n                   = get_irn_arity(perm);
-       be_reg_data_t *old_data = malloc(n * sizeof(old_data[0]));
+       be_reg_data_t *old_data = xmalloc(n * sizeof(old_data[0]));
        be_node_attr_t *attr    = get_irn_attr(perm);
        ir_node **new_in        = NEW_ARR_D(ir_node *, irg->obst, new_size + 1);
 
@@ -1605,8 +1605,9 @@ arch_irn_handler_t *be_phi_handler_new(const arch_env_t *arch_env)
 
 void be_phi_handler_free(arch_irn_handler_t *handler)
 {
-       phi_handler_t *h = (void *) handler;
+       phi_handler_t *h = get_phi_handler_from_handler(handler);
        pmap_destroy(h->phi_attrs);
+       h->phi_attrs = NULL;
        free(handler);
 }