From fa526598148eac22d942dc1ccce0d130ae4c5c39 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Thu, 17 Nov 2011 17:31:26 +0100 Subject: [PATCH] inline: we can't inline blocks with entities --- ir/opt/opt_inline.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ir/opt/opt_inline.c b/ir/opt/opt_inline.c index f49124430..6c5576abd 100644 --- a/ir/opt/opt_inline.c +++ b/ir/opt/opt_inline.c @@ -145,7 +145,13 @@ static void find_addr(ir_node *node, void *env) { bool *allow_inline = (bool*)env; - if (is_Sel(node)) { + if (is_Block(node) && get_Block_entity(node)) { + /** + * Currently we can't handle blocks whose address was taken correctly + * when inlining + */ + *allow_inline = false; + } else if (is_Sel(node)) { ir_graph *irg = current_ir_graph; if (get_Sel_ptr(node) == get_irg_frame(irg)) { /* access to frame */ -- 2.20.1