diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-01-09 11:38:36 +0100 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2023-01-09 11:44:11 +0100 |
commit | e6375ca6dc5ba263ad3d9b6d779c5cf5b0f2e9ba (patch) | |
tree | 7b414aced86f2efbd6e716164b5c5844a0e644af /clang/lib/Basic/Module.cpp | |
parent | 05d722a11d779bd1d7990790b390f0d44a3d8afe (diff) | |
download | llvm-e6375ca6dc5ba263ad3d9b6d779c5cf5b0f2e9ba.zip llvm-e6375ca6dc5ba263ad3d9b6d779c5cf5b0f2e9ba.tar.gz llvm-e6375ca6dc5ba263ad3d9b6d779c5cf5b0f2e9ba.tar.bz2 |
[InstCombine] Fix potentially buggy code in `((%x & C) == 0) --> %x u< (-C)` transform
While demanded bits constant shrinking appears to prevent this in
practice right now, it is principally possible for C2 to have
set bits that are known not-needed (zeroable). See: D140858
`+` will overflow here, `|` will get the right logic.
Differential Revision: https://reviews.llvm.org/D141089
Diffstat (limited to 'clang/lib/Basic/Module.cpp')
0 files changed, 0 insertions, 0 deletions