void be_set_constr_single_reg(ir_node *irn, int pos, const arch_register_t *reg)
{
- int idx = pos < 0 ? -(pos - 1) : pos;
+ int idx = pos < 0 ? -(pos + 1) : pos;
be_node_attr_t *a = get_irn_attr(irn);
be_reg_data_t *rd = &a->reg_data[idx];
be_req_t *r = pos < 0 ? &rd->req : &rd->in_req;
for(x = pset_first(live); x; x = pset_next(live))
DBG((dbg, LEVEL_1, "\tlive: %+F\n", x));
- if(arch_irn_has_reg_class(arch_env, irn, -1, cls))
+ if(arch_irn_consider_in_reg_alloc(arch_env, cls, irn))
pset_remove_ptr(live, irn);
for(i = 0, n = get_irn_arity(irn); i < n; ++i) {