OSDN Git Service

don't turn (A & (C0?-1:0)) | (B & ~(C0?-1:0)) -> C0 ? A : B
authorChris Lattner <sabre@nondot.org>
Tue, 2 Feb 2010 02:43:51 +0000 (02:43 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 2 Feb 2010 02:43:51 +0000 (02:43 +0000)
commit39ceb471b7ebaf0ebef09f7916419ae2e0f30acc
tree84e7fffc926ecc8b008d545f49f4be696d1039df
parent3a819568ca4ce1fdf04764ff466678e687479921
don't turn (A & (C0?-1:0)) | (B & ~(C0?-1:0)) ->  C0 ? A : B
for vectors.  Codegen is generating awful code or segfaulting
in various cases (e.g. PR6204).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95058 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
test/Transforms/InstCombine/or.ll