From d1a66d48f35e347316f66d07877ef1f614d64a9f Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 7 Jan 2008 19:37:24 +0000 Subject: [PATCH] get_irn_MacroBlock(): if the Block of a node is Bad, do NOT try to returns its MB, return Bad. [r17201] --- ir/ir/irnode.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index 708ac70bc..4064cbb8a 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -879,8 +879,12 @@ ir_node *get_Block_MacroBlock(const ir_node *block) { /* returns the macro block header of a node. */ ir_node *get_irn_MacroBlock(const ir_node *n) { - if (! is_Block(n)) + if (! is_Block(n)) { n = get_nodes_block(n); + /* if the Block is Bad, do NOT try to get it's MB, it will fail. */ + if (is_Bad(n)) + return n; + } return get_Block_MacroBlock(n); } -- 2.20.1