Go to file
Craig Topper f60ab47098 [InstCombine] Fold (a | b) ^ (~a | ~b) --> ~(a ^ b) and (a & b) ^ (~a & ~b) --> ~(a ^ b)
Summary:
I came across this while thinking about what would happen if one of the operands in this xor pattern was itself a inverted (A & ~B) ^ (~A & B)-> (A^B).

The patterns here assume that the (~a | ~b) will be demorganed to ~(a & b) first. Though I wonder if there's a multiple use case that would prevent the demorgan.

Reviewers: spatel

Reviewed By: spatel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34870

llvm-svn: 306967
2017-07-02 01:15:51 +00:00
clang Add an option group for deprecated warnings. Add the removed 2017-07-01 21:36:21 +00:00
clang-tools-extra Fix ODR violations due to abuse of LLVM_YAML_IS_(FLOW_)?SEQUENCE_VECTOR 2017-06-30 20:57:16 +00:00
compiler-rt fix trivial typo; NFC 2017-07-01 08:58:47 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc generic: add missing get_work_dim include 2017-06-02 15:58:35 +00:00
libcxx Revert "[libcxx] Annotate c++17 aligned new/delete operators with availability" 2017-06-30 18:50:23 +00:00
libcxxabi Add some catch(...) blocks to the tests so that if they fail, we get a good error message. No functional change. 2017-06-22 00:49:03 +00:00
libunwind [libunwind] Add _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS 2017-06-27 18:37:06 +00:00
lld [COFF] Add initial support for linking ARM64 binaries 2017-07-01 20:29:27 +00:00
lldb Remove dead Core/StreamFile includes 2017-06-30 11:31:13 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [InstCombine] Fold (a | b) ^ (~a | ~b) --> ~(a ^ b) and (a & b) ^ (~a & ~b) --> ~(a ^ b) 2017-07-02 01:15:51 +00:00
openmp Make test/parallel/omp_nested.c not use so many threads 2017-06-27 03:04:25 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Introduce a hybrid target to generate code for either the GPU or CPU 2017-06-30 19:42:21 +00:00