[InstCombine] Use commutable matchers to reduce some code. NFC
authorCraig Topper <craig.topper@gmail.com>
Tue, 25 Apr 2017 06:02:11 +0000 (06:02 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 25 Apr 2017 06:02:11 +0000 (06:02 +0000)
llvm-svn: 301294

llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp

index 292c885..8cf48dc 100644 (file)
@@ -1407,11 +1407,9 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
     }
 
     // (A&((~A)|B)) -> A&B
-    if (match(Op0, m_Or(m_Not(m_Specific(Op1)), m_Value(A))) ||
-        match(Op0, m_Or(m_Value(A), m_Not(m_Specific(Op1)))))
+    if (match(Op0, m_c_Or(m_Not(m_Specific(Op1)), m_Value(A))))
       return BinaryOperator::CreateAnd(A, Op1);
-    if (match(Op1, m_Or(m_Not(m_Specific(Op0)), m_Value(A))) ||
-        match(Op1, m_Or(m_Value(A), m_Not(m_Specific(Op0)))))
+    if (match(Op1, m_c_Or(m_Not(m_Specific(Op0)), m_Value(A))))
       return BinaryOperator::CreateAnd(A, Op0);
 
     // (A ^ B) & ((B ^ C) ^ A) -> (A ^ B) & ~C