fixed some bugs
authorSebastian Hack <hack@ipd.info.uni-karlsruhe.de>
Fri, 10 Mar 2006 16:18:12 +0000 (16:18 +0000)
committerSebastian Hack <hack@ipd.info.uni-karlsruhe.de>
Fri, 10 Mar 2006 16:18:12 +0000 (16:18 +0000)
ir/be/beabi.c
ir/be/benode.c

index fb14150..f5ce340 100644 (file)
@@ -560,7 +560,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp)
        /* Set the register classes and constraints of the Call parameters. */
        for(i = 0; i < n_low_args; ++i) {
                int index = low_args[i];
-               const arch_register_t *reg = get_call_arg(call, 0, index);
+               const arch_register_t *reg = get_call_arg(call, 0, index)->reg;
                assert(reg != NULL);
                be_set_constr_single_reg(low_call, index, reg);
        }
index 5ffb243..6fca119 100644 (file)
@@ -157,7 +157,7 @@ void be_node_init(void) {
        op_be_Perm       = new_ir_op(beo_base + beo_Perm,       "Perm",       op_pin_state_pinned,     N, oparity_variable, 0, sizeof(be_node_attr_t),  &be_node_op_ops);
        op_be_Copy       = new_ir_op(beo_base + beo_Copy,       "Copy",       op_pin_state_floats,     N, oparity_unary,    0, sizeof(be_node_attr_t),  &be_node_op_ops);
        op_be_Keep       = new_ir_op(beo_base + beo_Keep,       "Keep",       op_pin_state_pinned,     K, oparity_variable, 0, sizeof(be_node_attr_t),  &be_node_op_ops);
-       op_be_Call       = new_ir_op(beo_base + beo_Call,       "Call",       op_pin_state_pinned,     N, oparity_variable, 0, sizeof(be_node_attr_t),  &be_node_op_ops);
+       op_be_Call       = new_ir_op(beo_base + beo_Call,       "Call",       op_pin_state_pinned,     N, oparity_variable, 0, sizeof(be_call_attr_t),  &be_node_op_ops);
        op_be_Return     = new_ir_op(beo_base + beo_Return,     "Return",     op_pin_state_pinned,     X, oparity_variable, 0, sizeof(be_node_attr_t),  &be_node_op_ops);
        op_be_Alloca     = new_ir_op(beo_base + beo_Alloca,     "Alloca",     op_pin_state_pinned,     N, oparity_unary,    0, sizeof(be_node_attr_t),  &be_node_op_ops);
        op_be_SetSP      = new_ir_op(beo_base + beo_SetSP,      "SetSP",      op_pin_state_pinned,     N, oparity_binary,   0, sizeof(be_stack_attr_t), &be_node_op_ops);