On 10/2/2021 1:50 PM, Aldy Hernandez via Gcc-patches wrote:
Bah. The range was being clobbered half way through the calculation.
Tested on x86-64 Linux.
Pushed.
On Fri, Oct 1, 2021 at 4:52 PM Aldy Hernandez <al...@redhat.com> wrote:
Well, after talking with Andrew it seems that X << Y being non-zero
also implies X is non-zero. So we don't even need relationals here.
So, I leave gori relationals in his capable hands, while I test this
much simpler patch which fixes the PR with no additional
infrastructure ;-).
Will push pending tests.
Aldy
On Fri, Oct 1, 2021 at 2:43 PM Aldy Hernandez <al...@redhat.com> wrote:
Knowing that X << X is non-zero means X is also non-zero. This patch
teaches this this to range-ops.
As usual, the big twiddling experts could come up with all sorts of
fancy enhancements in this area, and we welcome all patches :).
I will push this pending tests.
gcc/ChangeLog:
PR tree-optimization/102546
* range-op.cc (operator_lshift::op1_range): Handle EQ_EXPR
relation.
I'm going to assume this also fixes a similar ICE building the linux
kernel. One less thing to bisect today :-)
jeff