Home
last modified time | relevance | path

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

12345678910>>...12

/freebsd-12.1/contrib/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h42 class Loop; variable
125 TargetLibraryInfo *, Loop *, AliasSetTracker *,
156 Loop *, AliasSetTracker *,
209 bool hasDisableAllTransformsHint(const Loop *L);
240 TransformationMode hasUnrollTransformation(Loop *L);
241 TransformationMode hasUnrollAndJamTransformation(Loop *L);
242 TransformationMode hasVectorizeTransformation(Loop *L);
243 TransformationMode hasDistributeTransformation(Loop *L);
244 TransformationMode hasLICMVersioningTransformation(Loop *L);
254 Optional<unsigned> getLoopEstimatedTripCount(Loop *L);
[all …]
H A DUnrollLoop.h30 class Loop; variable
36 using NewLoopsMap = SmallDenseMap<const Loop *, Loop *, 4>;
47 const Loop* addClonedBlockToLoopInfo(BasicBlock *OriginalBB,
74 Loop **RemainderLoop = nullptr);
76 bool UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
82 Loop **ResultLoop = nullptr);
84 void computePeelCount(Loop *L, unsigned LoopSize,
88 bool canPeel(Loop *L);
98 Loop **EpilogueLoop = nullptr);
103 bool computeUnrollCount(Loop *L, const TargetTransformInfo &TTI,
[all …]
H A DLoopVersioning.h26 class Loop; variable
42 LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI,
68 Loop *getVersionedLoop() { return VersionedLoop; } in getVersionedLoop()
72 Loop *getNonVersionedLoop() { return NonVersionedLoop; } in getNonVersionedLoop()
116 Loop *VersionedLoop;
119 Loop *NonVersionedLoop;
/freebsd-12.1/contrib/llvm/include/llvm/Transforms/Scalar/
H A DLoopPassManager.h122 for (Loop *RootL : reverse(Loops)) {
188 for (Loop *NewL : NewChildLoops)
209 for (Loop *NewL : NewSibLoops)
237 SmallPriorityWorklist<Loop *, 4> &Worklist;
242 Loop *CurrentL;
248 Loop *ParentL;
318 SmallPriorityWorklist<Loop *, 4> Worklist;
333 Loop *L = Worklist.pop_back_val();
351 if (!PI.runBeforePass<Loop>(Pass, *L))
359 PI.runAfterPass<Loop>(Pass, *L);
[all …]
/freebsd-12.1/contrib/llvm/lib/Analysis/
H A DLoopInfo.cpp200 bool Loop::isSafeToClone() const { in isSafeToClone()
215 MDNode *Loop::getLoopID() const { in getLoopID()
367 Loop::LocRange Loop::getLocRange() const { in getLocRange()
416 Loop &Unloop;
425 DenseMap<Loop *, Loop *> SubloopParents;
442 Loop *getNearestLoop(BasicBlock *BB, Loop *BBLoop);
455 Loop *L = LI->getLoopFor(POI); in updateBlockParents()
536 Loop *UnloopUpdater::getNearestLoop(BasicBlock *BB, Loop *BBLoop) { in getNearestLoop()
540 Loop *NearLoop = BBLoop; in getNearestLoop()
542 Loop *Subloop = nullptr; in getNearestLoop()
[all …]
H A DBlockFrequencyInfoImpl.cpp391 Loop.Scale = in computeLoopScale()
407 Loop->Exits.clear(); in packageLoop()
410 Loop.IsPackaged = true; in packageLoop()
502 << ": mass = " << Loop.Mass << ", scale = " << Loop.Scale in unwrapLoop()
504 Loop.Scale *= Loop.Mass.toScaled(); in unwrapLoop()
505 Loop.IsPackaged = false; in unwrapLoop()
528 unwrapLoop(*this, Loop); in unwrapLoops()
610 return getBlockName(Loop.getHeader()) + (Loop.isIrreducible() ? "**" : "*"); in getLoopName()
766 BFI.Working[N.Index].Loop->Parent = &*Loop; in createIrreducibleLoop()
768 BFI.Working[N.Index].Loop = &*Loop; in createIrreducibleLoop()
[all …]
H A DMustExecute.cpp45 void SimpleLoopSafetyInfo::computeLoopSafetyInfo(const Loop *CurLoop) { in computeLoopSafetyInfo()
56 for (Loop::block_iterator BB = std::next(CurLoop->block_begin()), in computeLoopSafetyInfo()
72 void ICFLoopSafetyInfo::computeLoopSafetyInfo(const Loop *CurLoop) { in computeLoopSafetyInfo()
97 void LoopSafetyInfo::computeBlockColors(const Loop *CurLoop) { in computeBlockColors()
112 const Loop *CurLoop) { in CanProveNotTakenFirstIteration()
154 const Loop *CurLoop, const BasicBlock *BB, in collectTransitivePredecessors()
183 bool LoopSafetyInfo::allLoopPathsLeadToBlock(const Loop *CurLoop, in allLoopPathsLeadToBlock()
331 DenseMap<const Value*, SmallVector<Loop*, 4> > MustExec;
337 Loop *L = LI.getLoopFor(I.getParent()); in MustExecuteAnnotatedWriter()
350 Loop *L = LI.getLoopFor(I.getParent()); in MustExecuteAnnotatedWriter()
[all …]
H A DLoopAnalysisManager.cpp29 template class AllAnalysesOn<Loop>;
30 template class AnalysisManager<Loop, LoopStandardAnalysisResults &>;
32 template class OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop,
43 SmallVector<Loop *, 4> PreOrderLoops = LI->getLoopsInReverseSiblingPreorder(); in invalidate()
69 for (Loop *L : PreOrderLoops) { in invalidate()
91 PA.allAnalysesInSetPreserved<AllAnalysesOn<Loop>>(); in invalidate()
99 for (Loop *L : reverse(PreOrderLoops)) { in invalidate()
H A DLoopPass.cpp49 bool runOnLoop(Loop *L, LPPassManager &) override { in runOnLoop()
77 void LPPassManager::addLoop(Loop &L) { in addLoop()
98 BasicBlock *To, Loop *L) { in cloneBasicBlockSimpleAnalysis()
106 void LPPassManager::deleteSimpleAnalysisValue(Value *V, Loop *L) { in deleteSimpleAnalysisValue()
119 void LPPassManager::deleteSimpleAnalysisLoop(Loop *L) { in deleteSimpleAnalysisLoop()
128 static void addLoopIntoQueue(Loop *L, std::deque<Loop *> &LQ) { in addLoopIntoQueue()
130 for (Loop *I : reverse(*L)) in addLoopIntoQueue()
143 void LPPassManager::markLoopAsDeleted(Loop &L) { in markLoopAsDeleted()
182 for (Loop *L : reverse(*LI)) in runOnFunction()
189 for (Loop *L : LQ) { in runOnFunction()
[all …]
/freebsd-12.1/contrib/llvm/include/llvm/Analysis/
H A DLoopPass.h40 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
46 virtual bool doInitialization(Loop *L, LPPassManager &LPM) { in doInitialization()
83 virtual void deleteAnalysisValue(Value *V, Loop *L) {} in deleteAnalysisValue()
88 virtual void deleteAnalysisLoop(Loop *L) {} in deleteAnalysisLoop()
94 bool skipLoop(const Loop *L) const;
130 void addLoop(Loop &L);
133 void markLoopAsDeleted(Loop &L);
148 void deleteSimpleAnalysisValue(Value *V, Loop *L);
152 void deleteSimpleAnalysisLoop(Loop *L);
155 std::deque<Loop *> LQ;
[all …]
H A DScalarEvolution.h426 const Loop *L;
744 const SCEV *getBackedgeTakenCount(const Loop *L);
771 void forgetLoop(const Loop *L);
777 void forgetTopmostLoop(const Loop *L);
1069 const SCEV *S, const Loop *L,
1372 LoopProperties getLoopProperties(const Loop *L);
1374 bool loopHasNoSideEffects(const Loop *L) {
1378 bool loopHasNoAbnormalExits(const Loop *L) {
1514 const Loop *L;
1751 const Loop *L);
[all …]
H A DDependenceAnalysis.h50 class Loop; variable
387 const Loop *AssociatedLoop;
432 const Loop *getAssociatedLoop() const;
537 const Loop *LoopNest,
543 const Loop *LoopNest,
549 const Loop *LoopNest,
650 const Loop *CurrentLoop,
687 const Loop *CurrentLoop,
740 const Loop *SrcLoop,
741 const Loop *DstLoop,
[all …]
H A DMustExecute.h32 class Loop; variable
54 void computeBlockColors(const Loop *CurLoop);
73 bool allLoopPathsLeadToBlock(const Loop *CurLoop, const BasicBlock *BB,
81 virtual void computeLoopSafetyInfo(const Loop *CurLoop) = 0;
87 const Loop *CurLoop) const = 0;
108 virtual void computeLoopSafetyInfo(const Loop *CurLoop);
112 const Loop *CurLoop) const;
137 virtual void computeLoopSafetyInfo(const Loop *CurLoop);
141 const Loop *CurLoop) const;
145 bool doesNotWriteMemoryBefore(const BasicBlock *BB, const Loop *CurLoop)
[all …]
H A DBlockFrequencyInfoImpl.h54 class Loop; variable
281 bool isLoopHeader() const { return Loop && Loop->isHeader(Node); }
284 return isLoopHeader() && Loop->Parent && Loop->Parent->isIrreducible() &&
290 return Loop;
315 if (!Loop || !Loop->IsPackaged)
317 auto L = Loop;
552 using LoopT = Loop;
1122 if (!Loop)
1131 Working[Index].Loop = HeaderData.Loop;
1213 if (!propagateMassToSuccessors(&Loop, Loop.getHeader()))
[all …]
H A DLoopInfo.h57 class Loop; variable
456 Loop.print(OS);
465 class Loop : public LoopBase<BasicBlock, Loop> {
597 Loop() = default;
601 explicit Loop(BasicBlock *BB) : LoopBase<BasicBlock, Loop>(BB) {} in Loop() function
602 ~Loop() = default;
828 void erase(Loop *L);
878 auto Contains = [](const Loop *Outer, const Loop *Inner) { in movementPreservesLCSSAForm()
927 typedef const Loop *NodeRef;
935 template <> struct GraphTraits<Loop *> {
[all …]
H A DScalarEvolutionExpander.h62 DenseMap<const SCEV *, const Loop *> RelevantLoops;
72 const Loop *IVIncInsertLoop;
177 bool isHighCostExpansion(const SCEV *Expr, Loop *L,
187 PHINode *getOrInsertCanonicalInductionVariable(const Loop *L, Type *Ty);
198 unsigned replaceCongruentIVs(Loop *L, const DominatorTree *DT,
237 void setIVIncInsertPos(const Loop *L, Instruction *Pos) {
293 Loop *L);
314 bool isHighCostExpansionHelper(const SCEV *S, Loop *L,
347 const Loop *getRelevantLoop(const SCEV *);
383 const Loop *L,
[all …]
H A DDivergenceAnalysis.h29 class Loop; variable
47 DivergenceAnalysis(const Function &F, const Loop *RegionLoop,
52 const Loop *getRegionLoop() const { return RegionLoop; } in getRegionLoop()
134 const Loop *TermLoop);
143 void propagateLoopDivergence(const Loop &ExitingLoop);
149 const Loop *RegionLoop;
155 DenseSet<const Loop *> DivergentLoops;
H A DSyncDependenceAnalysis.h30 class Loop; variable
41 void visitSuccessor(const BasicBlock &succBlock, const Loop *termLoop,
69 const ConstBlockSet &join_blocks(const Loop &Loop);
79 std::map<const Loop *, std::unique_ptr<ConstBlockSet>> CachedLoopExitJoins;
/freebsd-12.1/contrib/llvm/lib/Target/AMDGPU/
H A DSIFixWWMLiveness.cpp258 if (!Loop) in processDef()
263 if (Loop->contains(UseBlock)) in processDef()
269 Loop = Parent; in processDef()
278 &DefOpnd, Loop)); in processDef()
292 auto Loop = LoopInfo->getLoopFor(UseBlock); in processDef() local
293 if (!Loop || Loop->getHeader() != UseBlock in processDef()
354 MachineLoop *Loop) { in processLoopExitDef() argument
359 if (Loop->contains(WWM->getParent())) { in processLoopExitDef()
370 if (!Loop->contains(Pred)) { in processLoopExitDef()
389 MachineLoop *Loop) { in processLoopPhiDef() argument
[all …]
/freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFixIrreducibleControlFlow.cpp77 : MF(MF), MLI(MLI), Loop(Loop) {} in LoopFixer()
85 MachineLoop *Loop; member in __anon90db4fc00111::LoopFixer
103 if (InnerLoop == Loop) { in canonicalize()
122 if (Loop && MBB == Loop->getHeader()) { in canonicalizeSuccessor()
152 Header = Loop ? Loop->getHeader() : &*MF.begin(); in run()
155 if (Loop) { in run()
156 for (auto *MBB : Loop->getBlocks()) { in run()
171 if (InnerLoop == Loop) { in run()
272 MLI.changeLoopFor(Dispatch, Loop); in run()
326 MLI.changeLoopFor(Split, Loop); in run()
[all …]
/freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/
H A DLoopPassManager.cpp18 template class PassManager<Loop, LoopAnalysisManager,
25 PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
26 LPMUpdater &>::run(Loop &L, LoopAnalysisManager &AM, in run()
42 if (!PI.runBeforePass<Loop>(*Pass, L)) in run()
49 PI.runAfterPassInvalidated<Loop>(*Pass); in run()
51 PI.runAfterPass<Loop>(*Pass, L); in run()
88 PA.preserveSet<AllAnalysesOn<Loop>>(); in run()
101 PreservedAnalyses PrintLoopPass::run(Loop &L, LoopAnalysisManager &, in run()
H A DSimpleLoopUnswitch.cpp279 Loop *NewParentL = nullptr; in hoistLoopToNewParent()
607 Loop *OuterL = &L; in unswitchTrivialSwitch()
1114 static Loop *cloneLoopNest(Loop &OrigRootL, Loop *RootParentL, in cloneLoopNest()
1116 auto AddClonedBlocksToLoop = [&](Loop &OrigL, Loop &ClonedL) { in cloneLoopNest()
1142 SmallVector<std::pair<Loop *, Loop *>, 16> LoopsToClone; in cloneLoopNest()
1176 Loop *ClonedL = nullptr; in buildClonedLoops()
1188 Loop *ParentL = nullptr; in buildClonedLoops()
1654 Loop *ParentL = nullptr; in rebuildLoopAfterUnswitch()
1947 Loop *OuterExitL = &L; in unswitchNontrivialInvariants()
2247 for (Loop *UpdatedL : in unswitchNontrivialInvariants()
[all …]
H A DLoopInterchange.cpp328 LoopInterchangeLegality(Loop *Outer, Loop *Inner, ScalarEvolution *SE, in LoopInterchangeLegality()
347 bool tightlyNested(Loop *Outer, Loop *Inner);
358 Loop *OuterLoop;
359 Loop *InnerLoop;
386 Loop *OuterLoop;
387 Loop *InnerLoop;
408 void restructureLoops(Loop *NewInner, Loop *NewOuter,
411 void removeChildLoop(Loop *OuterLoop, Loop *InnerLoop);
420 Loop *OuterLoop;
421 Loop *InnerLoop;
[all …]
H A DLoopUnswitch.cpp149 void forgetLoop(const Loop *L);
166 void cloneData(const Loop *NewLoop, const Loop *OldLoop,
177 std::vector<Loop*> LoopProcessWorklist;
184 Loop *currentLoop = nullptr;
243 void SplitExitEdges(Loop *L,
357 void LUAnalysisCache::cloneData(const Loop *NewLoop, const Loop *OldLoop, in cloneData()
904 static Loop *CloneLoop(Loop *L, Loop *PL, ValueToValueMapTy &VM, in CloneLoop()
906 Loop &New = *LI->AllocateLoop(); in CloneLoop()
920 for (Loop *I : *L) in CloneLoop()
1210 void LoopUnswitch::SplitExitEdges(Loop *L, in SplitExitEdges()
[all …]
/freebsd-12.1/contrib/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h46 Loop *TheLoop,
98 LoopVectorizeHints(const Loop *L, bool InterleaveOnlyWhenForced,
108 bool allowVectorization(Function *F, Loop *L,
165 const Loop *TheLoop;
195 bool doesNotMeet(Function *F, Loop *L, const LoopVectorizeHints &Hints);
221 Loop *L, PredicatedScalarEvolution &PSE, DominatorTree *DT, in LoopVectorizationLegality()
223 std::function<const LoopAccessInfo &(Loop &)> *GetLAA, LoopInfo *LI, in LoopVectorizationLegality()
343 bool canVectorizeLoopNestCFG(Loop *Lp, bool UseVPlanNativePath);
356 bool canVectorizeLoopCFG(Loop *Lp, bool UseVPlanNativePath);
411 Loop *TheLoop;
[all …]

12345678910>>...12