Re-apply r113679, which was reverted in r113720, which added a paid of new instcombin...
authorOwen Anderson <resistor@mac.com>
Mon, 13 Sep 2010 17:59:27 +0000 (17:59 +0000)
committerOwen Anderson <resistor@mac.com>
Mon, 13 Sep 2010 17:59:27 +0000 (17:59 +0000)
commit2c5f19db2eef055d2a65482504ae98e79f2ca24d
treedf21ac074b206dbe942d68a54640a279bb8c2368
parentbecf392e3bff4e547789633b4ad095b49e93684e
Re-apply r113679, which was reverted in r113720, which added a paid of new instcombine transforms
to expose greater opportunities for store narrowing in codegen.  This patch fixes a potential
infinite loop in instcombine caused by one of the introduced transforms being overly aggressive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113763 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
test/CodeGen/ARM/fast-isel.ll
test/Transforms/InstCombine/cast.ll
test/Transforms/InstCombine/or.ll
test/Transforms/InstCombine/xor2.ll