From 0b467e3b07b158f9502731231653bf3ef933524c Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 22 Oct 2007 12:25:03 +0000 Subject: [PATCH] transform the macro block header [r16302] --- ir/be/betranshlp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ir/be/betranshlp.c b/ir/be/betranshlp.c index 79e7421e6..b7cb2718e 100644 --- a/ir/be/betranshlp.c +++ b/ir/be/betranshlp.c @@ -334,6 +334,7 @@ static ir_node *gen_Block(ir_node *node) { ir_graph *irg = current_ir_graph; dbg_info *dbgi = get_irn_dbg_info(node); ir_node *old_start_block = get_irn_n(env.old_anchor, anchor_start_block); + ir_node *macroblock = get_Block_MacroBlock(node); ir_node *block; /* @@ -349,10 +350,17 @@ static ir_node *gen_Block(ir_node *node) { 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(node, block); - #ifdef DEBUG_libfirm block->node_nr = node->node_nr; #endif + if (node == macroblock) { + /* this node is a macroblock header */ + set_irn_n(block, -1, block); + } else { + macroblock = be_transform_node(macroblock); + set_irn_n(block, -1, macroblock); + } + be_set_transformed_node(node, block); /* put the preds in the worklist */ -- 2.20.1