diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-02-24 02:27:34 -0600 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-02-24 15:22:09 -0600 |
commit | e981e6d10ed323b8cb9ea1f82723bf3009f0bfc3 (patch) | |
tree | 220e3002080a506aaf633f3a5402ea6c29ba4ce4 /llvm/lib/Support/PrettyStackTrace.cpp | |
parent | 8c74c5402f6dd400163fed7c3b39a376fa9e9dc1 (diff) | |
download | llvm-e981e6d10ed323b8cb9ea1f82723bf3009f0bfc3.zip llvm-e981e6d10ed323b8cb9ea1f82723bf3009f0bfc3.tar.gz llvm-e981e6d10ed323b8cb9ea1f82723bf3009f0bfc3.tar.bz2 |
Add transform for `(and/or (icmp eq/ne A,-1),(icmp eq/ne A,-1+C))`->`(and/or (icmp eq/ne (and ~A,-1+C),0))`
This works of `-1+C` is a negative power of 2.
This can be more useful than the `AddAnd` case as `~A` does not
necessarily require materializing a constant. This makes the transform
worth it for X86 vector types.
Alive2 Links:
EQ: https://alive2.llvm.org/ce/z/P6u8cq
NE: https://alive2.llvm.org/ce/z/_Kkqp1
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D144284
Diffstat (limited to 'llvm/lib/Support/PrettyStackTrace.cpp')
0 files changed, 0 insertions, 0 deletions