reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4129 if (A == Op1 || B == Op1) { // (A^B) == A -> B == 0 4129 if (A == Op1 || B == Op1) { // (A^B) == A -> B == 0 4130 Value *OtherVal = A == Op1 ? B : A; 4134 if (match(Op1, m_Xor(m_Value(C), m_Value(D)))) { 4138 Op1->hasOneUse()) { 4156 if (match(Op1, m_Xor(m_Value(A), m_Value(B))) && (A == Op0 || B == Op0)) { 4164 match(Op1, m_OneUse(m_And(m_Value(C), m_Value(D))))) { 4186 Op1 = Builder.CreateXor(X, Y); 4187 Op1 = Builder.CreateAnd(Op1, Z); 4187 Op1 = Builder.CreateAnd(Op1, Z); 4188 I.setOperand(0, Op1); 4189 I.setOperand(1, Constant::getNullValue(Op1->getType())); 4198 match(Op1, m_And(m_Value(B), m_ConstantInt(Cst1)))) || 4199 (Op1->hasOneUse() && match(Op0, m_And(m_Value(B), m_ConstantInt(Cst1))) && 4200 match(Op1, m_ZExt(m_Value(A))))) { 4210 match(Op1, m_OneUse(m_LShr(m_Value(B), m_Specific(Cst1))))) || 4212 match(Op1, m_OneUse(m_AShr(m_Value(B), m_Specific(Cst1)))))) { 4226 match(Op1, m_OneUse(m_Shl(m_Value(B), m_Specific(Cst1))))) { 4243 match(Op1, m_ConstantInt(Cst1)) && 4266 if ((match(Op0, m_BSwap(m_Value(A))) && match(Op1, m_BSwap(m_Value(B)))) || 4268 match(Op1, m_BitReverse(m_Value(B))))) 4276 !match(Op1, m_ZeroInt())) 4281 if (match(Op0, m_OneUse(m_c_And(m_Neg(m_Specific(Op1)), m_Specific(Op1))))) 4281 if (match(Op0, m_OneUse(m_c_And(m_Neg(m_Specific(Op1)), m_Specific(Op1))))) 4282 A = Op1; 4283 else if (match(Op1,