Home | History | Annotate | Download | only in InstCombine

Lines Matching defs:Op1

530   Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
532 if (Value *V = SimplifySubInst(Op0, Op1, I.hasNoSignedWrap(),
541 if (Value *V = dyn_castNegVal(Op1)) {
549 return BinaryOperator::CreateXor(Op0, Op1);
553 return BinaryOperator::CreateNot(Op1);
558 if (match(Op1, m_Not(m_Value(X))))
565 if (match(Op1, m_LShr(m_Value(X), m_ConstantInt(CI))) &&
570 if (match(Op1, m_AShr(m_Value(X), m_ConstantInt(CI))) &&
577 if (SelectInst *SI = dyn_cast<SelectInst>(Op1))
582 if (ZExtInst *ZI = dyn_cast<ZExtInst>(Op1))
588 if (match(Op1, m_Add(m_Value(X), m_ConstantInt(C2))))
595 if (match(Op1, m_Add(m_Specific(Op0), m_Value(Y))) ||
596 match(Op1, m_Add(m_Value(Y), m_Specific(Op0))))
600 if (match(Op0, m_Sub(m_Specific(Op1), m_Value(Y))))
604 if (Op1->hasOneUse()) {
610 if (match(Op1, m_Sub(m_Value(Y), m_Value(Z))))
612 Builder->CreateSub(Z, Y, Op1->getName()));
616 if (match(Op1, m_And(m_Value(Y), m_Specific(Op0))) ||
617 match(Op1, m_And(m_Specific(Op0), m_Value(Y))))
622 if (match(Op1, m_SDiv(m_Value(X), m_Constant(C))) &&
627 if (match(Op1, m_Shl(m_Value(X), m_Value(Y))) && match(Op0, m_Zero()))
632 if (match(Op1, m_Mul(m_Specific(Op0), m_ConstantInt(CI)))) {
638 if (match(Op1, m_Shl(m_Specific(Op0), m_ConstantInt(CI)))) {
647 if (match(Op1, m_Mul(m_Value(A), m_Neg(m_Value(B)))) ||
648 match(Op1, m_Mul(m_Neg(m_Value(A)), m_Value(B))))
653 if (match(Op1, m_Mul(m_Value(A), m_ConstantInt(CI))) ||
654 match(Op1, m_Mul(m_ConstantInt(CI), m_Value(A)))) {
662 if (X == Op1) // X*C - X --> X * (C-1)
663 return BinaryOperator::CreateMul(Op1, SubOne(C1));
666 if (X == dyn_castFoldableMul(Op1, C2))
675 match(Op1, m_PtrToInt(m_Value(RHSOp))))
681 match(Op1, m_Trunc(m_PtrToInt(m_Value(RHSOp)))))
690 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
693 if (Value *V = dyn_castFNegVal(Op1))