Fix 9216 - Endless loop in InstCombine pass.
authorNadav Rotem <nadav.rotem@intel.com>
Tue, 15 Feb 2011 07:13:48 +0000 (07:13 +0000)
committerNadav Rotem <nadav.rotem@intel.com>
Tue, 15 Feb 2011 07:13:48 +0000 (07:13 +0000)
commitd9e087bbc31f71a91ce5497f41e50de439805220
tree4894c76dd9d1065d9e5743e02131842d1ac4ec22
parent326d976eb2b03d1f2b7537d7b90dff264fd84378
Fix 9216 - Endless loop in InstCombine pass.
The pattern "A&(A^B) -> A & ~B" recreated itself because ~B is
actually a xor -1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125557 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
test/Transforms/InstCombine/2011-02-14-InfLoop.ll [new file with mode: 0644]