| /freebsd-12.1/contrib/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 42 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 D | UnrollLoop.h | 30 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 D | LoopVersioning.h | 26 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 D | LoopPassManager.h | 122 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 D | LoopInfo.cpp | 200 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 D | BlockFrequencyInfoImpl.cpp | 391 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 D | MustExecute.cpp | 45 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 D | LoopAnalysisManager.cpp | 29 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 D | LoopPass.cpp | 49 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 D | LoopPass.h | 40 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 D | ScalarEvolution.h | 426 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 D | DependenceAnalysis.h | 50 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 D | MustExecute.h | 32 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 D | BlockFrequencyInfoImpl.h | 54 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 D | LoopInfo.h | 57 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 D | ScalarEvolutionExpander.h | 62 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 D | DivergenceAnalysis.h | 29 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 D | SyncDependenceAnalysis.h | 30 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 D | SIFixWWMLiveness.cpp | 258 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 D | WebAssemblyFixIrreducibleControlFlow.cpp | 77 : 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 D | LoopPassManager.cpp | 18 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 D | SimpleLoopUnswitch.cpp | 279 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 D | LoopInterchange.cpp | 328 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 D | LoopUnswitch.cpp | 149 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 D | LoopVectorizationLegality.h | 46 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 …]
|