+ }
+}
+
+ir_node *irn_copy_into_irg(const ir_node *node, ir_graph *irg)
+{
+ ir_node *block = NULL;
+ ir_op *op = get_irn_op(node);
+ int arity = get_irn_arity(node);
+ dbg_info *dbgi = get_irn_dbg_info(node);
+ ir_mode *mode = get_irn_mode(node);
+ ir_node *res;
+ int n_deps;
+ int i;
+
+ if (op != op_Block)
+ block = get_nodes_block(node);
+
+ if (op->opar == oparity_dynamic) {
+ int i;
+ res = new_ir_node(dbgi, irg, block, op, mode, -1, NULL);
+ for (i = 0; i < arity; ++i) {
+ ir_node *in = get_irn_n(node, i);
+ add_irn_n(res, in);
+ }
+ } else {
+ ir_node **ins = get_irn_in(node)+1;
+ res = new_ir_node(dbgi, irg, block, op, mode, arity, ins);
+ }
+
+ /* copy the attributes */
+ copy_node_attr(irg, node, res);