- return arch_data_find(register_class, isa, name);
-}
-
-arch_register_set_t *arch_get_register_set_for_class(arch_register_class_t *cls)
-{
- return _arch_get_register_set_for_class(cls);
-}
-
-ir_node *arch_new_node(const arch_insn_t *insn, ir_graph *irg, ir_node *block,
- ir_mode *mode, int arity, ir_node **in)
-{
- ir_node *irn = new_ir_node(NULL, irg, block, insn->op, mode, arity, in);
- arch_irn_data_t *data = (void *) &irn->attr;
-
- data->magic = ARCH_IRN_FOURCC;
- data->insn = insn;
-
- return irn;
-}
-
-ir_node *arch_new_node_bare(const arch_insn_t *insn, ir_graph *irg, int arity)
-{
- int i;
- ir_node **in = alloca(sizeof(in[0]) * arity);
-
- for(i = 0; i < arity; ++i)
- in[i] = new_Unknown(mode_Is);
-
- return arch_new_node(insn, irg, new_Unknown(mode_BB), mode_Is, arity, in);
+ const arch_irn_ops_t *ops = get_irn_ops(env, irn);
+ return ops->impl->classify(ops, irn);