DAGCombine: fold (or (and X, M), (and X, N)) -> (and X, (or M, N))
authorTim Northover <tnorthover@apple.com>
Wed, 21 Jan 2015 23:17:19 +0000 (23:17 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 21 Jan 2015 23:17:19 +0000 (23:17 +0000)
commitf5f8a3e6a6ed8f72d1ed57c29e5fc6686bbcbedd
tree2cba057718d5fb285a9f0721b98b19ca917bd34a
parentf93662d3d5a61c8f166db48614faa7b92f98c4c8
DAGCombine: fold (or (and X, M), (and X, N)) -> (and X, (or M, N))

It can help with argument juggling on some targets, and is generally a good
idea.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226740 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AArch64/or-combine.ll [new file with mode: 0644]
test/CodeGen/R600/extload.ll
test/CodeGen/X86/vselect.ll