*/
be_set_constr_in(res, n_be_Spill_frame, arch_no_register_req);
- arch_set_out_register_req(res, 0, arch_no_register_req);
+ arch_set_irn_register_req_out(res, 0, arch_no_register_req);
return res;
}
be_node_set_reg_class_out(res, 0, cls);
be_node_set_reg_class_in(res, n_be_Reload_frame, cls_frame);
- arch_irn_set_flags(res, arch_irn_flags_rematerializable);
+ arch_set_irn_flags(res, arch_irn_flags_rematerializable);
a = (be_frame_attr_t*) get_irn_generic_attr(res);
a->ent = NULL;
{
ir_node *irn;
ir_node *in[n_be_AddSP_last];
- const arch_register_class_t *cls;
ir_graph *irg;
be_node_attr_t *attr;
/* Set output constraint to stack register. */
be_set_constr_single_reg_in(irn, n_be_AddSP_old_sp, sp,
arch_register_req_type_none);
- be_node_set_reg_class_in(irn, n_be_AddSP_size, arch_register_get_class(sp));
+ be_node_set_reg_class_in(irn, n_be_AddSP_size, sp->reg_class);
be_set_constr_single_reg_out(irn, pn_be_AddSP_sp, sp,
arch_register_req_type_produces_sp);
- cls = arch_register_get_class(sp);
-
return irn;
}
/* Set output constraint to stack register. */
be_set_constr_single_reg_in(irn, n_be_SubSP_old_sp, sp,
arch_register_req_type_none);
- be_node_set_reg_class_in(irn, n_be_SubSP_size, arch_register_get_class(sp));
+ be_node_set_reg_class_in(irn, n_be_SubSP_size, sp->reg_class);
be_set_constr_single_reg_out(irn, pn_be_SubSP_sp, sp, arch_register_req_type_produces_sp);
return irn;
if (additional_types == 0) {
req = reg->single_req;
} else {
- ir_graph *irg = get_irn_irg(node);
struct obstack *obst = be_get_be_obst(irg);
req = be_create_reg_req(obst, reg, additional_types);
}
- arch_irn_set_register(node, pos, reg);
+ arch_set_irn_register_out(node, pos, reg);
be_set_constr_out(node, pos, req);
}
{
ir_graph *irg = get_Block_irg(block);
ir_node *frame = get_irg_frame(irg);
- const arch_register_class_t *cls = arch_get_irn_reg_class_out(irn);
- const arch_register_class_t *cls_frame = arch_get_irn_reg_class_out(frame);
+ const arch_register_class_t *cls = arch_get_irn_reg_class(irn);
+ const arch_register_class_t *cls_frame = arch_get_irn_reg_class(frame);
ir_node *spill;
spill = be_new_Spill(cls, cls_frame, block, frame, irn);
ir_node *bl = is_Block(insert) ? insert : get_nodes_block(insert);
ir_graph *irg = get_Block_irg(bl);
ir_node *frame = get_irg_frame(irg);
- const arch_register_class_t *cls_frame = arch_get_irn_reg_class_out(frame);
+ const arch_register_class_t *cls_frame = arch_get_irn_reg_class(frame);
assert(be_is_Spill(spill) || (is_Phi(spill) && get_irn_mode(spill) == mode_M));
static int get_start_reg_index(ir_graph *irg, const arch_register_t *reg)
{
ir_node *start = get_irg_start(irg);
- unsigned n_outs = arch_irn_get_n_outs(start);
+ unsigned n_outs = arch_get_irn_n_outs(start);
int i;
/* do a naive linear search... */
for (i = 0; i < (int)n_outs; ++i) {
const arch_register_req_t *out_req
- = arch_get_out_register_req(start, i);
+ = arch_get_irn_register_req_out(start, i);
if (! (out_req->type & arch_register_req_type_limited))
continue;
if (out_req->cls != arch_register_get_class(reg))
int i;
/* do a naive linear search... */
for (i = 0; i < arity; ++i) {
- const arch_register_req_t *req = arch_get_in_register_req(ret, i);
+ const arch_register_req_t *req = arch_get_irn_register_req_in(ret, i);
if (! (req->type & arch_register_req_type_limited))
continue;
if (req->cls != arch_register_get_class(reg))
op_be_Keep = new_ir_op(beo_Keep, "be_Keep", op_pin_state_exc_pinned, irop_flag_keep, oparity_dynamic, 0, sizeof(be_node_attr_t), &be_node_op_ops);
op_be_CopyKeep = new_ir_op(beo_CopyKeep, "be_CopyKeep", op_pin_state_exc_pinned, irop_flag_keep, oparity_variable, 0, sizeof(be_node_attr_t), &be_node_op_ops);
op_be_Call = new_ir_op(beo_Call, "be_Call", op_pin_state_exc_pinned, irop_flag_fragile|irop_flag_uses_memory, oparity_variable, 0, sizeof(be_call_attr_t), &be_node_op_ops);
+ ir_op_set_fragile_indices(op_be_Call, n_be_Call_mem, pn_be_Call_X_regular, pn_be_Call_X_except);
op_be_Return = new_ir_op(beo_Return, "be_Return", op_pin_state_exc_pinned, irop_flag_cfopcode, oparity_dynamic, 0, sizeof(be_return_attr_t), &be_node_op_ops);
op_be_AddSP = new_ir_op(beo_AddSP, "be_AddSP", op_pin_state_exc_pinned, irop_flag_none, oparity_unary, 0, sizeof(be_node_attr_t), &be_node_op_ops);
op_be_SubSP = new_ir_op(beo_SubSP, "be_SubSP", op_pin_state_exc_pinned, irop_flag_none, oparity_unary, 0, sizeof(be_node_attr_t), &be_node_op_ops);