diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2024-03-30 21:39:36 -0500 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2024-05-16 13:03:32 -0500 |
commit | 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0 (patch) | |
tree | 53c70057603dcc29a71a9679ff097136246a1a64 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
parent | 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf (diff) | |
download | llvm-05347f8c2fde0cde2fd12f1ec3611eeaf666ece0.zip llvm-05347f8c2fde0cde2fd12f1ec3611eeaf666ece0.tar.gz llvm-05347f8c2fde0cde2fd12f1ec3611eeaf666ece0.tar.bz2 |
[ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`
`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.
`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.
Proofs: https://alive2.llvm.org/ce/z/sc5k22
Closes #87180
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions