Add ALLOCAN() and ALLOCANZ().
[libfirm] / ir / be / ia32 / ia32_transform.c
index de9c451..6fe28ab 100644 (file)
@@ -3504,7 +3504,7 @@ static ir_node *gen_be_Return(ir_node *node)
 
        /* create a new barrier */
        arity = get_irn_arity(barrier);
-       in = alloca(arity * sizeof(in[0]));
+       in    = ALLOCAN(ir_node*, arity);
        for (i = 0; i < arity; ++i) {
                ir_node *new_in;
 
@@ -4370,7 +4370,7 @@ static ir_node *gen_Proj_be_Call(ir_node *node)
 
        /* transform call modes */
        if (mode_is_data(mode)) {
-               const arch_register_class_t *cls = arch_get_irn_reg_class(node, -1);
+               const arch_register_class_t *cls = arch_get_irn_reg_class_out(node);
                mode = cls->mode;
        }
 
@@ -4380,7 +4380,7 @@ static ir_node *gen_Proj_be_Call(ir_node *node)
        } else if (proj == pn_be_Call_M_regular) {
                proj = pn_ia32_Call_M;
        } else {
-               arch_register_req_t const *const req    = arch_get_register_req(node, -1);
+               arch_register_req_t const *const req    = arch_get_register_req_out(node);
                int                        const n_outs = get_ia32_n_res(new_call);
                int                              i;