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