Lines Matching refs:Zext

925                                                  ZExtInst &Zext) {  in transformZExtICmp()  argument
945 if (In->getType() != Zext.getType()) in transformZExtICmp()
946 In = Builder.CreateIntCast(In, Zext.getType(), false /*ZExt*/); in transformZExtICmp()
948 return replaceInstUsesWith(Zext, In); in transformZExtICmp()
959 KnownBits Known = computeKnownBits(Cmp->getOperand(0), 0, &Zext); in transformZExtICmp()
963 (Zext.getType()->getScalarSizeInBits() != ShAmt + 1); in transformZExtICmp()
965 (Cmp->getOperand(0)->getType() == Zext.getType() || in transformZExtICmp()
979 if (Zext.getType() == In->getType()) in transformZExtICmp()
980 return replaceInstUsesWith(Zext, In); in transformZExtICmp()
982 Value *IntCast = Builder.CreateIntCast(In, Zext.getType(), false); in transformZExtICmp()
983 return replaceInstUsesWith(Zext, IntCast); in transformZExtICmp()
988 if (Cmp->isEquality() && Zext.getType() == Cmp->getOperand(0)->getType()) { in transformZExtICmp()
1000 return replaceInstUsesWith(Zext, And1); in transformZExtICmp()
1138 Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) { in visitZExt() argument
1141 if (Zext.hasOneUse() && isa<TruncInst>(Zext.user_back()) && in visitZExt()
1142 !isa<Constant>(Zext.getOperand(0))) in visitZExt()
1146 if (Instruction *Result = commonCastTransforms(Zext)) in visitZExt()
1149 Value *Src = Zext.getOperand(0); in visitZExt()
1150 Type *SrcTy = Src->getType(), *DestTy = Zext.getType(); in visitZExt()
1153 if (SrcTy->isIntOrIntVectorTy(1) && Zext.hasNonNeg()) in visitZExt()
1154 return replaceInstUsesWith(Zext, Constant::getNullValue(Zext.getType())); in visitZExt()
1159 canEvaluateZExtd(Src, DestTy, BitsToClear, *this, &Zext)) { in visitZExt()
1167 << Zext << '\n'); in visitZExt()
1174 replaceAllDbgUsesWith(*SrcOp, *Res, Zext, DT); in visitZExt()
1184 0, &Zext)) in visitZExt()
1185 return replaceInstUsesWith(Zext, Res); in visitZExt()
1231 return transformZExtICmp(Cmp, Zext); in visitZExt()
1261 if (Zext.getFunction() && in visitZExt()
1262 Zext.getFunction()->hasFnAttribute(Attribute::VScaleRange)) { in visitZExt()
1264 Zext.getFunction()->getFnAttribute(Attribute::VScaleRange); in visitZExt()
1269 return replaceInstUsesWith(Zext, VScale); in visitZExt()
1275 if (!Zext.hasNonNeg()) { in visitZExt()
1277 if (Zext.hasOneUse() && in visitZExt()
1280 match(Zext.user_back(), m_Shift(m_Value(), m_Specific(&Zext)))) { in visitZExt()
1281 Zext.setNonNeg(); in visitZExt()
1282 return &Zext; in visitZExt()
1285 if (isKnownNonNegative(Src, SQ.getWithInstruction(&Zext))) { in visitZExt()
1286 Zext.setNonNeg(); in visitZExt()
1287 return &Zext; in visitZExt()