[Bug tree-optimization/31605] [4.2/4.3 Regression] VRP eliminates a useful test due with conversion from unsigned int to int
ian at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Apr 24 22:24:00 GMT 2007
------- Comment #6 from ian at gcc dot gnu dot org 2007-04-24 23:24 -------
Subject: Bug 31605
Author: ian
Date: Tue Apr 24 23:24:01 2007
New Revision: 124128
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124128
Log:
./:
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.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr31605.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vrp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31605
More information about the Gcc-bugs
mailing list