| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | MVETailPredication.cpp | 108 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 D | LoopCacheAnalysis.cpp | 117 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 D | Lint.cpp | 372 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 D | LoopUnrollPass.cpp | 364 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 D | LoopFlatten.cpp | 269 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 D | UnrollAnalyzerTest.cpp | 23 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 D | LoopUnrollRuntime.cpp | 498 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 D | LoopUnroll.cpp | 320 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 D | LoopUnrollAndJam.cpp | 223 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 D | LoopPeel.cpp | 359 unsigned TripCount, DominatorTree &DT, in computePeelCount() argument 449 if (TripCount) in computePeelCount()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | UnrollLoop.h | 91 LoopUnrollResult UnrollAndJamLoop(Loop *L, unsigned Count, unsigned TripCount, 105 OptimizationRemarkEmitter *ORE, unsigned TripCount,
|
| H A D | LoopPeel.h | 35 unsigned TripCount, DominatorTree &DT,
|
| /llvm-project-15.0.7/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 1200 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 D | HexagonInstrInfo.cpp | 730 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 D | pr34438.ll | 4 ; Two cases tested AVX (MaxVF=8 = TripCount) and AVX512 (MaxVF=16 > TripCount)
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/ |
| H A D | loop-micro-op-buffer-size-t99.ll | 8 ; 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 D | OMPIRBuilder.cpp | 1849 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 D | partial-unroll-const-bounds.ll | 7 ; 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 D | OMPIRBuilder.h | 280 Value *TripCount, 1559 CanonicalLoopInfo *createLoopSkeleton(DebugLoc DL, Value *TripCount, 1686 void setTripCount(Value *TripCount);
|
| /llvm-project-15.0.7/llvm/unittests/Frontend/ |
| H A D | OpenMPIRBuilderTest.cpp | 203 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 D | VPlan.h | 2517 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 D | VPlan.cpp | 620 if (TripCount && TripCount->getNumUsers()) { in prepareToExecute() 622 State.set(TripCount, TripCountV, Part); in prepareToExecute()
|
| H A D | LoopVectorize.cpp | 699 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 D | compute-cost.ll | 7 ; Stride and TripCount
|
| /llvm-project-15.0.7/llvm/test/Analysis/LoopCacheAnalysis/ |
| H A D | compute-cost.ll | 9 ; Stride and TripCount
|