Lines Matching refs:Zext

891                                                  ZExtInst &Zext) {  in transformZExtICmp()  argument
911 if (In->getType() != Zext.getType()) in transformZExtICmp()
912 In = Builder.CreateIntCast(In, Zext.getType(), false /*ZExt*/); in transformZExtICmp()
914 return replaceInstUsesWith(Zext, In); in transformZExtICmp()
925 KnownBits Known = computeKnownBits(Cmp->getOperand(0), 0, &Zext); in transformZExtICmp()
929 (Zext.getType()->getScalarSizeInBits() != ShAmt + 1); in transformZExtICmp()
931 (Cmp->getOperand(0)->getType() == Zext.getType() || in transformZExtICmp()
945 if (Zext.getType() == In->getType()) in transformZExtICmp()
946 return replaceInstUsesWith(Zext, In); in transformZExtICmp()
948 Value *IntCast = Builder.CreateIntCast(In, Zext.getType(), false); in transformZExtICmp()
949 return replaceInstUsesWith(Zext, IntCast); in transformZExtICmp()
954 if (Cmp->isEquality() && Zext.getType() == Cmp->getOperand(0)->getType()) { in transformZExtICmp()
966 return replaceInstUsesWith(Zext, And1); in transformZExtICmp()
1104 Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) { in visitZExt() argument
1107 if (Zext.hasOneUse() && isa<TruncInst>(Zext.user_back()) && in visitZExt()
1108 !isa<Constant>(Zext.getOperand(0))) in visitZExt()
1112 if (Instruction *Result = commonCastTransforms(Zext)) in visitZExt()
1115 Value *Src = Zext.getOperand(0); in visitZExt()
1116 Type *SrcTy = Src->getType(), *DestTy = Zext.getType(); in visitZExt()
1121 canEvaluateZExtd(Src, DestTy, BitsToClear, *this, &Zext)) { in visitZExt()
1129 << Zext << '\n'); in visitZExt()
1136 replaceAllDbgUsesWith(*SrcOp, *Res, Zext, DT); in visitZExt()
1146 0, &Zext)) in visitZExt()
1147 return replaceInstUsesWith(Zext, Res); in visitZExt()
1193 return transformZExtICmp(Cmp, Zext); in visitZExt()
1223 if (Zext.getFunction() && in visitZExt()
1224 Zext.getFunction()->hasFnAttribute(Attribute::VScaleRange)) { in visitZExt()
1226 Zext.getFunction()->getFnAttribute(Attribute::VScaleRange); in visitZExt()
1231 return replaceInstUsesWith(Zext, VScale); in visitZExt()
1237 if (!Zext.hasNonNeg()) { in visitZExt()
1239 if (Zext.hasOneUse() && in visitZExt()
1242 match(Zext.user_back(), m_Shift(m_Value(), m_Specific(&Zext)))) { in visitZExt()
1243 Zext.setNonNeg(); in visitZExt()
1244 return &Zext; in visitZExt()
1247 if (isKnownNonNegative(Src, SQ.getWithInstruction(&Zext))) { in visitZExt()
1248 Zext.setNonNeg(); in visitZExt()
1249 return &Zext; in visitZExt()