diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-09-29 11:45:15 -0500 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-10-27 17:36:30 -0500 |
commit | 0289dad538fa2fdc1a82a26f5d19f94fbd20d949 (patch) | |
tree | 01bb185267a7143f359de16f381af31cf5abb698 /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | 731bdcef2ef89201b77a86533245a8b4c96a2d7f (diff) | |
download | llvm-0289dad538fa2fdc1a82a26f5d19f94fbd20d949.zip llvm-0289dad538fa2fdc1a82a26f5d19f94fbd20d949.tar.gz llvm-0289dad538fa2fdc1a82a26f5d19f94fbd20d949.tar.bz2 |
[InstCombine] Add folds for (icmp eq/ne (and (add/sub/xor A, P2), P2), 0/P2)
- `(icmp eq/ne (and (add/sub/xor X, P2), P2), P2)`
-> `(icmp eq/ne (and X, P2), 0)`
- `(icmp eq/ne (and (add/sub/xor X, P2), P2), 0)`
-> `(icmp eq/ne (and X, P2), P2)`
Folds like this come up with reasonable regularity in odd/even loops.
Proofs: https://alive2.llvm.org/ce/z/45pq2x
Closes #67836
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions