From: Michael Beck Date: Sun, 6 Jan 2008 14:40:02 +0000 (+0000) Subject: get_irn_MacroBlock() added X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=d82ebc4ecd2fe784a75bfe0b47773b04fb0f6613;p=libfirm get_irn_MacroBlock() added [r17165] --- diff --git a/include/libfirm/irnode.h b/include/libfirm/irnode.h index 65ecdae06..384c1379c 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); +/** 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. */ ir_graph *get_Block_irg(const ir_node *block); /** Returns non-zero if the block has an assigned label. */ diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index 478a42a8b..1df769dce 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -877,6 +877,13 @@ ir_node *get_Block_MacroBlock(const ir_node *block) { return mbh; } +/* returns the macro block header of a node. */ +ir_node *get_irn_MacroBlock(const ir_node *n) { + if (! is_Block(n)) + n = get_nodes_block(n); + return get_Block_MacroBlock(n); +} + /* returns the graph of a Block. */ ir_graph *get_Block_irg(const ir_node *block) { assert(is_Block(block));