Home
last modified time | relevance | path

Searched refs:TripCount (Results 1 – 25 of 25) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopCacheAnalysis.cpp112 const SCEV *TripCount = (!isa<SCEVCouldNotCompute>(BackedgeTakenCount) && in computeTripCount() local
117 if (!TripCount) { in computeTripCount()
120 TripCount = SE.getConstant(ElemSize.getType(), DefaultTripCount); in computeTripCount()
123 return TripCount; in computeTripCount()
286 const SCEV *TripCount = computeTripCount(L, *Sizes.back(), SE); in computeRefCost() local
287 assert(TripCount && "Expecting valid TripCount"); in computeRefCost()
288 LLVM_DEBUG(dbgs() << "TripCount=" << *TripCount << "\n"); in computeRefCost()
297 Type *WiderType = SE.getWiderType(Stride->getType(), TripCount->getType()); in computeRefCost()
300 TripCount = SE.getNoopOrZeroExtend(TripCount, WiderType); in computeRefCost()
301 const SCEV *Numerator = SE.getMulExpr(Stride, TripCount); in computeRefCost()
[all …]
H A DHashRecognize.cpp89 const unsigned TripCount; member in ValueEvolution
107 ValueEvolution(unsigned TripCount, bool ByteOrderSwapped);
123 ValueEvolution::ValueEvolution(unsigned TripCount, bool ByteOrderSwapped) in ValueEvolution() argument
124 : TripCount(TripCount), ByteOrderSwapped(ByteOrderSwapped) {} in ValueEvolution()
250 for (unsigned I = 0; I < TripCount; ++I) in computeEvolutions()
439 PolynomialInfo::PolynomialInfo(unsigned TripCount, Value *LHS, const APInt &RHS, in PolynomialInfo() argument
442 : TripCount(TripCount), LHS(LHS), RHS(RHS), ComputedValue(ComputedValue), in PolynomialInfo()
681 << Info.TripCount << "\n"; in print()
H A DLint.cpp378 if (auto *TripCount = dyn_cast<ConstantInt>(I.getArgOperand(1))) in visitCallBase() local
379 Check(!TripCount->isZero(), in visitCallBase()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopUnrollPass.cpp357 const Loop *L, unsigned TripCount, DominatorTree &DT, ScalarEvolution &SE, in analyzeLoopUnrollCost() argument
374 if (!TripCount || TripCount > MaxIterationsCountToAnalyze) in analyzeLoopUnrollCost()
511 for (unsigned Iteration = 0; Iteration < TripCount; ++Iteration) { in analyzeLoopUnrollCost()
668 AddCostRecursively(*OpI, TripCount - 1); in analyzeLoopUnrollCost()
798 const unsigned TripMultiple, const unsigned TripCount, in shouldPragmaUnroll() argument
817 if (PInfo.PragmaFullUnroll && TripCount != 0) { in shouldPragmaUnroll()
821 if (TripCount > PragmaUnrollFullMaxIterations) { in shouldPragmaUnroll()
826 return TripCount; in shouldPragmaUnroll()
829 if (PInfo.PragmaEnableUnroll && !TripCount && MaxTripCount && in shouldPragmaUnroll()
868 shouldPartialUnroll(const unsigned LoopSize, const unsigned TripCount, in shouldPartialUnroll() argument
[all …]
H A DLoopFlatten.cpp305 setLoopComponents(Value *&TC, Value *&TripCount, BinaryOperator *&Increment, in setLoopComponents() argument
307 TripCount = TC; in setLoopComponents()
310 LLVM_DEBUG(dbgs() << "Found trip count: "; TripCount->dump()); in setLoopComponents()
323 PHINode *&InductionPHI, Value *&TripCount, BinaryOperator *&Increment, in verifyTripCount() argument
340 return setLoopComponents(RHS, TripCount, Increment, IterationInstructions); in verifyTripCount()
361 return setLoopComponents(NewRHS, TripCount, Increment, in verifyTripCount()
364 return setLoopComponents(RHS, TripCount, Increment, IterationInstructions); in verifyTripCount()
383 return setLoopComponents(RHS, TripCount, Increment, IterationInstructions); in verifyTripCount()
390 PHINode *&InductionPHI, Value *&TripCount, BinaryOperator *&Increment, in findLoopComponents() argument
464 return verifyTripCount(RHS, L, IterationInstructions, InductionPHI, TripCount, in findLoopComponents()
H A DLoopIdiomRecognize.cpp1093 Value *TripCount = Expander.expandCodeFor(TripCountS, IntIdxTy, in processLoopStridedStore() local
1103 ? TripCount in processLoopStridedStore()
1104 : Builder.CreateMul(TripCount, in processLoopStridedStore()
1107 if (auto *CI = dyn_cast<ConstantInt>(TripCount)) in processLoopStridedStore()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp107 bool TryConvertActiveLaneMask(Value *TripCount);
113 const SCEV *IsSafeActiveMask(IntrinsicInst *ActiveLaneMask, Value *TripCount);
196 Value *TripCount) { in IsSafeActiveMask() argument
207 const SCEV *TC = SE->getSCEV(TripCount); in IsSafeActiveMask()
255 ConstantInt *TC = dyn_cast<ConstantInt>(TripCount); in IsSafeActiveMask()
293 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth)); in IsSafeActiveMask()
298 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth - 1))); in IsSafeActiveMask()
414 bool MVETailPredication::TryConvertActiveLaneMask(Value *TripCount) { in TryConvertActiveLaneMask() argument
431 const SCEV *StartSCEV = IsSafeActiveMask(ActiveLaneMask, TripCount); in TryConvertActiveLaneMask()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DHashRecognize.h48 unsigned TripCount; member
74 PolynomialInfo(unsigned TripCount, Value *LHS, const APInt &RHS,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUnrollRuntime.cpp513 Value *TripCount, unsigned Count) { in CreateTripRemainder() argument
525 return B.CreateAnd(TripCount, Count - 1, "xtraiter"); in CreateTripRemainder()
770 Value *TripCount = Expander.expandCodeFor(TripCountSC, TripCountSC->getType(), in UnrollRuntimeLoopRemainder() local
780 !isGuaranteedNotToBeUndefOrPoison(TripCount, AC, PreHeaderBR, DT)) { in UnrollRuntimeLoopRemainder()
781 TripCount = B.CreateFreeze(TripCount); in UnrollRuntimeLoopRemainder()
783 B.CreateAdd(TripCount, Constant::getAllOnesValue(TripCount->getType())); in UnrollRuntimeLoopRemainder()
791 Value * const ModVal = CreateTripRemainder(B, BECount, TripCount, Count); in UnrollRuntimeLoopRemainder()
940 Value *TestVal = B2.CreateSub(TripCount, ModVal, "unroll_iter"); in UnrollRuntimeLoopRemainder()
H A DLoopUnrollAndJam.cpp215 llvm::UnrollAndJamLoop(Loop *L, unsigned Count, unsigned TripCount, in UnrollAndJamLoop() argument
228 if (TripCount == 0 && Count < 2) { in UnrollAndJamLoop()
235 assert(TripCount == 0 || TripCount % TripMultiple == 0); in UnrollAndJamLoop()
238 bool CompletelyUnroll = (Count == TripCount); in UnrollAndJamLoop()
264 << Header->getName() << " with trip count " << TripCount in UnrollAndJamLoop()
269 << NV("UnrollCount", TripCount) << " iterations"); in UnrollAndJamLoop()
H A DLoopUnroll.cpp508 unsigned TripCount; in UnrollLoop() member
526 Info.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop()
528 if (Info.TripCount != 0) { in UnrollLoop()
529 Info.BreakoutTrip = Info.TripCount % ULO.Count; in UnrollLoop()
538 << ": TripCount=" << Info.TripCount in UnrollLoop()
909 if (Info.TripCount && j != Info.TripCount) in UnrollLoop()
H A DLoopPeel.cpp606 unsigned TripCount, DominatorTree &DT, in computePeelCount() argument
709 if (TripCount) in computePeelCount()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DUnrollLoop.h102 Loop *L, unsigned Count, unsigned TripCount, unsigned TripMultiple,
161 OptimizationRemarkEmitter *ORE, unsigned TripCount, unsigned MaxTripCount,
H A DLoopPeel.h46 unsigned TripCount, DominatorTree &DT,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.cpp1132 if (TripCount) { in printLiveIns()
1133 if (TripCount->isLiveIn()) in printLiveIns()
1135 TripCount->printAsOperand(O, SlotTracker); in printLiveIns()
1260 if (TripCount && TripCount->isLiveIn()) in duplicate()
1261 Old2NewVPValues[TripCount] = in duplicate()
1262 NewPlan->getOrAddLiveIn(TripCount->getLiveInIRValue()); in duplicate()
1273 if (TripCount) { in duplicate()
1274 assert(Old2NewVPValues.contains(TripCount) && in duplicate()
1276 NewPlan->TripCount = Old2NewVPValues[TripCount]; in duplicate()
H A DVPlanConstruction.cpp524 const SCEV *TripCount = SE.getTripCountFromExitCount(BackedgeTakenCountSCEV, in prepareForVectorization() local
527 vputils::getOrCreateVPValueForSCEVExpr(Plan, TripCount, SE)); in prepareForVectorization()
572 IntegerType::getInt1Ty(TripCount->getType()->getContext()))); in prepareForVectorization()
575 IntegerType::getInt1Ty(TripCount->getType()->getContext()))); in prepareForVectorization()
H A DVPlanTransforms.cpp1435 const SCEV *TripCount = in isConditionTrueViaVFAndUF() local
1437 assert(!isa<SCEVCouldNotCompute>(TripCount) && in isConditionTrueViaVFAndUF()
1440 const SCEV *C = SE.getElementCount(TripCount->getType(), NumElements); in isConditionTrueViaVFAndUF()
1441 return SE.isKnownPredicate(CmpInst::ICMP_EQ, TripCount, C); in isConditionTrueViaVFAndUF()
1461 const SCEV *TripCount = in simplifyBranchConditionForVFAndUF() local
1463 assert(!isa<SCEVCouldNotCompute>(TripCount) && in simplifyBranchConditionForVFAndUF()
1466 const SCEV *C = SE.getElementCount(TripCount->getType(), NumElements); in simplifyBranchConditionForVFAndUF()
1467 if (TripCount->isZero() || in simplifyBranchConditionForVFAndUF()
1468 !SE.isKnownPredicate(CmpInst::ICMP_ULE, TripCount, C)) in simplifyBranchConditionForVFAndUF()
1998 VPValue *TripCount, *IncrementValue; in addVPLaneMaskPhiAndUpdateExitBranch() local
[all …]
H A DVPlan.h3884 VPValue *TripCount = nullptr;
3936 TripCount = TC;
3947 void prepareToExecute(Value *TripCount, Value *VectorTripCount,
4019 assert(TripCount && "trip count needs to be set before accessing it");
4020 return TripCount;
4026 assert(!TripCount && NewTripCount && "TripCount should not be set yet.");
4027 TripCount = NewTripCount;
4033 assert(TripCount && NewTripCount && TripCount->getNumUsers() == 0 &&
4035 TripCount = NewTripCount;
H A DLoopVectorize.cpp514 Value *getTripCount() const { return TripCount; } in getTripCount()
519 void setTripCount(Value *TC) { TripCount = TC; } in setTripCount()
607 Value *TripCount = nullptr; member in llvm::InnerLoopVectorizer
645 Value *TripCount = nullptr; member
741 TripCount = EPI.TripCount; in EpilogueVectorizerEpilogueLoop()
7471 EPI.TripCount = Count; in emitIterationCountCheck()
7567 assert(EPI.TripCount && in emitMinimumVectorEpilogueIterCountCheck()
7569 Value *TC = EPI.TripCount; in emitMinimumVectorEpilogueIterCountCheck()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp1243 CountValue *TripCount = getLoopTripCount(L, OldInsts); in convertToHardwareLoop() local
1244 if (!TripCount) in convertToHardwareLoop()
1248 if (TripCount->isReg()) { in convertToHardwareLoop()
1251 MachineInstr *TCDef = MRI->getVRegDef(TripCount->getReg()); in convertToHardwareLoop()
1284 if (TripCount->isReg()) { in convertToHardwareLoop()
1288 .addReg(TripCount->getReg(), 0, TripCount->getSubReg()); in convertToHardwareLoop()
1293 assert(TripCount->isImm() && "Expecting immediate value for trip count"); in convertToHardwareLoop()
1297 int64_t CountImm = TripCount->getImm(); in convertToHardwareLoop()
1334 delete TripCount; in convertToHardwareLoop()
H A DHexagonInstrInfo.cpp731 int64_t TripCount; member in __anonc67b0ce50111::HexagonPipelinerLoopInfo
742 TripCount = Loop->getOpcode() == Hexagon::J2_loop0r in HexagonPipelinerLoopInfo()
745 if (TripCount == -1) in HexagonPipelinerLoopInfo()
757 if (TripCount == -1) { in createTripCountGreaterCondition()
769 return TripCount > TC; in createTripCountGreaterCondition()
782 int64_t TripCount = Loop->getOperand(1).getImm() + TripCountAdjust; in adjustTripCount() local
783 assert(TripCount > 0 && "Can't create an empty or negative loop!"); in adjustTripCount()
784 Loop->getOperand(1).setImm(TripCount); in adjustTripCount()
/freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/
H A DOMPIRBuilder.cpp4025 DebugLoc DL, Value *TripCount, Function *F, BasicBlock *PreInsertBefore, in createLoopSkeleton() argument
4029 Type *IndVarTy = TripCount->getType(); in createLoopSkeleton()
4060 Builder.CreateICmpULT(IndVarPHI, TripCount, "omp_" + Name + ".cmp"); in createLoopSkeleton()
4093 Value *TripCount, const Twine &Name) { in createCanonicalLoop() argument
4097 CanonicalLoopInfo *CL = createLoopSkeleton(Loc.DL, TripCount, BB->getParent(), in createCanonicalLoop()
4188 Value *TripCount = calculateCanonicalLoopTripCount( in createCanonicalLoop() local
4202 return createCanonicalLoop(LoopLoc, BodyGen, TripCount, Name); in createCanonicalLoop()
4308 Value *TripCount = Builder.CreateAdd(TripCountMinusOne, One); in applyStaticWorkshareLoop() local
4309 CLI->setTripCount(TripCount); in applyStaticWorkshareLoop()
4546 Value *LoopBodyArg, Value *TripCount, in createTargetLoopWorkshareCall() argument
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h750 LoopBodyGenCallbackTy BodyGenCB, Value *TripCount,
3471 LLVM_ABI CanonicalLoopInfo *createLoopSkeleton(DebugLoc DL, Value *TripCount,
3630 void setTripCount(Value *TripCount);
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCInstrInfo.cpp5666 int64_t TripCount; member in __anon936ebc340a11::PPCPipelinerLoopInfo
5677 TripCount = LoopCount->getOperand(1).getImm(); in PPCPipelinerLoopInfo()
5679 TripCount = -1; in PPCPipelinerLoopInfo()
5690 if (TripCount == -1) { in createTripCountGreaterCondition()
5700 return TripCount > TC; in createTripCountGreaterCondition()
5713 int64_t TripCount = LoopCount->getOperand(1).getImm() + TripCountAdjust; in adjustTripCount() local
5714 LoopCount->getOperand(1).setImm(TripCount); in adjustTripCount()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAGBuilder.cpp8036 SDValue TripCount = getValue(I.getOperand(1)); in visitIntrinsicCall() local
8041 TripCount)); in visitIntrinsicCall()
8049 SDValue VectorTripCount = DAG.getSplat(VecTy, sdl, TripCount); in visitIntrinsicCall()