diff options
Diffstat (limited to 'lib/Transforms/InstCombine/InstCombineAndOrXor.cpp')
-rw-r--r-- | lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp index 4542dda637..3f4a857c41 100644 --- a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp +++ b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp @@ -1597,14 +1597,6 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) { Instruction *Ret = FoldOrWithConstants(I, Op0, A, V1, D); if (Ret) return Ret; } - - // (A & ~D) | (B & D) -> ((B ^ A) & D) ^ A - if (Op0->hasOneUse() && Op1->hasOneUse() && - match(C, m_Not(m_Specific(D)))) { - Value *Xor = Builder->CreateXor(B, A, "xor"); - Value *And = Builder->CreateAnd(Xor, D, "and"); - return BinaryOperator::CreateXor(And, A); - } } // (X >> Z) | (Y >> Z) -> (X|Y) >> Z for all shifts. |