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