From: Christoph Mallon Date: Wed, 4 May 2011 10:42:05 +0000 (+0200) Subject: Model (un)reachable block info with bottom/top, not false/true. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=bcf7240e488297a3876b306fafb2d133f04198f3;p=libfirm Model (un)reachable block info with bottom/top, not false/true. --- diff --git a/ir/opt/fp-vrp.c b/ir/opt/fp-vrp.c index dd3d0cf7e..f5d5edb5a 100644 --- a/ir/opt/fp-vrp.c +++ b/ir/opt/fp-vrp.c @@ -169,9 +169,9 @@ static int transfer(ir_node* const irn) DB((dbg, LEVEL_3, "transfer %+F\n", irn)); - if (b->z == f && b->o == f) { + if (b->z == f) { z = f; - o = f; + o = t; } else switch (get_irn_opcode(irn)) { case iro_Proj: { ir_node* const pred = get_Proj_pred(irn); @@ -249,8 +249,13 @@ result_unknown_X: irn == get_irg_end_block(irg); } - o = f; - z = reachable ? t : f; + if (reachable) { + z = t; + o = f; + } else { + z = f; + o = t; + } } else if (mode_is_intb(m)) { DB((dbg, LEVEL_3, "transfer %+F\n", irn)); switch (get_irn_opcode(irn)) {