diff options
author | Richard Guenther <rguenther@suse.de> | 2009-11-04 10:18:33 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-11-04 10:18:33 +0000 |
commit | fbd43827744e884071bdf14b00c6064865c93deb (patch) | |
tree | 02a5fc059070d8f9cb3d69702c29ac84fe654190 /gcc/tree-vrp.c | |
parent | db5e2d51eb566289a529cc530f037c76483ce61c (diff) | |
download | gcc-fbd43827744e884071bdf14b00c6064865c93deb.zip gcc-fbd43827744e884071bdf14b00c6064865c93deb.tar.gz gcc-fbd43827744e884071bdf14b00c6064865c93deb.tar.bz2 |
re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41919
* tree-vrp.c (test_for_singularity): Properly compare values.
* gcc.c-torture/execute/pr41919.c: New testcase.
From-SVN: r153891
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 0cb227a..5adc0da 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -6748,13 +6748,9 @@ test_for_singularity (enum tree_code cond_code, tree op0, value range information we have for op0. */ if (min && max) { - if (compare_values (vr->min, min) == -1) - min = min; - else + if (compare_values (vr->min, min) == 1) min = vr->min; - if (compare_values (vr->max, max) == 1) - max = max; - else + if (compare_values (vr->max, max) == -1) max = vr->max; /* If the new min/max values have converged to a single value, |