| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | LoopCacheAnalysis.cpp | 112 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 D | HashRecognize.cpp | 89 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 D | Lint.cpp | 378 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 D | LoopUnrollPass.cpp | 357 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 D | LoopFlatten.cpp | 305 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 D | LoopIdiomRecognize.cpp | 1093 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 D | MVETailPredication.cpp | 107 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 D | HashRecognize.h | 48 unsigned TripCount; member 74 PolynomialInfo(unsigned TripCount, Value *LHS, const APInt &RHS,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUnrollRuntime.cpp | 513 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 D | LoopUnrollAndJam.cpp | 215 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 D | LoopUnroll.cpp | 508 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 D | LoopPeel.cpp | 606 unsigned TripCount, DominatorTree &DT, in computePeelCount() argument 709 if (TripCount) in computePeelCount()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | UnrollLoop.h | 102 Loop *L, unsigned Count, unsigned TripCount, unsigned TripMultiple, 161 OptimizationRemarkEmitter *ORE, unsigned TripCount, unsigned MaxTripCount,
|
| H A D | LoopPeel.h | 46 unsigned TripCount, DominatorTree &DT,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlan.cpp | 1132 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 D | VPlanConstruction.cpp | 524 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 D | VPlanTransforms.cpp | 1435 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 D | VPlan.h | 3884 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 D | LoopVectorize.cpp | 514 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 D | HexagonHardwareLoops.cpp | 1243 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 D | HexagonInstrInfo.cpp | 731 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 D | OMPIRBuilder.cpp | 4025 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 D | OMPIRBuilder.h | 750 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 D | PPCInstrInfo.cpp | 5666 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 D | SelectionDAGBuilder.cpp | 8036 SDValue TripCount = getValue(I.getOperand(1)); in visitIntrinsicCall() local 8041 TripCount)); in visitIntrinsicCall() 8049 SDValue VectorTripCount = DAG.getSplat(VecTy, sdl, TripCount); in visitIntrinsicCall()
|