re PR tree-optimization/31605 (VRP eliminates a useful test due with conversion from...
authorIan Lance Taylor <iant@google.com>
Tue, 24 Apr 2007 22:24:01 +0000 (22:24 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 24 Apr 2007 22:24:01 +0000 (22:24 +0000)
commit8cf781f088f95c3fd8eff9cacc2acece01b5b2ee
tree5fe0e9d7ed36ef904ad6816fdcc49e207c008253
parent1e9ecf6da40abb1e294b71e60ae66ae34f93e0fd
re PR tree-optimization/31605 (VRP eliminates a useful test due with conversion from unsigned int to int)

./: PR tree-optimization/31605
* tree-vrp.c (set_value_range): Check that min and max are not
both overflow infinities.
(set_value_range_to_value): New static function.
(extract_range_from_binary_expr): Call set_value_range_to_value.
(extract_range_from_cond_expr): Likewise.
(extract_range_from_expr): Likewise.
(extract_range_from_unary_expr): Likewise.  Don't create a range
which overflows on both sides.
(vrp_meet): Check for a useless range.
(vrp_visit_phi_node): If we see a constant which looks like an
overflow infinity, turn off the TREE_OVERFLOW flag.
testsuite/:
PR tree-optimizatoin/31605
* gcc.c-torture/execute/pr31605.c: New test.

From-SVN: r124128
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr31605.c [new file with mode: 0644]
gcc/tree-vrp.c