Fix a DAG combine bug visitBRCOND() is transforming br(xor(x, y)) to br(x != y).
authorEvan Cheng <evan.cheng@apple.com>
Wed, 9 Jan 2013 20:56:40 +0000 (20:56 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 9 Jan 2013 20:56:40 +0000 (20:56 +0000)
commit78ec0255d9ab184af7799c14d93879e5f21b9007
tree56c84b8bd23c11613aa352330bee985426c38a8b
parentf48acd5ecd2616623f441f2922d8b4c637e3cd6c
Fix a DAG combine bug visitBRCOND() is transforming br(xor(x, y)) to br(x != y).
It cahced XOR's operands before calling visitXOR() but failed to update the
operands when visitXOR changed the XOR node.

rdar://12968664

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171999 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/2013-01-09-DAGCombineBug.ll [new file with mode: 0644]