Lines Matching defs:Or

1856     Value *Or = And->getOperand(0);
1858 if (match(Or, m_Or(m_Value(LShr), m_Value(A))) &&
1863 if (Or->hasOneUse())
1874 One, Or->getName());
2029 static Value *foldICmpOrXorSubChain(ICmpInst &Cmp, BinaryOperator *Or,
2041 SmallVector<Value *, 16> WorkList(1, Or);
2075 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
2089 BinaryOperator *Or,
2095 if (Pred == ICmpInst::ICMP_SLT && match(Or, m_Signum(m_Value(V))))
2100 Value *OrOp0 = Or->getOperand(0), *OrOp1 = Or->getOperand(1);
2105 cast<PossiblyDisjointInst>(Or)->isDisjoint()) {
2125 if (Or->hasOneUse()) {
2127 Constant *NewC = ConstantInt::get(Or->getType(), C ^ (*MaskC));
2137 match(Or, m_c_Or(m_Add(m_Value(X), m_AllOnes()), m_Deferred(X)))) {
2145 if (C.isNonNegative() && match(Or, m_Or(m_Value(X), m_APInt(OrC)))) {
2167 if (!Cmp.isEquality() || !C.isZero() || !Or->hasOneUse())
2171 if (match(Or, m_Or(m_PtrToInt(m_Value(P)), m_PtrToInt(m_Value(Q))))) {
2178 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
2182 if (Value *V = foldICmpOrXorSubChain(Cmp, Or, Builder))
2810 auto Logic = Pred == ICmpInst::ICMP_EQ ? Instruction::And : Instruction::Or;
3616 Value *Or = Builder.CreateOr(BOp0, BOp1);
3617 return new ICmpInst(Pred, Or, Constant::getNullValue(BO->getType()));
3636 case Instruction::Or: {
3666 Pred == ICmpInst::ICMP_EQ ? Instruction::And : Instruction::Or, Cmp,
3689 Pred == ICmpInst::ICMP_EQ ? Instruction::And : Instruction::Or, Cmp,
3848 Value *Or = Builder.CreateOr(II->getArgOperand(0), II->getArgOperand(1));
3849 return new ICmpInst(Pred, Or, Constant::getNullValue(Ty));
3967 case Instruction::Or:
4074 SatValCheck ? Instruction::BinaryOps::Or : Instruction::BinaryOps::And;
4077 if (CombiningOp == Instruction::BinaryOps::Or)
4381 case Instruction::Or:
4694 // Or they both have identical types if there was no truncation.
5166 } else if (BO.getOpcode() == Instruction::Or) {
6887 Pred1 == ICmpInst::ICMP_EQ ? Instruction::Or : Instruction::And,