[InstCombine] add/move folds for [not]-xor
authorSanjay Patel <spatel@rotateright.com>
Sun, 23 Apr 2017 22:00:02 +0000 (22:00 +0000)
committerSanjay Patel <spatel@rotateright.com>
Sun, 23 Apr 2017 22:00:02 +0000 (22:00 +0000)
commite0c26e0640acc94a79af3fdb746dfdc98dbb44ef
treedfdd44fd35b9a6b933fdaf9a6840fa5012c6ff4a
parent15744ad87b65bd7c28a5573e28550398deba1378
[InstCombine] add/move folds for [not]-xor

We handled all of the commuted variants for plain xor already,
although they were scattered around and sometimes folded less
efficiently using distributive laws. We had no folds for not-xor.

Handling all of these patterns consistently is part of trying to
reinstate:
https://reviews.llvm.org/rL300977

llvm-svn: 301144
llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
llvm/test/Transforms/InstCombine/and-or-not.ll