From: Christoph Mallon Date: Tue, 3 May 2011 17:38:43 +0000 (+0200) Subject: Initially mark the end block as reachable and set the bad node to bottom (i.e. undefi... X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;ds=sidebyside;h=fb5957cbc4aaecd4e14cbc481e92e1c81260535a;p=libfirm Initially mark the end block as reachable and set the bad node to bottom (i.e. undefined). --- diff --git a/ir/opt/fp-vrp.c b/ir/opt/fp-vrp.c index 14cf316ad..dd3d0cf7e 100644 --- a/ir/opt/fp-vrp.c +++ b/ir/opt/fp-vrp.c @@ -772,6 +772,12 @@ void fixpoint_vrp(ir_graph* const irg) blocks in Firm. Moreover build phi list. */ irg_walk_anchors(irg, clear_links, build_phi_lists, NULL); + { ir_tarval* const f = get_tarval_b_false(); + ir_tarval* const t = get_tarval_b_true(); + set_bitinfo(get_irg_bad(irg), f, t); /* Undefined. */ + set_bitinfo(get_irg_end_block(irg), t, f); /* Reachable. */ + } + /* TODO Improve iteration order. Best is reverse postorder in data flow * direction and respecting loop nesting for fastest convergence. */ irg_walk_blkwise_dom_top_down(irg, NULL, first_round, q);