Lines Matching refs:Op0I
1334 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0)) { in visitAnd() local
1335 Value *Op0LHS = Op0I->getOperand(0); in visitAnd()
1336 Value *Op0RHS = Op0I->getOperand(1); in visitAnd()
1337 switch (Op0I->getOpcode()) { in visitAnd()
1342 if (!Op0I->hasOneUse()) break; in visitAnd()
1349 return BinaryOperator::Create(Op0I->getOpcode(), Op0LHS, NewRHS); in visitAnd()
1356 return BinaryOperator::Create(Op0I->getOpcode(), NewLHS, Op0RHS); in visitAnd()
1384 if (Op0I->hasOneUse() && !match(Op0LHS, m_Zero())) { in visitAnd()
1408 if (ConstantInt *Op0CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) in visitAnd()
1409 if (Instruction *Res = OptAndOp(Op0I, Op0CI, AndRHS, I)) in visitAnd()
2499 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(NotOp)) { in visitXor() local
2500 if (Op0I->getOpcode() == Instruction::And || in visitXor()
2501 Op0I->getOpcode() == Instruction::Or) { in visitXor()
2504 if (dyn_castNotVal(Op0I->getOperand(1))) in visitXor()
2505 Op0I->swapOperands(); in visitXor()
2506 if (Value *Op0NotVal = dyn_castNotVal(Op0I->getOperand(0))) { in visitXor()
2508 Builder->CreateNot(Op0I->getOperand(1), in visitXor()
2509 Op0I->getOperand(1)->getName()+".not"); in visitXor()
2510 if (Op0I->getOpcode() == Instruction::And) in visitXor()
2517 if (IsFreeToInvert(Op0I->getOperand(0), in visitXor()
2518 Op0I->getOperand(0)->hasOneUse()) && in visitXor()
2519 IsFreeToInvert(Op0I->getOperand(1), in visitXor()
2520 Op0I->getOperand(1)->hasOneUse())) { in visitXor()
2522 Builder->CreateNot(Op0I->getOperand(0), "notlhs"); in visitXor()
2524 Builder->CreateNot(Op0I->getOperand(1), "notrhs"); in visitXor()
2525 if (Op0I->getOpcode() == Instruction::And) in visitXor()
2530 } else if (Op0I->getOpcode() == Instruction::AShr) { in visitXor()
2532 if (Value *Op0NotVal = dyn_castNotVal(Op0I->getOperand(0))) in visitXor()
2533 return BinaryOperator::CreateAShr(Op0NotVal, Op0I->getOperand(1)); in visitXor()
2563 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0)) { in visitXor() local
2565 if (Op0I->getOpcode() == Instruction::Sub && RHS->isAllOnesValue()) in visitXor()
2566 if (Constant *Op0I0C = dyn_cast<Constant>(Op0I->getOperand(0))) { in visitXor()
2570 return BinaryOperator::CreateAdd(Op0I->getOperand(1), ConstantRHS); in visitXor()
2573 if (ConstantInt *Op0CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) { in visitXor()
2574 if (Op0I->getOpcode() == Instruction::Add) { in visitXor()
2581 Op0I->getOperand(0)); in visitXor()
2585 return BinaryOperator::CreateAdd(Op0I->getOperand(0), C); in visitXor()
2588 } else if (Op0I->getOpcode() == Instruction::Or) { in visitXor()
2590 if (MaskedValueIsZero(Op0I->getOperand(0), Op0CI->getValue(), in visitXor()
2598 Worklist.Add(Op0I); in visitXor()
2599 I.setOperand(0, Op0I->getOperand(0)); in visitXor()
2603 } else if (Op0I->getOpcode() == Instruction::LShr) { in visitXor()
2608 if (Op0I->hasOneUse() && in visitXor()
2609 (E1 = dyn_cast<BinaryOperator>(Op0I->getOperand(0))) && in visitXor()
2618 Opnd0->takeName(Op0I); in visitXor()
2662 BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0); in visitXor() local
2663 if (Op0I) { in visitXor()
2665 if (match(Op0I, m_Or(m_Value(A), m_Value(B))) && in visitXor()
2666 Op0I->hasOneUse()) { in visitXor()
2671 } else if (match(Op0I, m_And(m_Value(A), m_Value(B))) && in visitXor()
2672 Op0I->hasOneUse()){ in visitXor()
2682 if (Op0I && Op1I) { in visitXor()
2685 if (match(Op0I, m_And(m_Value(A), m_Value(B))) && in visitXor()
2691 if (match(Op0I, m_Or(m_Value(A), m_Value(B))) && in visitXor()
2697 if (match(Op0I, m_Or(m_Value(A), m_Not(m_Value(B)))) && in visitXor()
2702 if (match(Op0I, m_Or(m_Not(m_Value(A)), m_Value(B))) && in visitXor()
2707 if (match(Op0I, m_And(m_Value(A), m_Not(m_Value(B)))) && in visitXor()
2712 if (match(Op0I, m_And(m_Not(m_Value(A)), m_Value(B))) && in visitXor()
2717 if (match(Op0I, m_Xor(m_Value(D), m_Value(C))) && in visitXor()
2727 if (match(Op0I, m_Or(m_Value(A), m_Value(B))) && in visitXor()
2737 if (match(Op0I, m_And(m_Value(A), m_Value(B))) && in visitXor()
2741 if (match(Op0I, m_Xor(m_Value(A), m_Value(B))) && in visitXor()