diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-10-20 15:25:20 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-10-20 17:23:12 +0200 |
commit | 5d53ec27015b916640171e891870adf2c6fdfd4c (patch) | |
tree | e40dddc65912a5f0727da9e19536a0c53948fea6 /gcc/vr-values.c | |
parent | dbcc6b1577bedd2bf5879393c862b6c461787503 (diff) | |
download | gcc-5d53ec27015b916640171e891870adf2c6fdfd4c.zip gcc-5d53ec27015b916640171e891870adf2c6fdfd4c.tar.gz gcc-5d53ec27015b916640171e891870adf2c6fdfd4c.tar.bz2 |
Saturate overflows return from SCEV in ranger.
bounds_of_var_in_loop is returning an overflowed int, which is causing
us to create a range for which we can't compare the bounds causing
an ICE in verify_range.
Overflowed bounds cause compare_values() to return -2, which we
don't handle in verify_range.
We don't represent overflowed ranges in irange, so this patch just
saturates any overflowed end-points to MIN or MAX.
gcc/ChangeLog:
PR tree-optimization/97501
* gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info):
Saturate overflows returned from SCEV.
gcc/testsuite/ChangeLog:
* gcc.dg/pr97501.c: New test.
Diffstat (limited to 'gcc/vr-values.c')
0 files changed, 0 insertions, 0 deletions