X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fcombo.c;h=66e77693ebece4bacb3720a853b00c0a46ff3ff5;hb=762b472fc81c73cf7a1b0041b8cd286b7206d79d;hp=903f875dbfe051f8bf25fb3281746751bca617b4;hpb=bc47e313bcf032234f688e43be2e7308af537867;p=libfirm diff --git a/ir/opt/combo.c b/ir/opt/combo.c index 903f875db..66e77693e 100644 --- a/ir/opt/combo.c +++ b/ir/opt/combo.c @@ -3029,16 +3029,9 @@ static void apply_cf(ir_node *block, void *ctx) } } - /* the EndBlock is always reachable even if the analysis - finds out the opposite :-) */ - if (block != get_irg_end_block(current_ir_graph)) { - /* mark dead blocks */ - //set_Block_dead(block); - //ir_graph *irg = get_irn_irg(block); - //exchange(block, get_irg_bad(irg)); - DB((dbg, LEVEL_1, "Removing dead %+F\n", block)); - } else { - /* the endblock is unreachable */ + if (block == get_irg_end_block(current_ir_graph)) { + /* Analysis found out that the end block is unreachable, + * hence we remove all its control flow predecessors. */ set_irn_in(block, 0, NULL); } return;