From 69962029fe33ca4d798eb967fbfa913b1a6346b9 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Thu, 7 Aug 2008 11:46:41 +0000 Subject: [PATCH] BugFix: fixed stupid Alloc != NULL case [r21035] --- ir/ir/iropt.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/ir/ir/iropt.c b/ir/ir/iropt.c index 9455a8ee8..22f08e4ec 100644 --- a/ir/ir/iropt.c +++ b/ir/ir/iropt.c @@ -522,31 +522,29 @@ static tarval *computed_value_Proj_Cmp(const ir_node *n) { * the Cmp result. */ else { - ir_node *aaa = skip_Id(skip_Proj(aa)); - ir_node *aba = skip_Id(skip_Proj(ab)); + ir_node *aaa = skip_Proj(aa); + ir_node *aba = skip_Proj(ab); if ( ( (/* aa is ProjP and aaa is Alloc */ is_Proj(aa) && mode_is_reference(get_irn_mode(aa)) && is_Alloc(aaa)) && ( (/* ab is NULL */ - is_Const(ab) - && mode_is_reference(get_irn_mode(ab)) - && is_Const_null(ab)) + mode_is_reference(get_irn_mode(ab)) + && tarval_is_null(tab)) || (/* ab is other Alloc */ is_Proj(ab) && mode_is_reference(get_irn_mode(ab)) && is_Alloc(aba) && (aaa != aba)))) || (/* aa is NULL and aba is Alloc */ - is_Const(aa) - && mode_is_reference(get_irn_mode(aa)) - && is_Const_null(aa) + mode_is_reference(get_irn_mode(aa)) + && tarval_is_null(taa) && is_Proj(ab) && mode_is_reference(get_irn_mode(ab)) && is_Alloc(aba))) /* 3.: */ - return new_tarval_from_long(proj_nr & pn_Cmp_Ne, mode_b); + return new_tarval_from_long(proj_nr & pn_Cmp_Lg, mode_b); } } return computed_value_Cmp_Confirm(a, aa, ab, proj_nr); -- 2.20.1