- do not combine blocks if both have a label
[libfirm] / ir / be / bespillbelady2.c
index 15d80d4..cf2c4db 100644 (file)
@@ -503,7 +503,7 @@ static inline unsigned get_curr_distance(block_info_t *bi, const ir_node *irn, i
        next_use_t *use            = get_current_use(bi, irn);
        int flags                  = arch_irn_get_flags(irn);
 
-       assert(!(flags & arch_irn_flags_ignore));
+       assert(!arch_irn_is_ignore(irn));
 
        /* We have to keep non-spillable nodes in the working set */
        if(flags & arch_irn_flags_dont_spill)
@@ -563,7 +563,7 @@ static inline int is_transport_in(const ir_node *bl, const ir_node *irn)
 static void displace(block_info_t *bi, workset_t *new_vals, int is_usage) {
        belady_env_t *env       = bi->bel;
        workset_t    *ws        = env->ws;
-       ir_node     **to_insert = alloca(env->n_regs * sizeof(to_insert[0]));
+       ir_node     **to_insert = ALLOCAN(ir_node*, env->n_regs);
 
        int i, len, max_allowed, demand, iter;
        ir_node *val;
@@ -1064,7 +1064,6 @@ static double can_bring_in(global_end_state_t *ges, ir_node *bl, ir_node *irn, d
 
        if (is_transport_in(bl, irn)) {
                int i, n           = get_irn_arity(bl);
-               ir_node **nodes    = alloca(get_irn_arity(bl) * sizeof(nodes[0]));
                rollback_info_t rb = trans_begin(ges);
 
                glob_costs = 0.0;