Lines Matching defs:Zext

959                                                  ZExtInst &Zext) {
979 if (In->getType() != Zext.getType())
980 In = Builder.CreateIntCast(In, Zext.getType(), false /*ZExt*/);
982 return replaceInstUsesWith(Zext, In);
993 KnownBits Known = computeKnownBits(Cmp->getOperand(0), 0, &Zext);
997 (Zext.getType()->getScalarSizeInBits() != ShAmt + 1);
999 (Cmp->getOperand(0)->getType() == Zext.getType() ||
1013 if (Zext.getType() == In->getType())
1014 return replaceInstUsesWith(Zext, In);
1016 Value *IntCast = Builder.CreateIntCast(In, Zext.getType(), false);
1017 return replaceInstUsesWith(Zext, IntCast);
1032 if (Zext.getType() == And->getType() ||
1040 Zext, Builder.CreateZExtOrTrunc(And1, Zext.getType()));
1179 Instruction *InstCombinerImpl::visitZExt(ZExtInst &Zext) {
1182 if (Zext.hasOneUse() && isa<TruncInst>(Zext.user_back()) &&
1183 !isa<Constant>(Zext.getOperand(0)))
1187 if (Instruction *Result = commonCastTransforms(Zext))
1190 Value *Src = Zext.getOperand(0);
1191 Type *SrcTy = Src->getType(), *DestTy = Zext.getType();
1194 if (SrcTy->isIntOrIntVectorTy(1) && Zext.hasNonNeg())
1195 return replaceInstUsesWith(Zext, Constant::getNullValue(Zext.getType()));
1200 canEvaluateZExtd(Src, DestTy, BitsToClear, *this, &Zext)) {
1208 << Zext << '\n');
1215 replaceAllDbgUsesWith(*SrcOp, *Res, Zext, DT);
1225 0, &Zext))
1226 return replaceInstUsesWith(Zext, Res);
1272 return transformZExtICmp(Cmp, Zext);
1302 if (Zext.getFunction() &&
1303 Zext.getFunction()->hasFnAttribute(Attribute::VScaleRange)) {
1305 Zext.getFunction()->getFnAttribute(Attribute::VScaleRange);
1310 return replaceInstUsesWith(Zext, VScale);
1316 if (!Zext.hasNonNeg()) {
1318 if (Zext.hasOneUse() &&
1321 match(Zext.user_back(), m_Shift(m_Value(), m_Specific(&Zext)))) {
1322 Zext.setNonNeg();
1323 return &Zext;
1326 if (isKnownNonNegative(Src, SQ.getWithInstruction(&Zext))) {
1327 Zext.setNonNeg();
1328 return &Zext;