From fb5957cbc4aaecd4e14cbc481e92e1c81260535a Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Tue, 3 May 2011 19:38:43 +0200 Subject: [PATCH] Initially mark the end block as reachable and set the bad node to bottom (i.e. undefined). --- ir/opt/fp-vrp.c | 6 ++++++ 1 file changed, 6 insertions(+) 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); -- 2.20.1