Lines Matching refs:And

1659                                                 BinaryOperator *And,  in foldICmpAndShift()  argument
1662 BinaryOperator *Shift = dyn_cast<BinaryOperator>(And->getOperand(0)); in foldICmpAndShift()
1719 Shift->getOperand(0), ConstantInt::get(And->getType(), NewAndCst)); in foldICmpAndShift()
1721 NewAnd, ConstantInt::get(And->getType(), NewCmpCst)); in foldICmpAndShift()
1732 IsShl ? Builder.CreateLShr(And->getOperand(1), Shift->getOperand(1)) in foldICmpAndShift()
1733 : Builder.CreateShl(And->getOperand(1), Shift->getOperand(1)); in foldICmpAndShift()
1745 BinaryOperator *And, in foldICmpAndConstConst() argument
1753 match(And->getOperand(1), m_One())) in foldICmpAndConstConst()
1754 return new TruncInst(And->getOperand(0), Cmp.getType()); in foldICmpAndConstConst()
1758 if (!match(And, m_And(m_Value(X), m_APInt(C2)))) in foldICmpAndConstConst()
1762 if (!And->hasOneUse()) in foldICmpAndConstConst()
1778 ConstantExpr::getNeg(cast<Constant>(And->getOperand(1))); in foldICmpAndConstConst()
1793 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) && in foldICmpAndConstConst()
1803 Value *NewAnd = Builder.CreateAnd(W, ZextC2, And->getName()); in foldICmpAndConstConst()
1808 if (Instruction *I = foldICmpAndShift(Cmp, And, C1, *C2)) in foldICmpAndConstConst()
1815 if (!Cmp.isSigned() && C1.isNullValue() && And->getOperand(0)->hasOneUse() && in foldICmpAndConstConst()
1816 match(And->getOperand(1), m_One())) { in foldICmpAndConstConst()
1817 Constant *One = cast<Constant>(And->getOperand(1)); in foldICmpAndConstConst()
1818 Value *Or = And->getOperand(0); in foldICmpAndConstConst()
1823 if (And->hasOneUse()) in foldICmpAndConstConst()
1842 Value *NewAnd = Builder.CreateAnd(A, NewOr, And->getName()); in foldICmpAndConstConst()
1853 BinaryOperator *And, in foldICmpAndConstant() argument
1855 if (Instruction *I = foldICmpAndConstConst(Cmp, And, C)) in foldICmpAndConstant()
1864 if (match(And->getOperand(0), m_Add(m_Value(X), m_AllOnes())) && in foldICmpAndConstant()
1865 match(And->getOperand(1), m_Not(m_Specific(X)))) { in foldICmpAndConstant()
1874 Value *X = And->getOperand(0); in foldICmpAndConstant()
1875 Value *Y = And->getOperand(1); in foldICmpAndConstant()
1902 if (And->hasOneUse() && C.isNullValue() && match(Y, m_APInt(C2))) { in foldICmpAndConstant()
1906 if (auto *AndVTy = dyn_cast<VectorType>(And->getType())) in foldICmpAndConstant()
1947 Value *And = Builder.CreateAnd(OrOp0, ~(*MaskC)); in foldICmpOrConstant() local
1949 return new ICmpInst(Pred, And, NewC); in foldICmpOrConstant()
1964 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or; in foldICmpOrConstant()
1977 auto BOpc = Pred == CmpInst::ICMP_EQ ? Instruction::And : Instruction::Or; in foldICmpOrConstant()
2164 Value *And = Builder.CreateAnd(X, Mask, Shl->getName() + ".mask"); in foldICmpShlConstant() local
2166 return new ICmpInst(Pred, And, LShrC); in foldICmpShlConstant()
2176 Value *And = Builder.CreateAnd(X, Mask, Shl->getName() + ".mask"); in foldICmpShlConstant() local
2178 And, Constant::getNullValue(ShType)); in foldICmpShlConstant()
2186 Value *And = Builder.CreateAnd(X, (~C).lshr(ShiftAmt->getZExtValue())); in foldICmpShlConstant() local
2189 And, Constant::getNullValue(ShType)); in foldICmpShlConstant()
2194 Value *And = in foldICmpShlConstant() local
2198 And, Constant::getNullValue(ShType)); in foldICmpShlConstant()
2334 Value *And = Builder.CreateAnd(X, Mask, Shr->getName() + ".mask"); in foldICmpShrConstant() local
2335 return new ICmpInst(Pred, And, ConstantInt::get(ShrTy, C << ShAmtVal)); in foldICmpShrConstant()
2365 Value *And = Builder.CreateAnd(SRem->getOperand(0), MaskC); in foldICmpSRemConstant() local
2371 return new ICmpInst(ICmpInst::ICMP_SGT, And, ConstantInt::getNullValue(Ty)); in foldICmpSRemConstant()
2376 return new ICmpInst(ICmpInst::ICMP_UGT, And, ConstantInt::get(Ty, SignMask)); in foldICmpSRemConstant()
2969 case Instruction::And: in foldICmpInstWithConstant()
3119 Value *And = Builder.CreateAnd(BOp0, NotBOC); in foldICmpBinOpEqualityWithConstant() local
3120 return new ICmpInst(Pred, And, NotBOC); in foldICmpBinOpEqualityWithConstant()
3124 case Instruction::And: { in foldICmpBinOpEqualityWithConstant()
4414 Value *And = Builder.CreateAnd(Xor, Builder.getInt(AndVal), in foldICmpEquality() local
4416 return new ICmpInst(Pred, And, Constant::getNullValue(Cst1->getType())); in foldICmpEquality()
4775 if (BO->getOpcode() != Instruction::And) in processUMulZExtIdiom()
4892 assert(BO->getOpcode() == Instruction::And); in processUMulZExtIdiom()