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. */
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));
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)) {