Lines Matching defs:Shr
2511 BinaryOperator *Shr,
2515 Value *X = Shr->getOperand(0);
2517 if (Cmp.isEquality() && Shr->isExact() && C.isZero())
2520 bool IsAShr = Shr->getOpcode() == Instruction::AShr;
2524 return foldICmpShrConstConst(Cmp, Shr->getOperand(1), C, *ShiftValC);
2532 Shr->getOperand(1),
2546 Constant *NewC = ConstantInt::get(Shr->getType(), CmpLZ - ShiftLZ);
2548 return new ICmpInst(NewPred, Shr->getOperand(1), NewC);
2553 if (!match(Shr->getOperand(1), m_APInt(ShiftAmtC)))
2563 bool IsExact = Shr->isExact();
2564 Type *ShrTy = Shr->getType();
2569 if (IsAShr && Shr->hasOneUse()) {
2649 if (Shr->isExact())
2662 if (Shr->hasOneUse()) {
2667 Value *And = Builder.CreateAnd(X, Mask, Shr->getName() + ".mask");