-/**
- * Transform helper for blocks.
- */
-static ir_node *gen_Block(ir_node *node)
-{
- ir_graph *irg = current_ir_graph;
- dbg_info *dbgi = get_irn_dbg_info(node);
- ir_node *macroblock = get_Block_MacroBlock(node);
- ir_node *block;
-
- block = new_ir_node(dbgi, irg, NULL, get_irn_op(node), get_irn_mode(node),
- get_irn_arity(node), get_irn_in(node) + 1);
- copy_node_attr(irg, node, block);
- block->node_nr = node->node_nr;
-
- if (node == macroblock) {
- /* this node is a macroblock header */
- set_Block_MacroBlock(block, block);
- } else {
- macroblock = be_transform_node(macroblock);
- set_Block_MacroBlock(block, macroblock);
- }
-
- /* put the preds in the worklist */
- be_enqueue_preds(node);
-
- return block;
-}
-
-static ir_node *gen_End(ir_node *node)
-{
- /* end has to be duplicated manually because we need a dynamic in array */
- ir_graph *irg = current_ir_graph;
- dbg_info *dbgi = get_irn_dbg_info(node);
- ir_node *block = be_transform_node(get_nodes_block(node));
- int i, arity;
- ir_node *new_end;
-
- new_end = new_ir_node(dbgi, irg, block, op_End, mode_X, -1, NULL);
- copy_node_attr(irg, node, new_end);
- be_duplicate_deps(node, new_end);
-
- set_irg_end(irg, new_end);
-
- /* transform preds */
- arity = get_irn_arity(node);
- for (i = 0; i < arity; ++i) {
- ir_node *in = get_irn_n(node, i);
- ir_node *new_in = be_transform_node(in);
-
- add_End_keepalive(new_end, new_in);
- }
-
- return new_end;
-}
-