Lines Matching defs:Or
1822 Value *Or = And->getOperand(0);
1824 if (match(Or, m_Or(m_Value(LShr), m_Value(A))) &&
1829 if (Or->hasOneUse())
1840 One, Or->getName());
1979 static Value *foldICmpOrXorSubChain(ICmpInst &Cmp, BinaryOperator *Or,
1991 SmallVector<Value *, 16> WorkList(1, Or);
2025 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
2039 BinaryOperator *Or,
2045 if (Pred == ICmpInst::ICMP_SLT && match(Or, m_Signum(m_Value(V))))
2050 Value *OrOp0 = Or->getOperand(0), *OrOp1 = Or->getOperand(1);
2055 cast<PossiblyDisjointInst>(Or)->isDisjoint()) {
2075 if (Or->hasOneUse()) {
2077 Constant *NewC = ConstantInt::get(Or->getType(), C ^ (*MaskC));
2087 match(Or, m_c_Or(m_Add(m_Value(X), m_AllOnes()), m_Deferred(X)))) {
2095 if (C.isNonNegative() && match(Or, m_Or(m_Value(X), m_APInt(OrC)))) {
2117 if (!Cmp.isEquality() || !C.isZero() || !Or->hasOneUse())
2121 if (match(Or, m_Or(m_PtrToInt(m_Value(P)), m_PtrToInt(m_Value(Q))))) {
2128 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
2132 if (Value *V = foldICmpOrXorSubChain(Cmp, Or, Builder))
2724 auto Logic = Pred == ICmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
3502 Value *Or = Builder.CreateOr(BOp0, BOp1);
3503 return new ICmpInst(Pred, Or, Constant::getNullValue(BO->getType()));
3522 case Instruction::Or: {
3687 Value *Or = Builder.CreateOr(II->getArgOperand(0), II->getArgOperand(1));
3688 return new ICmpInst(Pred, Or, Constant::getNullValue(Ty));
3806 case Instruction::Or:
3913 SatValCheck ? Instruction::BinaryOps::Or : Instruction::BinaryOps::And;
3916 if (CombiningOp == Instruction::BinaryOps::Or)
4203 case Instruction::Or:
4516 // Or they both have identical types if there was no truncation.
4978 } else if (BO.getOpcode() == Instruction::Or) {
6727 Pred1 == ICmpInst::ICMP_EQ ? Instruction::Or : Instruction::And,