Home | History | Annotate | Download | only in Analysis

Lines Matching refs:zext

143     const SCEVZeroExtendExpr *ZExt = cast<SCEVZeroExtendExpr>(this);
144 const SCEV *Op = ZExt->getOperand();
145 OS << "(zext " << *Op->getType() << " " << *Op << " to "
146 << *ZExt->getType() << ")";
759 APInt MultiplyFactor = OddFactorial.zext(W+1);
840 // trunc(zext(x)) --> zext(x) if widening or trunc(x) if narrowing
912 // zext(zext(x)) --> zext(x)
925 // zext(trunc(x)) --> zext(x) or x or trunc(x)
1174 // sext(zext(x)) --> zext(x)
1187 // If the input value is provably positive, build a zext instead.
1329 // Next try a zext cast. If the cast is folded, use it.
1330 const SCEV *ZExt = getZeroExtendExpr(Op, Ty);
1331 if (!isa<SCEVZeroExtendExpr>(ZExt))
1332 return ZExt;
1359 // Absent any other information, use the zext cast value.
1360 return ZExt;
3330 if (const SCEVZeroExtendExpr *ZExt = dyn_cast<SCEVZeroExtendExpr>(S)) {
3331 ConstantRange X = getUnsignedRange(ZExt->getOperand());
3332 return setUnsignedRange(ZExt,
3471 if (const SCEVZeroExtendExpr *ZExt = dyn_cast<SCEVZeroExtendExpr>(S)) {
3472 ConstantRange X = getSignedRange(ZExt->getOperand());
3473 return setSignedRange(ZExt,
3647 // use zext(trunc(x)) as the SCEV expression.
3728 // re-apply the zext.
3734 // using an add, which is equivalent, and re-apply the zext.
3736 if (Trunc.zext(getTypeSizeInBits(UTy)) == CI->getValue() &&
3809 case Instruction::ZExt:
5328 APInt AD = A.lshr(Mult2).zext(BW + 1); // AD = A / D
5335 APInt Result = (I * B.lshr(Mult2).zext(BW + 1)).urem(Mod);