From d3f340a51d3cd03c0b34ac6ae33b74eed33e7c3d Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 16 Oct 2006 11:50:06 +0000 Subject: [PATCH] Do not convert Sub(P, P) into a simple Minus ... [r8350] --- ir/ir/iropt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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, -- 2.20.1