From: Michael Beck Date: Mon, 16 Oct 2006 11:50:06 +0000 (+0000) Subject: Do not convert Sub(P, P) into a simple Minus ... X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=d3f340a51d3cd03c0b34ac6ae33b74eed33e7c3d;p=libfirm Do not convert Sub(P, P) into a simple Minus ... [r8350] --- diff --git a/ir/ir/iropt.c b/ir/ir/iropt.c index 310e10211..3019dd13a 100644 --- a/ir/ir/iropt.c +++ b/ir/ir/iropt.c @@ -2039,7 +2039,8 @@ static ir_node *transform_node_Sub(ir_node *n) if (mode_is_float(mode) && (get_irg_fp_model(current_ir_graph) & fp_strict_algebraic)) return n; - if (mode_is_num(mode) && (classify_Const(a) == CNST_NULL)) { + /* Beware of Sub(P, P) which cannot be optimized into a simple Minus ... */ + if (mode_is_num(mode) && mode == get_irn_mode(a) && (classify_Const(a) == CNST_NULL)) { n = new_rd_Minus( get_irn_dbg_info(n), current_ir_graph,