+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+ Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/55832
+ * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
+ ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
+ integer_{one,zero}_node.
+
2013-01-03 Jakub Jelinek <jakub@redhat.com>
PR debug/54402
/* Fold a constant sub-tree into a single node for C-compiler
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
- 2012 Free Software Foundation, Inc.
+ 2012, 2013 Free Software Foundation, Inc.
This file is part of GCC.
"when simplifying comparison of "
"absolute value and zero"),
WARN_STRICT_OVERFLOW_CONDITIONAL);
- return omit_one_operand_loc (loc, type, integer_one_node, arg0);
+ return omit_one_operand_loc (loc, type,
+ constant_boolean_node (true, type),
+ arg0);
}
/* Convert ABS_EXPR<x> < 0 to false. */
"when simplifying comparison of "
"absolute value and zero"),
WARN_STRICT_OVERFLOW_CONDITIONAL);
- return omit_one_operand_loc (loc, type, integer_zero_node, arg0);
+ return omit_one_operand_loc (loc, type,
+ constant_boolean_node (false, type),
+ arg0);
}
/* If X is unsigned, convert X < (1 << Y) into X >> Y == 0