From bcf7240e488297a3876b306fafb2d133f04198f3 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Wed, 4 May 2011 12:42:05 +0200 Subject: [PATCH] Model (un)reachable block info with bottom/top, not false/true. --- ir/opt/fp-vrp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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)) { -- 2.20.1