Lines Matching refs:Shr
2456 BinaryOperator *Shr, in foldICmpShrConstant() argument
2460 Value *X = Shr->getOperand(0); in foldICmpShrConstant()
2462 if (Cmp.isEquality() && Shr->isExact() && C.isZero()) in foldICmpShrConstant()
2465 bool IsAShr = Shr->getOpcode() == Instruction::AShr; in foldICmpShrConstant()
2469 return foldICmpShrConstConst(Cmp, Shr->getOperand(1), C, *ShiftValC); in foldICmpShrConstant()
2477 Shr->getOperand(1), in foldICmpShrConstant()
2491 Constant *NewC = ConstantInt::get(Shr->getType(), CmpLZ - ShiftLZ); in foldICmpShrConstant()
2493 return new ICmpInst(NewPred, Shr->getOperand(1), NewC); in foldICmpShrConstant()
2498 if (!match(Shr->getOperand(1), m_APInt(ShiftAmtC))) in foldICmpShrConstant()
2508 bool IsExact = Shr->isExact(); in foldICmpShrConstant()
2509 Type *ShrTy = Shr->getType(); in foldICmpShrConstant()
2514 if (IsAShr && Shr->hasOneUse()) { in foldICmpShrConstant()
2594 if (Shr->isExact()) in foldICmpShrConstant()
2607 if (Shr->hasOneUse()) { in foldICmpShrConstant()
2612 Value *And = Builder.CreateAnd(X, Mask, Shr->getName() + ".mask"); in foldICmpShrConstant()