Lines Matching defs:Cmp
286 static bool processICmp(ICmpInst *Cmp, LazyValueInfo *LVI) {
288 if (!Cmp->getOperand(0)->getType()->isIntOrIntVectorTy())
291 if (!Cmp->isSigned() && (!Cmp->isUnsigned() || Cmp->hasSameSign()))
296 ConstantRange CR1 = LVI->getConstantRangeAtUse(Cmp->getOperandUse(0),
298 CR2 = LVI->getConstantRangeAtUse(Cmp->getOperandUse(1),
301 if (Cmp->isSigned()) {
304 Cmp->getPredicate(), CR1, CR2);
310 Cmp->setPredicate(UnsignedPred);
315 Cmp->setSameSign();
326 static bool constantFoldCmp(CmpInst *Cmp, LazyValueInfo *LVI) {
327 Value *Op0 = Cmp->getOperand(0);
328 Value *Op1 = Cmp->getOperand(1);
329 Constant *Res = LVI->getPredicateAt(Cmp->getPredicate(), Op0, Op1, Cmp,
335 Cmp->replaceAllUsesWith(Res);
336 Cmp->eraseFromParent();
340 static bool processCmp(CmpInst *Cmp, LazyValueInfo *LVI) {
341 if (constantFoldCmp(Cmp, LVI))
344 if (auto *ICmp = dyn_cast<ICmpInst>(Cmp))
866 auto *Cmp = B.CreateICmp(ICmpInst::ICMP_ULT, FrozenX, FrozenY,
868 ExpandedOp = B.CreateSelect(Cmp, FrozenX, AdjX);
870 auto *Cmp =
872 ExpandedOp = B.CreateZExt(Cmp, Ty, Instr->getName() + ".udiv");