diff options
author | Monad <yanwqmonad@gmail.com> | 2024-04-30 18:07:40 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-30 18:07:40 +0800 |
commit | 34c89eff64cce7debb8e2d5a0d1c4d896a23e432 (patch) | |
tree | 0e4c0960cf69aacceff1286148d6081871ffdf1e /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 2cb97c7e29029dc552c66b3ddf6030d826538d47 (diff) | |
download | llvm-34c89eff64cce7debb8e2d5a0d1c4d896a23e432.zip llvm-34c89eff64cce7debb8e2d5a0d1c4d896a23e432.tar.gz llvm-34c89eff64cce7debb8e2d5a0d1c4d896a23e432.tar.bz2 |
[InstCombine] Fold `trunc nuw/nsw (x xor y) to i1` to `x != y` (#90408)
Fold:
``` llvm
define i1 @src(i8 %x, i8 %y) {
%xor = xor i8 %x, %y
%r = trunc nuw/nsw i8 %xor to i1
ret i1 %r
}
define i1 @tgt(i8 %x, i8 %y) {
%r = icmp ne i8 %x, %y
ret i1 %r
}
```
Proof: https://alive2.llvm.org/ce/z/dcuHmn
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions