- DB((dbg, LEVEL_1, "Welding block %+F and %+F\n", block, psi_block));
- /* copy the block-info from the Psi-block to the block before merging */
- get_block_blockinfo(psi_block)->has_pinned |= get_block_blockinfo(block)->has_pinned;
- set_irn_link(block, get_irn_link(psi_block));
-
- set_irn_in(block, get_irn_arity(psi_block), get_irn_in(psi_block) + 1);
- exchange_cdep(psi_block, block);
- exchange(psi_block, block);
+ DB((dbg, LEVEL_1, "Welding block %+F and %+F\n", block, mux_block));
+ /* copy the block-info from the Mux-block to the block before merging */
+
+ mark = get_Block_mark(mux_block) | get_Block_mark(block);
+ set_Block_mark(block, mark);
+ set_Block_phis(block, get_Block_phis(mux_block));
+
+ set_irn_in(block, get_irn_arity(mux_block), get_irn_in(mux_block) + 1);
+ exchange_cdep(mux_block, block);
+ exchange(mux_block, block);