Simplify x87_dump_stack().
[libfirm] / ir / be / beabi.c
index 376c2d0..5b3007d 100644 (file)
@@ -569,13 +569,15 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp)
        throws_exception = ir_throws_exception(irn);
        if (env->call->flags.bits.call_has_imm && is_SymConst(call_ptr)) {
                /* direct call */
-               low_call = be_new_Call(dbgi, irg, bl, curr_mem, curr_sp, curr_sp,
+               low_call = be_new_Call(dbgi, irg, bl, curr_mem, sp->single_req, curr_sp,
+                                      sp->single_req, curr_sp,
                                       n_reg_results + pn_be_Call_first_res + ARR_LEN(destroyed_regs),
                                       n_ins, in, get_Call_type(irn));
                be_Call_set_entity(low_call, get_SymConst_entity(call_ptr));
        } else {
                /* indirect call */
-               low_call = be_new_Call(dbgi, irg, bl, curr_mem, curr_sp, call_ptr,
+               low_call = be_new_Call(dbgi, irg, bl, curr_mem, sp->single_req, curr_sp,
+                                      call->cls_addr->class_req, call_ptr,
                                       n_reg_results + pn_be_Call_first_res + ARR_LEN(destroyed_regs),
                                       n_ins, in, get_Call_type(irn));
        }
@@ -630,12 +632,6 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp)
                }
        }
 
-       /*
-               Set the register class of the call address to
-               the backend provided class (default: stack pointer class)
-       */
-       be_node_set_reg_class_in(low_call, n_be_Call_ptr, call->cls_addr);
-
        DBG((dbg, LEVEL_3, "\tcreated backend call %+F\n", low_call));
 
        /* Set the register classes and constraints of the Call parameters. */