Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:ICI

508 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI,
513 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(ICI->getOperand(1))) {
518 if ((ICI->getPredicate() == ICmpInst::ICMP_SLT && Op1CV == 0) ||
519 (ICI->getPredicate() == ICmpInst::ICMP_SGT &&Op1CV.isAllOnesValue())) {
520 if (!DoXform) return ICI;
522 Value *In = ICI->getOperand(0);
529 if (ICI->getPredicate() == ICmpInst::ICMP_SGT) {
547 ICI->isEquality()) {
551 computeKnownBits(ICI->getOperand(0), KnownZero, KnownOne, 0, &CI);
555 if (!DoXform) return ICI;
557 bool isNE = ICI->getPredicate() == ICmpInst::ICMP_NE;
568 Value *In = ICI->getOperand(0);
591 if (ICI->isEquality() && CI.getType() == ICI->getOperand(0)->getType()) {
594 Value *LHS = ICI->getOperand(0);
595 Value *RHS = ICI->getOperand(1);
606 if (!DoXform) return ICI;
619 if (ICI->getPredicate() == ICmpInst::ICMP_EQ)
621 Result->takeName(ICI);
845 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Src))
846 return transformZExtICmp(ICI, CI);
893 Instruction *InstCombiner::transformSExtICmp(ICmpInst *ICI, Instruction &CI) {
894 Value *Op0 = ICI->getOperand(0), *Op1 = ICI->getOperand(1);
895 ICmpInst::Predicate Pred = ICI->getPredicate();
923 if (ICI->hasOneUse() &&
924 ICI->isEquality() && (Op1C->isZero() || Op1C->getValue().isPowerOf2())){
931 Value *In = ICI->getOperand(0);
1109 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Src))
1110 return transformSExtICmp(ICI, CI);