Home
last modified time | relevance | path

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

12

/freebsd-src/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopNestAnalysis.h80 Loop &getOutermostLoop() const { return *Loops.front(); } in getOutermostLoop()
86 if (Loops.size() == 1) in getInnermostLoop()
87 return Loops.back(); in getInnermostLoop()
92 Loop *LastLoop = Loops.back(); in getInnermostLoop()
93 auto SecondLastLoopIter = ++Loops.rbegin(); in getInnermostLoop()
101 assert(Index < Loops.size() && "Index is out of bounds"); in getLoop()
102 return Loops[Index]; in getLoop()
114 size_t getNumLoops() const { return Loops.size(); } in getNumLoops()
117 ArrayRef<Loop *> getLoops() const { return Loops; } in getLoops()
121 assert(Depth >= Loops.front()->getLoopDepth() && in getLoopsAtDepth()
[all …]
H A DDependenceAnalysis.h370 SmallBitVector Loops; member
563 SmallBitVector &Loops) const;
569 SmallBitVector &Loops);
575 SmallBitVector &Loops);
615 SmallBitVector &Loops);
661 const SmallBitVector &Loops,
801 const SmallBitVector &Loops,
838 const SmallBitVector &Loops,
888 SmallBitVector &Loops,
974 SmallBitVector &Loops, bool IsSrc);
H A DScalarEvolutionNormalization.h55 const SCEV *normalizeForPostIncUse(const SCEV *S, const PostIncLoopSet &Loops,
66 const SCEV *denormalizeForPostIncUse(const SCEV *S, const PostIncLoopSet &Loops,
H A DLoopCacheAnalysis.h201 CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, ScalarEvolution &SE,
263 LoopVectorTy Loops;
H A DBlockFrequencyInfoImpl.h432 std::list<LoopData> Loops; variable
463 /// Insert them into \a Loops before \c Insert.
481 /// backedges and exits are stored in its entry in Loops.
894 /// Build up \a Loops using \a LoopInfo. \a LoopInfo gives us a mapping from
931 /// Find the irreducible SCCs in \c OuterLoop, add them to \a Loops (in front
1199 Loops.emplace_back(Parent, Header);
1200 Working[Header.Index].Loop = &Loops.back();
1204 Q.emplace_back(L, &Loops.back());
1237 for (auto L = Loops.rbegin(), E = Loops
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolutionNormalization.cpp98 const PostIncLoopSet &Loops, in normalizeForPostIncUse() argument
101 if (Loops.empty()) in normalizeForPostIncUse()
104 return Loops.count(AR->getLoop()); in normalizeForPostIncUse()
108 const SCEV *Denormalized = denormalizeForPostIncUse(Normalized, Loops, SE); in normalizeForPostIncUse()
121 const PostIncLoopSet &Loops, in denormalizeForPostIncUse() argument
123 if (Loops.empty()) in denormalizeForPostIncUse()
126 return Loops.count(AR->getLoop()); in denormalizeForPostIncUse()
H A DLoopCacheAnalysis.cpp58 /// Retrieve the innermost loop in the given loop nest \p Loops. It returns a
62 static Loop *getInnerMostLoop(const LoopVectorTy &Loops) { in getInnerMostLoop() argument
63 assert(!Loops.empty() && "Expecting a non-empy loop vector"); in getInnerMostLoop()
65 Loop *LastLoop = Loops.back(); in getInnerMostLoop()
69 assert(Loops.size() == 1 && "Expecting a single loop"); in getInnerMostLoop()
73 return (llvm::is_sorted(Loops, in getInnerMostLoop()
562 CacheCost::CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, in CacheCost()
566 : Loops(Loops), TRT(TRT.value_or(TemporalReuseThreshold)), LI(LI), SE(SE), in CacheCost()
568 assert(!Loops in CacheCost()
557 CacheCost(const LoopVectorTy & Loops,const LoopInfo & LI,ScalarEvolution & SE,TargetTransformInfo & TTI,AAResults & AA,DependenceInfo & DI,std::optional<unsigned> TRT) CacheCost() argument
582 LoopVectorTy Loops; getCacheCost() local
[all...]
H A DDependenceAnalysis.cpp878 SmallBitVector &Loops) const { in collectCommonLoops()
882 Loops.set(Level); in collectCommonLoops()
961 // Collect any loops mentioned in the set of "Loops".
963 SmallBitVector &Loops, bool IsSrc) { in checkSubscript() argument
992 Loops.set(mapSrcLoop(AddRec->getLoop())); in checkSubscript()
994 Loops.set(mapDstLoop(AddRec->getLoop())); in checkSubscript()
995 return checkSubscript(Start, LoopNest, Loops, IsSrc); in checkSubscript()
999 // Collect any loops mentioned in the set of "Loops".
1001 SmallBitVector &Loops) { in checkSrcSubscript() argument
1002 return checkSubscript(Src, LoopNest, Loops, tru in checkSrcSubscript()
1008 checkDstSubscript(const SCEV * Dst,const Loop * LoopNest,SmallBitVector & Loops) checkDstSubscript() argument
1019 classifyPair(const SCEV * Src,const Loop * SrcLoopNest,const SCEV * Dst,const Loop * DstLoopNest,SmallBitVector & Loops) classifyPair() argument
2361 testMIV(const SCEV * Src,const SCEV * Dst,const SmallBitVector & Loops,FullDependence & Result) const testMIV() argument
2606 banerjeeMIVtest(const SCEV * Src,const SCEV * Dst,const SmallBitVector & Loops,FullDependence & Result) const banerjeeMIVtest() argument
2687 exploreDirections(unsigned Level,CoefficientInfo * A,CoefficientInfo * B,BoundInfo * Bound,const SmallBitVector & Loops,unsigned & DepthExpanded,const SCEV * Delta) const exploreDirections() argument
3154 propagate(const SCEV * & Src,const SCEV * & Dst,SmallBitVector & Loops,SmallVectorImpl<Constraint> & Constraints,bool & Consistent) propagate() argument
[all...]
H A DBlockFrequencyInfoImpl.cpp9 // Loops should be simplified before this analysis.
298 Loops.clear(); in clear()
542 for (LoopData &Loop : Loops) in unwrapLoops()
769 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), in findIrreducibleHeaders()
784 assert((OuterLoop == nullptr) == (Insert == Loops.begin())); in createIrreducibleLoop()
785 auto Prev = OuterLoop ? std::prev(Insert) : Loops.end(); in createIrreducibleLoop()
797 return make_range(Loops.begin(), Insert); in analyzeIrreducible()
H A DInlineSizeEstimatorAnalysis.cpp59 Loops,
195 FF[NamedFeatureIndex::Loops] = std::distance(LI.begin(), LI.end()); in getFunctionFeatures()
60 Loops, global() enumerator
H A DLoopNestAnalysis.cpp44 append_range(Loops, breadth_first(&Root)); in LoopNest()
245 for (Loop *L : depth_first(const_cast<Loop *>(Loops.front()))) { in getPerfectLoops()
H A DMustExecute.cpp360 const auto &Loops = MustExec.lookup(&V); in printInfoComment() local
361 const auto NumLoops = Loops.size(); in printInfoComment()
368 for (const Loop *L : Loops) in printInfoComment()
/freebsd-src/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DCalcSpillWeights.h49 const MachineLoopInfo &Loops; variable
58 const VirtRegMap &VRM, const MachineLoopInfo &Loops, in VirtRegAuxInfo() argument
60 : MF(MF), LIS(LIS), VRM(VRM), Loops(Loops), MBFI(MBFI) {} in VirtRegAuxInfo()
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DStructurizeCFG.cpp262 BB2BBMap Loops; member in __anonabeaf6490111::StructurizeCFG
280 void insertConditions(bool Loops);
438 Loops[Exit] = N->getEntry(); in analyzeLoops()
447 Loops[Succ] = BB; in analyzeLoops()
490 if (Visited.count(Other) && !Loops.count(Other) && in gatherPredicates()
528 Loops.clear(); in collectInfos()
559 void StructurizeCFG::insertConditions(bool Loops) { in insertConditions() argument
560 BranchVector &Conds = Loops ? LoopConds : Conditions; in insertConditions()
561 Value *Default = Loops ? BoolTrue : BoolFalse; in insertConditions()
573 PhiInserter.AddAvailableValue(Loops in insertConditions()
[all...]
H A DLoopUnrollAndJamPass.cpp431 ArrayRef<Loop *> Loops = LN.getLoops(); in tryToUnrollAndJamLoop()
437 appendLoopsToWorklist(Loops, Worklist); in tryToUnrollAndJamLoop()
429 ArrayRef<Loop *> Loops = LN.getLoops(); tryToUnrollAndJamLoop() local
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp223 SmallVector<Loop *, 8> Loops; in extractLoops() local
226 Loops.assign(From, To); in extractLoops()
227 for (Loop *L : Loops) { in extractLoops()
/freebsd-src/contrib/llvm-project/llvm/lib/CodeGen/
H A DEarlyIfConversion.cpp766 MachineLoopInfo *Loops = nullptr;
827 void updateLoops(MachineLoopInfo *Loops,
832 Loops->removeBlock(B); in updateLoops()
874 MachineLoop *CurrentLoop = Loops->getLoopFor(IfConv.Head); in shouldConvertIf()
1069 updateLoops(Loops, RemovedBlocks); in tryConvertIf()
1090 Loops = &getAnalysis<MachineLoopInfoWrapperPass>().getLI(); in runOnMachineFunction()
1120 MachineLoopInfo *Loops = nullptr;
1207 updateLoops(Loops, RemovedBlocks); in tryConvertIf()
1224 Loops = &getAnalysis<MachineLoopInfoWrapperPass>().getLI(); in runOnMachineFunction()
768 MachineLoopInfo *Loops = nullptr; global() member in __anon15b143380311::EarlyIfConverter
829 updateLoops(MachineLoopInfo * Loops,ArrayRef<MachineBasicBlock * > Removed) updateLoops() argument
1123 MachineLoopInfo *Loops = nullptr; global() member in __anon15b143380b11::EarlyIfPredicator
H A DMLRegAllocEvictAdvisor.cpp291 const MachineLoopInfo &Loops);
352 const MachineLoopInfo &Loops;
436 const MachineLoopInfo &Loops, Logger *Log)
437 : MLEvictAdvisor(MF, RA, Runner, MBFI, Loops), Log(Log) {}
575 const MachineLoopInfo &Loops) in MLEvictAdvisor()
577 Runner(std::move(Runner)), MBFI(MBFI), Loops(Loops), in MLEvictAdvisor()
830 auto *Loop = Loops.getLoopFor(MBB); in getLIFeatureComponents()
351 const MachineLoopInfo &Loops; global() member in __anonfc18a55b0111::MLEvictAdvisor
434 DevelopmentModeEvictAdvisor(const MachineFunction & MF,const RAGreedy & RA,MLModelRunner * Runner,const MachineBlockFrequencyInfo & MBFI,const MachineLoopInfo & Loops,Logger * Log) DevelopmentModeEvictAdvisor() argument
572 MLEvictAdvisor(const MachineFunction & MF,const RAGreedy & RA,MLModelRunner * Runner,const MachineBlockFrequencyInfo & MBFI,const MachineLoopInfo & Loops) MLEvictAdvisor() argument
H A DMachineTraceMetrics.cpp71 Loops = &getAnalysis<MachineLoopInfoWrapperPass>().getLI(); in runOnMachineFunction()
169 return MTM.Loops->getLoopFor(MBB); in getLoopFor()
448 const MachineLoopInfo *Loops; member
452 const MachineLoopInfo *loops) : Blocks(blocks), Loops(loops) {} in LoopBounds()
478 if (const MachineLoop *FromLoop = LB.Loops->getLoopFor(*From)) { in insertEdge()
483 if (isExitingLoop(FromLoop, LB.Loops->getLoopFor(To))) in insertEdge()
500 LoopBounds Bounds(BlockInfo, MTM.Loops); in computeTrace()
H A DSelectOptimize.cpp510 SmallVector<Loop *, 4> Loops(LI->begin(), LI->end()); in getTrueOrFalseValue()
512 for (unsigned long i = 0; i < Loops.size(); ++i) in getTrueOrFalseValue()
513 for (Loop *ChildL : Loops[i]->getSubLoops()) in getTrueOrFalseValue()
514 Loops.push_back(ChildL); in getTrueOrFalseValue()
516 for (Loop *L : Loops) { in getTrueOrFalseValue()
483 SmallVector<Loop *, 4> Loops(LI->begin(), LI->end()); optimizeSelectsInnerLoops() local
/freebsd-src/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIOptimizeVGPRLiveRange.cpp96 const MachineLoopInfo *Loops = nullptr; member in __anon9a5ff2ae0111::SIOptimizeVGPRLiveRange
250 Loops->getLoopFor(DefMBB) == Loops->getLoopFor(If)) { in collectCandidateRegisters()
295 Loops->getLoopFor(DefMBB) == Loops->getLoopFor(If)) in collectCandidateRegisters()
639 Loops = &getAnalysis<MachineLoopInfoWrapperPass>().getLI(); in runOnMachineFunction()
/freebsd-src/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericLoopInfoImpl.h392 DenseSet<const LoopT *> *Loops) const { in verifyLoopNest() argument
394 Loops->insert(static_cast<const LoopT *>(this)); in verifyLoopNest()
399 (*I)->verifyLoopNest(Loops); in verifyLoopNest()
709 DenseSet<const LoopT *> Loops; in verify() local
712 (*I)->verifyLoopNest(&Loops); in verify()
720 assert(Loops.count(L) && "orphaned loop"); in verify()
/freebsd-src/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86CmovConversion.cpp239 SmallVector<MachineLoop *, 4> Loops(MLI->begin(), MLI->end()); in runOnMachineFunction() local
242 for (int i = 0; i < (int)Loops.size(); ++i) in runOnMachineFunction()
243 for (MachineLoop *Child : Loops[i]->getSubLoops()) in runOnMachineFunction()
244 Loops.push_back(Child); in runOnMachineFunction()
246 for (MachineLoop *CurrLoop : Loops) { in runOnMachineFunction()
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DUnifyLoopExits.cpp219 auto Loops = LI.getLoopsInPreorder(); in runImpl() local
220 for (auto *L : Loops) { in runImpl()
/freebsd-src/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ConditionalCompares.cpp768 MachineLoopInfo *Loops; member in __anon5f262a470211::AArch64ConditionalCompares
837 if (!Loops) in updateLoops()
840 Loops->removeBlock(RemovedMBB); in updateLoops()
937 Loops = &getAnalysis<MachineLoopInfoWrapperPass>().getLI(); in runOnMachineFunction()

12