Lines Matching refs:Shr
2207 BinaryOperator *Shr, in foldICmpShrConstant() argument
2211 Value *X = Shr->getOperand(0); in foldICmpShrConstant()
2213 if (Cmp.isEquality() && Shr->isExact() && Shr->hasOneUse() && in foldICmpShrConstant()
2218 if (Cmp.isEquality() && match(Shr->getOperand(0), m_APInt(ShiftVal))) in foldICmpShrConstant()
2219 return foldICmpShrConstConst(Cmp, Shr->getOperand(1), C, *ShiftVal); in foldICmpShrConstant()
2222 if (!match(Shr->getOperand(1), m_APInt(ShiftAmt))) in foldICmpShrConstant()
2232 bool IsAShr = Shr->getOpcode() == Instruction::AShr; in foldICmpShrConstant()
2233 bool IsExact = Shr->isExact(); in foldICmpShrConstant()
2234 Type *ShrTy = Shr->getType(); in foldICmpShrConstant()
2284 if (Shr->isExact()) in foldICmpShrConstant()
2287 if (Shr->hasOneUse()) { in foldICmpShrConstant()
2292 Value *And = Builder.CreateAnd(X, Mask, Shr->getName() + ".mask"); in foldICmpShrConstant()