diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2019-10-17 12:38:38 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2019-10-17 12:38:38 +0000 |
commit | b223a28db4e098ef2005daaac6c669912f249d97 (patch) | |
tree | ef9ec95fcaa9b45c4efd421b76367237c4a84fa1 /gcc | |
parent | f261d4808cc28a2dfd47fe06c97364c0869bb78f (diff) | |
download | gcc-b223a28db4e098ef2005daaac6c669912f249d97.zip gcc-b223a28db4e098ef2005daaac6c669912f249d97.tar.gz gcc-b223a28db4e098ef2005daaac6c669912f249d97.tar.bz2 |
re PR tree-optimization/92131 (incorrect assumption that (ao >= 0) is always false)
PR tree-optimization/92131
* tree-vrp.c (value_range_base::dump): Display +INF for both
pointers and integers when appropriate.
From-SVN: r277107
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/evrp4.c | 2 | ||||
-rw-r--r-- | gcc/tree-vrp.c | 4 |
4 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9c0e754..3126adc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-10-17 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/92131 + * tree-vrp.c (value_range_base::dump): Display +INF for both + pointers and integers when appropriate. + 2019-10-17 Andre Vieira <andre.simoesdiasvieira@arm.com> * tree-vect-loop.c (vect_analyze_loop_2): Use same condition to decide diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3949616..abd9dd1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-10-17 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/evrp4.c: Check for +INF instead of -1. + 2019-10-17 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/vseleqdf.c: Add missing closing bracket. diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c index ba2f6b9..6710e6b 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c @@ -17,4 +17,4 @@ int bar (struct st *s) foo (&s->a); } -/* { dg-final { scan-tree-dump "\\\[1B, -1B\\\]" "evrp" } } */ +/* { dg-final { scan-tree-dump "\\\[1B, \\+INF\\\]" "evrp" } } */ diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 21910b3..8d4f16e 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -428,8 +428,8 @@ value_range_base::dump (FILE *file) const fprintf (file, ", "); - if (INTEGRAL_TYPE_P (ttype) - && vrp_val_is_max (max ()) + if (supports_type_p (ttype) + && vrp_val_is_max (max (), true) && TYPE_PRECISION (ttype) != 1) fprintf (file, "+INF"); else |