Home
last modified time | relevance | path

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

12

/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp108 bool TryConvertActiveLaneMask(Value *TripCount);
114 bool IsSafeActiveMask(IntrinsicInst *ActiveLaneMask, Value *TripCount);
117 void InsertVCTPIntrinsic(IntrinsicInst *ActiveLaneMask, Value *TripCount);
202 Value *TripCount) { in IsSafeActiveMask() argument
213 auto *TC = SE->getSCEV(TripCount); in IsSafeActiveMask()
230 ConstantInt *TC = dyn_cast<ConstantInt>(TripCount); in IsSafeActiveMask()
270 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth - 1))); in IsSafeActiveMask()
354 Value *TripCount) { in InsertVCTPIntrinsic() argument
393 bool MVETailPredication::TryConvertActiveLaneMask(Value *TripCount) { in TryConvertActiveLaneMask() argument
410 if (!IsSafeActiveMask(ActiveLaneMask, TripCount)) { in TryConvertActiveLaneMask()
[all …]
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DLoopCacheAnalysis.cpp117 if (!TripCount) { in computeTripCount()
123 return TripCount; in computeTripCount()
288 assert(TripCount && "Expecting valid TripCount"); in computeRefCost()
289 LLVM_DEBUG(dbgs() << "TripCount=" << *TripCount << "\n"); in computeRefCost()
301 TripCount = SE.getNoopOrAnyExtend(TripCount, WiderType); in computeRefCost()
302 const SCEV *Numerator = SE.getMulExpr(Stride, TripCount); in computeRefCost()
316 RefCost = TripCount; in computeRefCost()
324 const SCEV *TripCount = in computeRefCost() local
567 unsigned TripCount = SE.getSmallConstantTripCount(L); in CacheCost() local
568 TripCount = (TripCount == 0) ? DefaultTripCount : TripCount; in CacheCost()
[all …]
H A DLint.cpp372 if (auto *TripCount = dyn_cast<ConstantInt>(I.getArgOperand(1))) in visitCallBase() local
373 Check(!TripCount->isZero(), in visitCallBase()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DLoopUnrollPass.cpp364 if (!TripCount || TripCount > MaxIterationsCountToAnalyze) in analyzeLoopUnrollCost()
797 return TripCount; in shouldPragmaUnroll()
838 if (!TripCount) in shouldPartialUnroll()
848 count = TripCount; in shouldPartialUnroll()
872 count = TripCount; in shouldPartialUnroll()
947 if (TripCount) { in computeUnrollCount()
948 UP.Count = TripCount; in computeUnrollCount()
990 if (TripCount) in computeUnrollCount()
1233 if (!TripCount || TC < TripCount) in tryToUnrollLoop()
1236 if (!TripCount) { in tryToUnrollLoop()
[all …]
H A DLoopFlatten.cpp269 setLoopComponents(Value *&TC, Value *&TripCount, BinaryOperator *&Increment, in setLoopComponents() argument
271 TripCount = TC; in setLoopComponents()
274 LLVM_DEBUG(dbgs() << "Found trip count: "; TripCount->dump()); in setLoopComponents()
287 PHINode *&InductionPHI, Value *&TripCount, BinaryOperator *&Increment, in verifyTripCount() argument
304 return setLoopComponents(RHS, TripCount, Increment, IterationInstructions); in verifyTripCount()
325 return setLoopComponents(NewRHS, TripCount, Increment, in verifyTripCount()
328 return setLoopComponents(RHS, TripCount, Increment, IterationInstructions); in verifyTripCount()
347 return setLoopComponents(RHS, TripCount, Increment, IterationInstructions); in verifyTripCount()
354 PHINode *&InductionPHI, Value *&TripCount, BinaryOperator *&Increment, in findLoopComponents() argument
427 return verifyTripCount(RHS, L, IterationInstructions, InductionPHI, TripCount, in findLoopComponents()
/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DUnrollAnalyzerTest.cpp23 static unsigned TripCount = 0; variable
39 TripCount = SE->getSmallConstantTripCount(L, Exiting); in runOnFunction()
40 for (unsigned Iteration = 0; Iteration < TripCount; Iteration++) { in runOnFunction()
119 I1 = SimplifiedValuesVector[TripCount - 1].find(Y1); in TEST()
120 EXPECT_TRUE(I1 != SimplifiedValuesVector[TripCount - 1].end()); in TEST()
121 EXPECT_EQ(cast<ConstantInt>((*I1).second)->getZExtValue(), TripCount); in TEST()
124 I2 = SimplifiedValuesVector[TripCount - 1].find(Y2); in TEST()
125 EXPECT_TRUE(I2 != SimplifiedValuesVector[TripCount - 1].end()); in TEST()
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DLoopUnrollRuntime.cpp498 Value *TripCount, unsigned Count) { in CreateTripRemainder() argument
510 return B.CreateAnd(TripCount, Count - 1, "xtraiter"); in CreateTripRemainder()
746 Value *TripCount = Expander.expandCodeFor(TripCountSC, TripCountSC->getType(), in UnrollRuntimeLoopRemainder() local
756 !isGuaranteedNotToBeUndefOrPoison(TripCount, AC, PreHeaderBR, DT)) { in UnrollRuntimeLoopRemainder()
757 TripCount = B.CreateFreeze(TripCount); in UnrollRuntimeLoopRemainder()
759 B.CreateAdd(TripCount, ConstantInt::get(TripCount->getType(), -1)); in UnrollRuntimeLoopRemainder()
767 Value * const ModVal = CreateTripRemainder(B, BECount, TripCount, Count); in UnrollRuntimeLoopRemainder()
915 Value *TestVal = B2.CreateSub(TripCount, ModVal, "unroll_iter"); in UnrollRuntimeLoopRemainder()
H A DLoopUnroll.cpp320 unsigned TripCount; in UnrollLoop() member
337 Info.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop()
339 if (Info.TripCount != 0) { in UnrollLoop()
340 Info.BreakoutTrip = Info.TripCount % ULO.Count; in UnrollLoop()
349 << ": TripCount=" << Info.TripCount in UnrollLoop()
708 if (Info.TripCount && j != Info.TripCount) in UnrollLoop()
H A DLoopUnrollAndJam.cpp223 llvm::UnrollAndJamLoop(Loop *L, unsigned Count, unsigned TripCount, in UnrollAndJamLoop() argument
236 if (TripCount == 0 && Count < 2) { in UnrollAndJamLoop()
243 assert(TripCount == 0 || TripCount % TripMultiple == 0); in UnrollAndJamLoop()
246 bool CompletelyUnroll = (Count == TripCount); in UnrollAndJamLoop()
271 << Header->getName() << " with trip count " << TripCount in UnrollAndJamLoop()
276 << NV("UnrollCount", TripCount) << " iterations"); in UnrollAndJamLoop()
H A DLoopPeel.cpp359 unsigned TripCount, DominatorTree &DT, in computePeelCount() argument
449 if (TripCount) in computePeelCount()
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DUnrollLoop.h91 LoopUnrollResult UnrollAndJamLoop(Loop *L, unsigned Count, unsigned TripCount,
105 OptimizationRemarkEmitter *ORE, unsigned TripCount,
H A DLoopPeel.h35 unsigned TripCount, DominatorTree &DT,
/llvm-project-15.0.7/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp1200 CountValue *TripCount = getLoopTripCount(L, OldInsts); in convertToHardwareLoop() local
1201 if (!TripCount) in convertToHardwareLoop()
1205 if (TripCount->isReg()) { in convertToHardwareLoop()
1208 MachineInstr *TCDef = MRI->getVRegDef(TripCount->getReg()); in convertToHardwareLoop()
1241 if (TripCount->isReg()) { in convertToHardwareLoop()
1245 .addReg(TripCount->getReg(), 0, TripCount->getSubReg()); in convertToHardwareLoop()
1250 assert(TripCount->isImm() && "Expecting immediate value for trip count"); in convertToHardwareLoop()
1254 int64_t CountImm = TripCount->getImm(); in convertToHardwareLoop()
1296 delete TripCount; in convertToHardwareLoop()
H A DHexagonInstrInfo.cpp730 int64_t TripCount; member in __anon1386be150111::HexagonPipelinerLoopInfo
741 TripCount = Loop->getOpcode() == Hexagon::J2_loop0r in HexagonPipelinerLoopInfo()
744 if (TripCount == -1) in HexagonPipelinerLoopInfo()
756 if (TripCount == -1) { in createTripCountGreaterCondition()
768 return TripCount > TC; in createTripCountGreaterCondition()
781 int64_t TripCount = Loop->getOperand(1).getImm() + TripCountAdjust; in adjustTripCount() local
782 assert(TripCount > 0 && "Can't create an empty or negative loop!"); in adjustTripCount()
783 Loop->getOperand(1).setImm(TripCount); in adjustTripCount()
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/X86/
H A Dpr34438.ll4 ; Two cases tested AVX (MaxVF=8 = TripCount) and AVX512 (MaxVF=16 > TripCount)
/llvm-project-15.0.7/llvm/test/CodeGen/AArch64/
H A Dloop-micro-op-buffer-size-t99.ll8 ; CHECK: Exiting block %loop.inc: TripCount=512, TripMultiple=0, BreakoutTrip=0
13 ; CHECK: Exiting block %loop.2.inc: TripCount=512, TripMultiple=0, BreakoutTrip=0
/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/
H A DOMPIRBuilder.cpp1849 Type *IndVarTy = TripCount->getType(); in createLoopSkeleton()
2084 Value *TripCount = Builder.CreateAdd(TripCountMinusOne, One); in applyStaticWorkshareLoop() local
2085 CLI->setTripCount(TripCount); in applyStaticWorkshareLoop()
2749 DL, TripCount, F, InnerEnter, OutroInsertBefore, Name); in tileLoops()
3104 int TripCount = 0; in computeHeuristicUnrollFactor() local
4440 void CanonicalLoopInfo::setTripCount(Value *TripCount) { in setTripCount() argument
4445 CmpI->setOperand(1, TripCount); in setTripCount()
4564 Value *TripCount = getTripCount(); in assertOK() local
4565 assert(TripCount && "Loop trip count not found?"); in assertOK()
4566 assert(IndVar->getType() == TripCount->getType() && in assertOK()
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/LoopUnroll/
H A Dpartial-unroll-const-bounds.ll7 ; The Loop TripCount is 9. However unroll factors 3 or 9 exceed given threshold.
/llvm-project-15.0.7/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h280 Value *TripCount,
1559 CanonicalLoopInfo *createLoopSkeleton(DebugLoc DL, Value *TripCount,
1686 void setTripCount(Value *TripCount);
/llvm-project-15.0.7/llvm/unittests/Frontend/
H A DOpenMPIRBuilderTest.cpp203 Value *TripCount = F->getArg(0); in buildSingleLoopFunction() local
1209 Value *TripCount = F->getArg(0); in TEST_F() local
1244 EXPECT_EQ(Loop->getTripCount(), TripCount); in TEST_F()
1282 Value *TripCount = Loop->getTripCount(); in TEST_F() local
1477 Value *TripCount = F->getArg(0); in TEST_F() local
1478 Type *LCTy = TripCount->getType(); in TEST_F()
1559 Value *TripCount = F->getArg(0); in TEST_F() local
1560 Type *LCTy = TripCount->getType(); in TEST_F()
1563 Value *OuterStopVal = TripCount; in TEST_F()
1566 Value *InnerStopVal = TripCount; in TEST_F()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DVPlan.h2517 VPValue *TripCount = nullptr;
2559 if (TripCount)
2560 delete TripCount;
2568 void prepareToExecute(Value *TripCount, Value *VectorTripCount,
2586 if (!TripCount)
2587 TripCount = new VPValue();
2588 return TripCount;
H A DVPlan.cpp620 if (TripCount && TripCount->getNumUsers()) { in prepareToExecute()
622 State.set(TripCount, TripCountV, Part); in prepareToExecute()
H A DLoopVectorize.cpp699 Value *TripCount = nullptr; member in llvm::InnerLoopVectorizer
766 Value *TripCount = nullptr; member
863 TripCount = EPI.TripCount; in EpilogueVectorizerEpilogueLoop()
2800 if (TripCount) in getOrCreateTripCount()
2801 return TripCount; in getOrCreateTripCount()
2838 if (TripCount->getType()->isPointerTy()) in getOrCreateTripCount()
2839 TripCount = in getOrCreateTripCount()
2843 return TripCount; in getOrCreateTripCount()
7764 EPI.TripCount = Count; in emitIterationCountCheck()
7881 assert(EPI.TripCount && in emitMinimumVectorEpilogueIterCountCheck()
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/LoopCacheAnalysis/PowerPC/
H A Dcompute-cost.ll7 ; Stride and TripCount
/llvm-project-15.0.7/llvm/test/Analysis/LoopCacheAnalysis/
H A Dcompute-cost.ll9 ; Stride and TripCount

12