X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_mode_b.c;h=8cee5966518993fe0b71ea28989c7bbe7375fe40;hb=0f234e2d94155d13c0e4727871125beda0eaa66d;hp=6e985b94a2c9ba108597e6ed03ccc4a53c712df4;hpb=a222aee7f74e8593e1184268ae3e8af5ffee9c9b;p=libfirm diff --git a/ir/lower/lower_mode_b.c b/ir/lower/lower_mode_b.c index 6e985b94a..8cee59665 100644 --- a/ir/lower/lower_mode_b.c +++ b/ir/lower/lower_mode_b.c @@ -258,14 +258,16 @@ static ir_node *lower_node(ir_node *node) ir_node *right = get_Cmp_right(pred); ir_mode *cmp_mode = get_irn_mode(left); - if ((mode_is_int(cmp_mode) || mode_is_reference(cmp_mode)) && ( - get_mode_size_bits(cmp_mode) < get_mode_size_bits(mode) || - (mode_is_signed(cmp_mode) && is_Const(right) && is_Const_null(right)) - )) { + if ((mode_is_int(cmp_mode) || mode_is_reference(cmp_mode)) && + (get_mode_size_bits(cmp_mode) < get_mode_size_bits(mode) || + (mode_is_signed(cmp_mode) && is_Const(right) && is_Const_null(right)))) { int pnc = get_Proj_proj(node); int need_not = 0; ir_node *a = NULL; ir_node *b = NULL; + int bits; + tarval *tv; + ir_node *shift_cnt; if (pnc == pn_Cmp_Lt) { /* a < b -> (a - b) >> 31 */ @@ -289,9 +291,9 @@ static ir_node *lower_node(ir_node *node) goto synth_zero_one; } - int bits = get_mode_size_bits(mode); - tarval *tv = new_tarval_from_long(bits-1, mode_Iu); - ir_node *shift_cnt = new_d_Const(dbgi, tv); + bits = get_mode_size_bits(mode); + tv = new_tarval_from_long(bits-1, mode_Iu); + shift_cnt = new_d_Const(dbgi, tv); if (cmp_mode != mode) { a = new_rd_Conv(dbgi, block, a, mode);