From e93c2b0ff34a60adeb2cea4f39dc4c8ad7c336dc Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Thu, 28 Feb 2008 12:30:16 +0000 Subject: [PATCH] set_Block_MacroBlock() added [r17913] --- include/libfirm/irnode.h | 2 ++ ir/ir/irnode.c | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/libfirm/irnode.h b/include/libfirm/irnode.h index 227952c7e..23deea0d5 100644 --- a/include/libfirm/irnode.h +++ b/include/libfirm/irnode.h @@ -403,6 +403,8 @@ ir_extblk *get_Block_extbb(const ir_node *block); void set_Block_extbb(ir_node *block, ir_extblk *extblk); /** Get the Macro Block header of a (sub-) block. */ ir_node *get_Block_MacroBlock(const ir_node *block); +/** Set the Macro Block header of a (sub-) block. */ +void set_Block_MacroBlock(ir_node *block, ir_node *mbh); /** Get the Macro Block header of a node. */ ir_node *get_irn_MacroBlock(const ir_node *n); /** Returns the ir_graph this Block belongs to. */ diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index eff12dc53..c3be35a34 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -806,7 +806,7 @@ void set_Block_extbb(ir_node *block, ir_extblk *extblk) { block->attr.block.extblk = extblk; } -/* returns the macro block header of a block. */ +/* Returns the macro block header of a block.*/ ir_node *get_Block_MacroBlock(const ir_node *block) { ir_node *mbh; assert(is_Block(block)); @@ -817,6 +817,13 @@ ir_node *get_Block_MacroBlock(const ir_node *block) { return mbh; } +/* Sets the macro block header of a block. */ +void set_Block_MacroBlock(ir_node *block, ir_node *mbh) { + assert(is_Block(block)); + assert(is_Block(mbh)); + set_irn_n(block, -1, mbh); +} + /* returns the macro block header of a node. */ ir_node *get_irn_MacroBlock(const ir_node *n) { if (! is_Block(n)) { -- 2.20.1