reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 2497   if (match(Op0, m_And(m_Value(A), m_Value(C))) &&
 2499     ConstantInt *C1 = dyn_cast<ConstantInt>(C);
 2559       if (Value *V = matchSelectFromAndOr(A, C, B, D))
 2561       if (Value *V = matchSelectFromAndOr(A, C, D, B))
 2563       if (Value *V = matchSelectFromAndOr(C, A, B, D))
 2565       if (Value *V = matchSelectFromAndOr(C, A, D, B))
 2567       if (Value *V = matchSelectFromAndOr(B, D, A, C))
 2569       if (Value *V = matchSelectFromAndOr(B, D, C, A))
 2571       if (Value *V = matchSelectFromAndOr(D, B, A, C))
 2573       if (Value *V = matchSelectFromAndOr(D, B, C, A))
 2580     if (match(Op1, m_Xor(m_Xor(m_Specific(B), m_Value(C)), m_Specific(A))))
 2581       return BinaryOperator::CreateOr(Op0, C);
 2584   if (match(Op0, m_Xor(m_Xor(m_Value(A), m_Value(C)), m_Value(B))))
 2586       return BinaryOperator::CreateOr(Op1, C);
 2589   if (match(Op0, m_And(m_Or(m_Specific(Op1), m_Value(C)), m_Value(A))))
 2590     return BinaryOperator::CreateOr(Op1, Builder.CreateAnd(A, C));
 2706         match(Op1, m_Select(m_Value(Y), m_Value(C), m_Value(D))) && X == Y) {
 2707       Value *orTrue = Builder.CreateOr(A, C);