[ValueTracking] Handle shl in isKnownNonEqual()
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 26 Mar 2021 19:12:55 +0000 (20:12 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 26 Mar 2021 19:21:05 +0000 (20:21 +0100)
commit9666e89d577887cf574507207484a066588fc9ca
tree6fbddf0fb093d4075dc578fb50466ba97b022d83
parent5c85c37c87d6c79bf2ee29c3c25456133861333e
[ValueTracking] Handle shl in isKnownNonEqual()

This handles the pattern X != X << C for non-zero X and C and a
non-overflowing shift. This establishes parity with the corresponing
fold for multiplies.
llvm/lib/Analysis/ValueTracking.cpp
llvm/test/Analysis/ValueTracking/known-non-equal.ll