Lines Matching refs:ICI
503 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI,
508 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(ICI->getOperand(1))) {
513 if ((ICI->getPredicate() == ICmpInst::ICMP_SLT && Op1CV == 0) ||
514 (ICI->getPredicate() == ICmpInst::ICMP_SGT &&Op1CV.isAllOnesValue())) {
515 if (!DoXform) return ICI;
517 Value *In = ICI->getOperand(0);
524 if (ICI->getPredicate() == ICmpInst::ICMP_SGT) {
544 ICI->isEquality()) {
549 ComputeMaskedBits(ICI->getOperand(0), TypeMask, KnownZero, KnownOne);
553 if (!DoXform) return ICI;
555 bool isNE = ICI->getPredicate() == ICmpInst::ICMP_NE;
566 Value *In = ICI->getOperand(0);
589 if (ICI->isEquality() && CI.getType() == ICI->getOperand(0)->getType()) {
592 Value *LHS = ICI->getOperand(0);
593 Value *RHS = ICI->getOperand(1);
605 if (!DoXform) return ICI;
618 if (ICI->getPredicate() == ICmpInst::ICMP_EQ)
620 Result->takeName(ICI);
832 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Src))
833 return transformZExtICmp(ICI, CI);
890 Instruction *InstCombiner::transformSExtICmp(ICmpInst *ICI, Instruction &CI) {
891 Value *Op0 = ICI->getOperand(0), *Op1 = ICI->getOperand(1);
892 ICmpInst::Predicate Pred = ICI->getPredicate();
914 if (ICI->hasOneUse() &&
915 ICI->isEquality() && (Op1C->isZero() || Op1C->getValue().isPowerOf2())){
923 Value *In = ICI->getOperand(0);
1108 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Src))
1109 return transformSExtICmp(ICI, CI);