diff options
author | Ian Lance Taylor <iant@google.com> | 2007-06-09 16:28:31 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-06-09 16:28:31 +0000 |
commit | 9c4ed267d69057cf5307b896a9466daf3e55f5d5 (patch) | |
tree | 8bb4c1810d65b5f93973d77fd9499addb7a3e0be /gcc/tree-vrp.c | |
parent | 84152c25a53201930fd73cb13a905d8335367971 (diff) | |
download | gcc-9c4ed267d69057cf5307b896a9466daf3e55f5d5.zip gcc-9c4ed267d69057cf5307b896a9466daf3e55f5d5.tar.gz gcc-9c4ed267d69057cf5307b896a9466daf3e55f5d5.tar.bz2 |
re PR tree-optimization/32169 (Ice in set_value_range, at tree-vrp.c:326)
./: PR tree-optimization/32169
* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
CONVERT_EXPR, check whether min and max both converted to an
overflow infinity representation.
testsuite/:
PR tree-optimization/32169
* gcc.c-torture/compile/pr32169.c: New test.
From-SVN: r125591
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 7506092..2a51de7 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -2208,6 +2208,8 @@ extract_range_from_unary_expr (value_range_t *vr, tree expr) && is_gimple_val (new_max) && tree_int_cst_equal (new_min, orig_min) && tree_int_cst_equal (new_max, orig_max) + && (!is_overflow_infinity (new_min) + || !is_overflow_infinity (new_max)) && (cmp = compare_values (new_min, new_max)) <= 0 && cmp >= -1) { |