aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2022-05-03 12:16:29 +0200
committerNikita Popov <npopov@redhat.com>2022-05-03 15:47:02 +0200
commit2171a896ed0059e3576fd9c36d0021a3de11d31a (patch)
treefe9ad9d009ba5f843227048cc363396c4bd42b7c /clang/lib/Frontend/InitPreprocessor.cpp
parented2d4da732006d76e2f7b4315a2056b2d7b2f15c (diff)
downloadllvm-2171a896ed0059e3576fd9c36d0021a3de11d31a.zip
llvm-2171a896ed0059e3576fd9c36d0021a3de11d31a.tar.gz
llvm-2171a896ed0059e3576fd9c36d0021a3de11d31a.tar.bz2
[SDAG] Handle A and B&~A in haveNoCommonBitsSet()
This is the DAG variant of D124763. The code already handles the general pattern, but not this degenerate case. This allows folding A + (B&~A) to A | (B&~A) which further holds to A | B. Handling on the SDAG level is needed because in the motivating case the add is actually a getelementptr, which only gets converted into an add on the SDAG level. However, this patch is not quite sufficient to handle the getelementptr case yet, because of an interfering demanded bits simplification. Differential Revision: https://reviews.llvm.org/D124772
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions