Lines Matching defs:MaxBECount

1642       const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
1643 if (!isa<SCEVCouldNotCompute>(MaxBECount)) {
1649 getTruncateOrZeroExtend(MaxBECount, Start->getType(), Depth);
1651 CastedMaxBECount, MaxBECount->getType(), Depth);
1652 if (MaxBECount == RecastedMaxBECount) {
1654 // Check whether Start+Step*MaxBECount has no unsigned overflow.
1707 if (!isa<SCEVCouldNotCompute>(MaxBECount) || HasGuards ||
2016 const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
2017 if (!isa<SCEVCouldNotCompute>(MaxBECount)) {
2024 getTruncateOrZeroExtend(MaxBECount, Start->getType(), Depth);
2026 CastedMaxBECount, MaxBECount->getType(), Depth);
2027 if (MaxBECount == RecastedMaxBECount) {
2029 // Check whether Start+Step*MaxBECount has no signed overflow.
2065 // abs(Step) * MaxBECount > unsigned-max(AR->getType())
5152 const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
5162 if (isa<SCEVCouldNotCompute>(MaxBECount) && !HasGuards &&
5206 const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
5216 if (isa<SCEVCouldNotCompute>(MaxBECount) && !HasGuards &&
6765 APInt MaxBECount = cast<SCEVConstant>(MaxBEScev)->getAPInt();
6767 // Adjust MaxBECount to the same bitwidth as AddRec. We can truncate if
6768 // MaxBECount's active bits are all <= AddRec's bit width.
6769 if (MaxBECount.getBitWidth() > BitWidth &&
6770 MaxBECount.getActiveBits() <= BitWidth)
6771 MaxBECount = MaxBECount.trunc(BitWidth);
6772 else if (MaxBECount.getBitWidth() < BitWidth)
6773 MaxBECount = MaxBECount.zext(BitWidth);
6775 if (MaxBECount.getBitWidth() == BitWidth) {
6777 AddRec->getStart(), AddRec->getStepRecurrence(*this), MaxBECount);
6782 AddRec->getStart(), AddRec->getStepRecurrence(*this), MaxBECount);
6954 // Given a StartRange, Step and MaxBECount for an expression compute a range of
6956 // from StartRange and then is changed by Step up to MaxBECount times. Signed
6960 const APInt &MaxBECount,
6964 BitWidth == MaxBECount.getBitWidth() && "mismatched bit widths");
6965 // If either Step or MaxBECount is 0, then the expression won't change, and we
6967 if (Step == 0 || MaxBECount == 0)
6989 if (APInt::getMaxValue(StartRange.getBitWidth()).udiv(Step).ult(MaxBECount))
6994 APInt Offset = Step * MaxBECount;
7023 const APInt &MaxBECount) {
7026 getTypeSizeInBits(Start->getType()) == MaxBECount.getBitWidth() &&
7036 StepSRange.getSignedMin(), StartSRange, MaxBECount, /* Signed = */ true);
7038 StartSRange, MaxBECount,
7043 getUnsignedRangeMax(Step), getUnsignedRange(Start), MaxBECount,
7051 const SCEVAddRecExpr *AddRec, const SCEV *MaxBECount, unsigned BitWidth,
7062 // MaxBECount iterations. We need this because MaxBECount is a maximum
7066 if (getTypeSizeInBits(MaxBECount->getType()) >
7069 MaxBECount = getNoopOrZeroExtend(MaxBECount, AddRec->getType());
7073 if (!isKnownPredicateViaConstantRanges(ICmpInst::ICMP_ULE, MaxBECount,
7081 const SCEV *End = AddRec->evaluateAtIteration(MaxBECount, *this);
7120 const APInt &MaxBECount) {
7124 unsigned BitWidth = MaxBECount.getBitWidth();
7230 this->getRangeForAffineAR(TrueStart, TrueStep, MaxBECount);
7232 this->getRangeForAffineAR(FalseStart, FalseStep, MaxBECount);
8824 // 2. Derive the loop's MaxBECount from each exit's max number of
8830 // MaxBECount is the minimum EL.ConstantMaxNotTaken of computable
8831 // LoopMustExits. Otherwise, MaxBECount is conservatively the maximum
8853 const SCEV *MaxBECount = MustExitMaxBECount ? MustExitMaxBECount :
8862 // and MaxBECount, which must be SCEVConstant.
8871 MaxBECount, MaxOrZero);
10514 APInt MaxBECount = getUnsignedRangeMax(applyLoopGuards(Distance, Guards));
10515 MaxBECount = APIntOps::umin(MaxBECount, getUnsignedRangeMax(Distance));
10531 MaxBECount = APIntOps::umin(MaxBECount, CR.getUnsignedMax() - 1);
10533 return ExitLimit(Distance, getConstant(MaxBECount), Distance, false,
12765 // MaxBECount = ceil((max(MaxEnd, MinStart) - MinStart) / Stride)
13052 // If we cannot calculate ExactBECount, we can calculate the MaxBECount,
13056 const SCEV *MaxBECount = computeMaxBECountForLT(
13058 return ExitLimit(getCouldNotCompute() /* ExactNotTaken */, MaxBECount,
13059 MaxBECount, false /*MaxOrZero*/, Predicates);
13139 // used to compute MaxBECount.