aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2023-01-27 17:26:19 -0600
committerNoah Goldstein <goldstein.w.n@gmail.com>2023-01-27 20:35:40 -0600
commitbaf7f7e5752ceba898e1a434c4512de9d35863b0 (patch)
treece433d8c7e21aa99a2e48802b3423130ac6a41ac /clang/lib/Basic/SourceManager.cpp
parent09b7692c62599f36093857493a96be782a48b8ee (diff)
downloadllvm-baf7f7e5752ceba898e1a434c4512de9d35863b0.zip
llvm-baf7f7e5752ceba898e1a434c4512de9d35863b0.tar.gz
llvm-baf7f7e5752ceba898e1a434c4512de9d35863b0.tar.bz2
Recommit "Add optimizations for icmp eq/ne (mul(X, Y), 0)" 2nd Try
First time caused build failure: https://lab.llvm.org/buildbot/#/builders/183/builds/10447 but after investigating it seems to be unrelated. The same test/build passed later with the original commit here: https://lab.llvm.org/buildbot/#/builders/183/builds/10448 1. Add checks if X and/or Y are odd. The Odd values are unnecessary to the icmp: isZero(Odd * N) == isZero(N) 2. If neither X nor Y is known odd, then if X * Y cannot overflow AND if X and/or Y is non-zero, the non-zero values are unnecessary to the icmp. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D140850
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions