Lines Matching refs:ICI
583 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, in transformZExtICmp() argument
588 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(ICI->getOperand(1))) { in transformZExtICmp()
593 if ((ICI->getPredicate() == ICmpInst::ICMP_SLT && Op1CV == 0) || in transformZExtICmp()
594 (ICI->getPredicate() == ICmpInst::ICMP_SGT && Op1CV.isAllOnesValue())) { in transformZExtICmp()
595 if (!DoXform) return ICI; in transformZExtICmp()
597 Value *In = ICI->getOperand(0); in transformZExtICmp()
604 if (ICI->getPredicate() == ICmpInst::ICMP_SGT) { in transformZExtICmp()
622 ICI->isEquality()) { in transformZExtICmp()
626 computeKnownBits(ICI->getOperand(0), KnownZero, KnownOne, 0, &CI); in transformZExtICmp()
630 if (!DoXform) return ICI; in transformZExtICmp()
632 bool isNE = ICI->getPredicate() == ICmpInst::ICMP_NE; in transformZExtICmp()
643 Value *In = ICI->getOperand(0); in transformZExtICmp()
666 if (ICI->isEquality() && CI.getType() == ICI->getOperand(0)->getType()) { in transformZExtICmp()
669 Value *LHS = ICI->getOperand(0); in transformZExtICmp()
670 Value *RHS = ICI->getOperand(1); in transformZExtICmp()
681 if (!DoXform) return ICI; in transformZExtICmp()
694 if (ICI->getPredicate() == ICmpInst::ICMP_EQ) in transformZExtICmp()
696 Result->takeName(ICI); in transformZExtICmp()
920 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Src)) in visitZExt() local
921 return transformZExtICmp(ICI, CI); in visitZExt()
967 Instruction *InstCombiner::transformSExtICmp(ICmpInst *ICI, Instruction &CI) { in transformSExtICmp() argument
968 Value *Op0 = ICI->getOperand(0), *Op1 = ICI->getOperand(1); in transformSExtICmp()
969 ICmpInst::Predicate Pred = ICI->getPredicate(); in transformSExtICmp()
997 if (ICI->hasOneUse() && in transformSExtICmp()
998 ICI->isEquality() && (Op1C->isZero() || Op1C->getValue().isPowerOf2())){ in transformSExtICmp()
1005 Value *In = ICI->getOperand(0); in transformSExtICmp()
1182 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Src)) in visitSExt() local
1183 return transformSExtICmp(ICI, CI); in visitSExt()