Lines Matching defs:MM
581 static bool processMinMaxIntrinsic(MinMaxIntrinsic *MM, LazyValueInfo *LVI) {
582 CmpInst::Predicate Pred = CmpInst::getNonStrictPredicate(MM->getPredicate());
583 ConstantRange LHS_CR = LVI->getConstantRangeAtUse(MM->getOperandUse(0),
585 ConstantRange RHS_CR = LVI->getConstantRangeAtUse(MM->getOperandUse(1),
589 MM->replaceAllUsesWith(MM->getLHS());
590 MM->eraseFromParent();
595 MM->replaceAllUsesWith(MM->getRHS());
596 MM->eraseFromParent();
600 if (MM->isSigned() &&
604 IRBuilder<> B(MM);
605 MM->replaceAllUsesWith(B.CreateBinaryIntrinsic(
606 MM->getIntrinsicID() == Intrinsic::smin ? Intrinsic::umin
608 MM->getLHS(), MM->getRHS()));
609 MM->eraseFromParent();
674 if (auto *MM = dyn_cast<MinMaxIntrinsic>(&CB)) {
675 return processMinMaxIntrinsic(MM, LVI);