Lines Matching refs:Op0I
1276 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0)) { in visitAnd() local
1277 Value *Op0LHS = Op0I->getOperand(0); in visitAnd()
1278 Value *Op0RHS = Op0I->getOperand(1); in visitAnd()
1279 switch (Op0I->getOpcode()) { in visitAnd()
1284 if (!Op0I->hasOneUse()) break; in visitAnd()
1291 return BinaryOperator::Create(Op0I->getOpcode(), Op0LHS, NewRHS); in visitAnd()
1298 return BinaryOperator::Create(Op0I->getOpcode(), NewLHS, Op0RHS); in visitAnd()
1326 if (Op0I->hasOneUse() && !match(Op0LHS, m_Zero())) { in visitAnd()
1350 if (ConstantInt *Op0CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) in visitAnd()
1351 if (Instruction *Res = OptAndOp(Op0I, Op0CI, AndRHS, I)) in visitAnd()
2640 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(NotOp)) { in visitXor() local
2641 if (Op0I->getOpcode() == Instruction::And || in visitXor()
2642 Op0I->getOpcode() == Instruction::Or) { in visitXor()
2645 if (dyn_castNotVal(Op0I->getOperand(1))) in visitXor()
2646 Op0I->swapOperands(); in visitXor()
2647 if (Value *Op0NotVal = dyn_castNotVal(Op0I->getOperand(0))) { in visitXor()
2649 Builder->CreateNot(Op0I->getOperand(1), in visitXor()
2650 Op0I->getOperand(1)->getName()+".not"); in visitXor()
2651 if (Op0I->getOpcode() == Instruction::And) in visitXor()
2658 if (IsFreeToInvert(Op0I->getOperand(0), in visitXor()
2659 Op0I->getOperand(0)->hasOneUse()) && in visitXor()
2660 IsFreeToInvert(Op0I->getOperand(1), in visitXor()
2661 Op0I->getOperand(1)->hasOneUse())) { in visitXor()
2663 Builder->CreateNot(Op0I->getOperand(0), "notlhs"); in visitXor()
2665 Builder->CreateNot(Op0I->getOperand(1), "notrhs"); in visitXor()
2666 if (Op0I->getOpcode() == Instruction::And) in visitXor()
2671 } else if (Op0I->getOpcode() == Instruction::AShr) { in visitXor()
2673 if (Value *Op0NotVal = dyn_castNotVal(Op0I->getOperand(0))) in visitXor()
2674 return BinaryOperator::CreateAShr(Op0NotVal, Op0I->getOperand(1)); in visitXor()
2704 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0)) { in visitXor() local
2706 if (Op0I->getOpcode() == Instruction::Sub && RHS->isAllOnesValue()) in visitXor()
2707 if (Constant *Op0I0C = dyn_cast<Constant>(Op0I->getOperand(0))) { in visitXor()
2711 return BinaryOperator::CreateAdd(Op0I->getOperand(1), ConstantRHS); in visitXor()
2714 if (ConstantInt *Op0CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) { in visitXor()
2715 if (Op0I->getOpcode() == Instruction::Add) { in visitXor()
2722 Op0I->getOperand(0)); in visitXor()
2726 return BinaryOperator::CreateAdd(Op0I->getOperand(0), C); in visitXor()
2729 } else if (Op0I->getOpcode() == Instruction::Or) { in visitXor()
2731 if (MaskedValueIsZero(Op0I->getOperand(0), Op0CI->getValue(), in visitXor()
2739 Worklist.Add(Op0I); in visitXor()
2740 I.setOperand(0, Op0I->getOperand(0)); in visitXor()
2744 } else if (Op0I->getOpcode() == Instruction::LShr) { in visitXor()
2749 if (Op0I->hasOneUse() && in visitXor()
2750 (E1 = dyn_cast<BinaryOperator>(Op0I->getOperand(0))) && in visitXor()
2759 Opnd0->takeName(Op0I); in visitXor()
2803 BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0); in visitXor() local
2804 if (Op0I) { in visitXor()
2806 if (match(Op0I, m_Or(m_Value(A), m_Value(B))) && in visitXor()
2807 Op0I->hasOneUse()) { in visitXor()
2812 } else if (match(Op0I, m_And(m_Value(A), m_Value(B))) && in visitXor()
2813 Op0I->hasOneUse()){ in visitXor()
2823 if (Op0I && Op1I) { in visitXor()
2826 if (match(Op0I, m_And(m_Value(A), m_Value(B))) && in visitXor()
2832 if (match(Op0I, m_Or(m_Value(A), m_Value(B))) && in visitXor()
2838 if (match(Op0I, m_Or(m_Value(A), m_Not(m_Value(B)))) && in visitXor()
2843 if (match(Op0I, m_Or(m_Not(m_Value(A)), m_Value(B))) && in visitXor()
2848 if (match(Op0I, m_And(m_Value(A), m_Not(m_Value(B)))) && in visitXor()
2853 if (match(Op0I, m_And(m_Not(m_Value(A)), m_Value(B))) && in visitXor()
2858 if (match(Op0I, m_Xor(m_Value(D), m_Value(C))) && in visitXor()
2868 if (match(Op0I, m_Or(m_Value(A), m_Value(B))) && in visitXor()
2878 if (match(Op0I, m_And(m_Value(A), m_Value(B))) && in visitXor()
2882 if (match(Op0I, m_Xor(m_Value(A), m_Value(B))) && in visitXor()