summaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2020-09-18 10:46:48 -0700
committerJessica Paquette <jpaquette@apple.com>2020-09-28 10:08:14 -0700
commita52e78012a548c231fb8cba81861f6ffb2246726 (patch)
treebf3254d6b126d8c0575b21be4ce376a608cd4d6f /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parentad4f11a9d38339848318b4a476a8d3d53a7d1f3f (diff)
[GlobalISel] Combine (xor (and x, y), y) -> (and (not x), y)
When we see this: ``` %and = G_AND %x, %y %xor = G_XOR %and, %y ``` Produce this: ``` %not = G_XOR %x, -1 %new_and = G_AND %not, %y ``` as long as we are guaranteed to eliminate the original G_AND. Also matches all commuted forms. E.g. ``` %and = G_AND %y, %x %xor = G_XOR %y, %and ``` will be matched as well. Differential Revision: https://reviews.llvm.org/D88104
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions