Lines Matching defs:MaxBECount

1656       const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
1657 if (!isa<SCEVCouldNotCompute>(MaxBECount)) {
1663 getTruncateOrZeroExtend(MaxBECount, Start->getType(), Depth);
1665 CastedMaxBECount, MaxBECount->getType(), Depth);
1666 if (MaxBECount == RecastedMaxBECount) {
1668 // Check whether Start+Step*MaxBECount has no unsigned overflow.
1721 if (!isa<SCEVCouldNotCompute>(MaxBECount) || HasGuards ||
2030 const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
2031 if (!isa<SCEVCouldNotCompute>(MaxBECount)) {
2038 getTruncateOrZeroExtend(MaxBECount, Start->getType(), Depth);
2040 CastedMaxBECount, MaxBECount->getType(), Depth);
2041 if (MaxBECount == RecastedMaxBECount) {
2043 // Check whether Start+Step*MaxBECount has no signed overflow.
2079 // abs(Step) * MaxBECount > unsigned-max(AR->getType())
5130 const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
5140 if (isa<SCEVCouldNotCompute>(MaxBECount) && !HasGuards &&
5184 const SCEV *MaxBECount = getConstantMaxBackedgeTakenCount(L);
5194 if (isa<SCEVCouldNotCompute>(MaxBECount) && !HasGuards &&
6789 APInt MaxBECount = cast<SCEVConstant>(MaxBEScev)->getAPInt();
6791 // Adjust MaxBECount to the same bitwidth as AddRec. We can truncate if
6792 // MaxBECount's active bits are all <= AddRec's bit width.
6793 if (MaxBECount.getBitWidth() > BitWidth &&
6794 MaxBECount.getActiveBits() <= BitWidth)
6795 MaxBECount = MaxBECount.trunc(BitWidth);
6796 else if (MaxBECount.getBitWidth() < BitWidth)
6797 MaxBECount = MaxBECount.zext(BitWidth);
6799 if (MaxBECount.getBitWidth() == BitWidth) {
6801 AddRec->getStart(), AddRec->getStepRecurrence(*this), MaxBECount);
6806 AddRec->getStart(), AddRec->getStepRecurrence(*this), MaxBECount);
6976 // Given a StartRange, Step and MaxBECount for an expression compute a range of
6978 // from StartRange and then is changed by Step up to MaxBECount times. Signed
6982 const APInt &MaxBECount,
6986 BitWidth == MaxBECount.getBitWidth() && "mismatched bit widths");
6987 // If either Step or MaxBECount is 0, then the expression won't change, and we
6989 if (Step == 0 || MaxBECount == 0)
7011 if (APInt::getMaxValue(StartRange.getBitWidth()).udiv(Step).ult(MaxBECount))
7016 APInt Offset = Step * MaxBECount;
7045 const APInt &MaxBECount) {
7048 getTypeSizeInBits(Start->getType()) == MaxBECount.getBitWidth() &&
7058 StepSRange.getSignedMin(), StartSRange, MaxBECount, /* Signed = */ true);
7060 StartSRange, MaxBECount,
7065 getUnsignedRangeMax(Step), getUnsignedRange(Start), MaxBECount,
7073 const SCEVAddRecExpr *AddRec, const SCEV *MaxBECount, unsigned BitWidth,
7084 // MaxBECount iterations. We need this because MaxBECount is a maximum
7088 if (getTypeSizeInBits(MaxBECount->getType()) >
7091 MaxBECount = getNoopOrZeroExtend(MaxBECount, AddRec->getType());
7095 if (!isKnownPredicateViaConstantRanges(ICmpInst::ICMP_ULE, MaxBECount,
7103 const SCEV *End = AddRec->evaluateAtIteration(MaxBECount, *this);
7142 const APInt &MaxBECount) {
7146 unsigned BitWidth = MaxBECount.getBitWidth();
7252 this->getRangeForAffineAR(TrueStart, TrueStep, MaxBECount);
7254 this->getRangeForAffineAR(FalseStart, FalseStep, MaxBECount);
8882 // 2. Derive the loop's MaxBECount from each exit's max number of
8888 // MaxBECount is the minimum EL.ConstantMaxNotTaken of computable
8889 // LoopMustExits. Otherwise, MaxBECount is conservatively the maximum
8911 const SCEV *MaxBECount = MustExitMaxBECount ? MustExitMaxBECount :
8920 // and MaxBECount, which must be SCEVConstant.
8929 MaxBECount, MaxOrZero);
10607 APInt MaxBECount = getUnsignedRangeMax(applyLoopGuards(Distance, Guards));
10608 MaxBECount = APIntOps::umin(MaxBECount, getUnsignedRangeMax(Distance));
10624 MaxBECount = APIntOps::umin(MaxBECount, CR.getUnsignedMax() - 1);
10626 return ExitLimit(Distance, getConstant(MaxBECount), Distance, false,
12930 // MaxBECount = ceil((max(MaxEnd, MinStart) - MinStart) / Stride)
13177 // If we cannot calculate ExactBECount, we can calculate the MaxBECount,
13181 const SCEV *MaxBECount = computeMaxBECountForLT(
13183 return ExitLimit(getCouldNotCompute() /* ExactNotTaken */, MaxBECount,
13184 MaxBECount, false /*MaxOrZero*/, Predicates);
13264 // used to compute MaxBECount.