]> git.ipfire.org Git - thirdparty/gcc.git/commit
Remove buggy special case in irange::invert [PR109934].
authorAldy Hernandez <aldyh@redhat.com>
Tue, 23 May 2023 10:34:45 +0000 (12:34 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Tue, 23 May 2023 12:56:13 +0000 (14:56 +0200)
commit8d5f050dabbf6dd3b992c3b46661848dbcf30d9e
treea52fb02ae076bdf29c63729eec7fe04e48a18c99
parent0b4ae6e1ec8d71ab0dd1612999bb78108d56f4c2
Remove buggy special case in irange::invert [PR109934].

This patch removes a buggy special case in irange::invert which seems
to have been broken for a while, and probably never triggered because
the legacy code was handled elsewhere, and the non-legacy code was
using an int_range_max of int_range<255> which made it extremely
likely for num_ranges == 255.  However, with auto-resizing ranges,
int_range_max will start off at 3 and can hit this bogus code in the
unswitching code.

PR tree-optimization/109934

gcc/ChangeLog:

* value-range.cc (irange::invert): Remove buggy special case.

gcc/testsuite/ChangeLog:

* gcc.dg/tree-ssa/pr109934.c: New test.
gcc/testsuite/gcc.dg/tree-ssa/pr109934.c [new file with mode: 0644]
gcc/value-range.cc