Home
last modified time | relevance | path

Searched refs:Loop (Results 26 – 50 of 336) sorted by relevance

12345678910>>...14

/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZMachineScheduler.cpp41 const MachineLoop *Loop) { in getSingleSchedPred() argument
48 if (MBB->pred_size() == 2 && Loop != nullptr && Loop->getHeader() == MBB) { in getSingleSchedPred()
50 if (Loop->contains(Pred)) in getSingleSchedPred()
54 assert ((PredMBB == nullptr || !Loop || Loop->contains(PredMBB)) in getSingleSchedPred()
89 LLVM_DEBUG(const MachineLoop *Loop = MLI->getLoopFor(MBB); in enterMBB()
90 if (Loop && Loop->getHeader() == MBB) dbgs() << " (Loop header)"; in enterMBB()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopIterator.h41 using NodeRef = std::pair<const Loop *, BasicBlock *>;
55 const Loop *L;
58 WrappedSuccIterator(succ_iterator Begin, const Loop *L) in WrappedSuccIterator()
66 const Loop *L = N.first; in operator()
74 static NodeRef getEntryNode(const Loop &G) { return {&G, G.getHeader()}; } in getEntryNode()
106 Loop *L;
115 LoopBlocksDFS(Loop *Container) : in LoopBlocksDFS()
120 Loop *getLoop() const { return L; } in getLoop()
177 LoopBlocksRPO(Loop *Container) : DFS(Container) {} in LoopBlocksRPO()
H A DMustExecute.h41 class Loop; variable
66 void computeBlockColors(const Loop *CurLoop);
85 bool allLoopPathsLeadToBlock(const Loop *CurLoop, const BasicBlock *BB,
93 virtual void computeLoopSafetyInfo(const Loop *CurLoop) = 0;
99 const Loop *CurLoop) const = 0;
120 void computeLoopSafetyInfo(const Loop *CurLoop) override;
124 const Loop *CurLoop) const override;
145 void computeLoopSafetyInfo(const Loop *CurLoop) override;
149 const Loop *CurLoop) const override;
153 bool doesNotWriteMemoryBefore(const BasicBlock *BB, const Loop *CurLoop)
[all …]
H A DIVUsers.h71 void transformToPostInc(const Loop *L);
92 Loop *L;
107 IVUsers(Loop *L, AssumptionCache *AC, LoopInfo *LI, DominatorTree *DT,
121 Loop *getLoop() const { return L; } in getLoop()
138 const SCEV *getStride(const IVStrideUse &IU, const Loop *L) const;
175 bool runOnLoop(Loop *L, LPPassManager &LPM) override;
190 IVUsers run(Loop &L, LoopAnalysisManager &AM,
H A DLoopAccessAnalysis.h27 class Loop; variable
184 MemoryDepChecker(PredicatedScalarEvolution &PSE, const Loop *L) in MemoryDepChecker()
267 const Loop *getInnermostLoop() const { return InnermostLoop; } in getInnermostLoop()
277 const Loop *InnermostLoop;
447 void insert(Loop *Lp, Value *Ptr, const SCEV *PtrExpr, Type *AccessTy,
578 LoopAccessInfo(Loop *L, ScalarEvolution *SE, const TargetLibraryInfo *TLI,
602 static bool blockNeedsPredication(BasicBlock *BB, Loop *TheLoop,
691 Loop *TheLoop;
745 const Loop *Lp,
781 DenseMap<Loop *, std::unique_ptr<LoopAccessInfo>> LoopAccessInfoMap;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanHCFGBuilder.cpp37 Loop *TheLoop;
60 DenseMap<Loop *, VPRegionBlock *> Loop2Region;
74 PlainCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in PlainCFGBuilder()
87 Loop *LoopForBB = LI->getLoopFor(BB); in setVPBBPredsFromBB()
111 static bool isHeaderBB(BasicBlock *BB, Loop *L) { in isHeaderBB()
118 Loop *LoopOfBB = LI->getLoopFor(BB); in setRegionPredsFromBB()
133 Loop *L = LI->getLoopFor(Phi->getParent()); in fixPhiNodes()
160 static bool doesContainLoop(const Loop *L, const Loop *OuterLoop) { in doesContainLoop()
163 const Loop *P = L; in doesContainLoop()
189 Loop *LoopOfBB = LI->getLoopFor(BB); in getOrCreateVPBB()
[all …]
H A DVPlanHCFGBuilder.h32 class Loop; variable
44 Loop *TheLoop;
64 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in VPlanHCFGBuilder()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp79 bool extractLoops(Loop::iterator From, Loop::iterator To, LoopInfo &LI,
81 bool extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT);
184 Loop *TLL = *LI.begin(); in runOnFunction()
220 bool LoopExtractor::extractLoops(Loop::iterator From, Loop::iterator To, in extractLoops()
223 SmallVector<Loop *, 8> Loops; in extractLoops()
227 for (Loop *L : Loops) { in extractLoops()
239 bool LoopExtractor::extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT) { in extractLoop()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopPeel.h22 bool canPeel(const Loop *L);
26 bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE,
31 gatherPeelingPreferences(Loop *L, ScalarEvolution &SE,
37 void computePeelCount(Loop *L, unsigned LoopSize,
H A DScalarEvolutionExpander.h77 DenseMap<const SCEV *, const Loop *> RelevantLoops;
87 const Loop *IVIncInsertLoop;
225 bool isHighCostExpansion(ArrayRef<const SCEV *> Exprs, Loop *L,
263 unsigned replaceCongruentIVs(Loop *L, const DominatorTree *DT,
313 void setIVIncInsertPos(const Loop *L, Instruction *Pos) {
388 Loop *L);
399 bool isHighCostExpansionHelper(const SCEVOperand &WorkItem, Loop *L,
447 const Loop *getRelevantLoop(const SCEV *);
486 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
492 const Loop *L, Type *&TruncTy,
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DFixIrreducible.cpp115 static void reconnectChildLoops(LoopInfo &LI, Loop *ParentLoop, Loop *NewLoop, in INITIALIZE_PASS_DEPENDENCY()
124 CandidateLoops.begin(), CandidateLoops.end(), [&](Loop *L) { in INITIALIZE_PASS_DEPENDENCY()
127 SmallVector<Loop *, 8> ChildLoops(FirstChild, CandidateLoops.end()); in INITIALIZE_PASS_DEPENDENCY()
130 for (Loop *Child : ChildLoops) { in INITIALIZE_PASS_DEPENDENCY()
144 std::vector<Loop *> GrandChildLoops; in INITIALIZE_PASS_DEPENDENCY()
165 Loop *ParentLoop, in createNaturalLoopInternal()
246 template <> struct GraphTraits<Loop> : LoopBodyTraits {};
259 static void createNaturalLoop(LoopInfo &LI, DominatorTree &DT, Loop &L, in createNaturalLoop()
320 SmallVector<Loop *, 8> WorkList; in FixIrreducibleImpl()
H A DLoopSimplify.cpp83 Loop *L) { in placeSplitBlockCarefully()
173 static PHINode *findPHIToPartitionLoops(Loop *L, DominatorTree *DT, in findPHIToPartitionLoops()
215 static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader, in separateNestedLoop()
280 Loop *NewOuter = LI->AllocateLoop(); in separateNestedLoop()
283 if (Loop *Parent = L->getParentLoop()) in separateNestedLoop()
308 const std::vector<Loop*> &SubLoops = L->getSubLoops(); in separateNestedLoop()
478 static bool simplifyOneLoop(Loop *L, SmallVectorImpl<Loop *> &Worklist, in simplifyOneLoop()
718 SmallVector<Loop *, 4> Worklist; in simplifyLoop()
725 Loop *L2 = Worklist[Idx]; in simplifyLoop()
870 static void verifyLoop(Loop *L) {
[all …]
H A DLoopUnroll.cpp122 static bool needToInsertPhisForLCSSA(Loop *L, in needToInsertPhisForLCSSA()
151 const Loop *OldLoop = LI->getLoopFor(OriginalBB); in addClonedBlockToLoopInfo()
154 Loop *&NewLoop = NewLoops[OldLoop]; in addClonedBlockToLoopInfo()
201 static bool isEpilogProfitable(Loop *L) { in isEpilogProfitable()
535 SmallSetVector<Loop *, 4> LoopsToSimplify; in UnrollLoop()
536 for (Loop *SubLoop : *L) in UnrollLoop()
567 SmallDenseMap<const Loop *, Loop *, 4> NewLoops; in UnrollLoop()
860 Loop *OuterL = L->getParentLoop(); in UnrollLoop()
899 Loop *LatchLoop = LI->getLoopFor(Latches.back()); in UnrollLoop()
900 Loop *FixLCSSALoop = OuterL; in UnrollLoop()
[all …]
H A DMatrixUtils.cpp25 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L, in CreateLoop()
73 Loop *ColumnLoopInfo = LI.AllocateLoop(); in CreateTiledLoops()
74 Loop *RowLoopInfo = LI.AllocateLoop(); in CreateTiledLoops()
75 Loop *KLoopInfo = LI.AllocateLoop(); in CreateTiledLoops()
78 if (Loop *ParentL = LI.getLoopFor(Start)) in CreateTiledLoops()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopPass.cpp49 bool runOnLoop(Loop *L, LPPassManager &) override { in runOnLoop()
76 void LPPassManager::addLoop(Loop &L) { in addLoop()
95 static void addLoopIntoQueue(Loop *L, std::deque<Loop *> &LQ) { in addLoopIntoQueue()
97 for (Loop *I : reverse(*L)) in addLoopIntoQueue()
110 void LPPassManager::markLoopAsDeleted(Loop &L) { in markLoopAsDeleted()
149 for (Loop *L : reverse(*LI)) in runOnFunction()
156 for (Loop *L : LQ) { in runOnFunction()
366 static std::string getDescription(const Loop &L) { in getDescription()
370 bool LoopPass::skipLoop(const Loop *L) const { in skipLoop()
H A DMustExecute.cpp104 void LoopSafetyInfo::computeBlockColors(const Loop *CurLoop) { in computeBlockColors()
119 const Loop *CurLoop) { in CanProveNotTakenFirstIteration()
161 const Loop *CurLoop, const BasicBlock *BB, in collectTransitivePredecessors()
326 DenseMap<const Value*, SmallVector<Loop*, 4> > MustExec;
332 Loop *L = LI.getLoopFor(I.getParent()); in MustExecuteAnnotatedWriter()
345 Loop *L = LI.getLoopFor(I.getParent()); in MustExecuteAnnotatedWriter()
368 for (const Loop *L : Loops) in printInfoComment()
376 static bool maybeEndlessLoop(const Loop &L) { in maybeEndlessLoop()
413 const Loop *L = LI ? LI->getLoopFor(InitBB) : nullptr; in findForwardJoinPoint()
518 const Loop *L = LI->getLoopFor(ToBB); in findForwardJoinPoint()
[all …]
H A DIVUsers.cpp36 IVUsers IVUsersAnalysis::run(Loop &L, LoopAnalysisManager &AM, in run()
56 static bool isInteresting(const SCEV *S, const Instruction *I, const Loop *L, in isInteresting()
98 const Loop *L, DominatorTree *DT) { in IVUseShouldUsePostIncValue()
251 IVUsers::IVUsers(Loop *L, AssumptionCache *AC, LoopInfo *LI, DominatorTree *DT, in IVUsers()
312 bool IVUsersWrapperPass::runOnLoop(Loop *L, LPPassManager &LPM) { in runOnLoop()
341 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop()
358 const SCEV *IVUsers::getStride(const IVStrideUse &IU, const Loop *L) const { in getStride()
367 void IVStrideUse::transformToPostInc(const Loop *L) { in transformToPostInc()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopUnrollAndJamPass.cpp99 static bool hasAnyUnrollPragma(const Loop *L, StringRef Prefix) { in hasAnyUnrollPragma()
122 static bool hasUnrollAndJamEnablePragma(const Loop *L) { in hasUnrollAndJamEnablePragma()
128 static unsigned unrollAndJamCountPragmaValue(const Loop *L) { in unrollAndJamCountPragmaValue()
152 Loop *L, Loop *SubLoop, const TargetTransformInfo &TTI, DominatorTree &DT, in computeUnrollAndJamCount()
279 tryToUnrollAndJamLoop(Loop *L, DominatorTree &DT, LoopInfo *LI, in tryToUnrollAndJamLoop()
325 Loop *SubLoop = L->getSubLoops()[0]; in tryToUnrollAndJamLoop()
380 Loop *EpilogueOuterLoop = nullptr; in tryToUnrollAndJamLoop()
429 ArrayRef<Loop *> Loops = LN.getLoops(); in tryToUnrollAndJamLoop()
430 Loop *OutmostLoop = &LN.getOutermostLoop(); in tryToUnrollAndJamLoop()
434 SmallPriorityWorklist<Loop *, 4> Worklist; in tryToUnrollAndJamLoop()
[all …]
H A DLoopSimplifyCFG.cpp78 static void removeBlockFromLoops(BasicBlock *BB, Loop *FirstLoop, in removeBlockFromLoops()
79 Loop *LastLoop = nullptr) { in removeBlockFromLoops()
83 for (Loop *Current = FirstLoop; Current != LastLoop; in removeBlockFromLoops()
90 static Loop *getInnermostLoopFor(SmallPtrSetImpl<BasicBlock *> &BBs, in getInnermostLoopFor()
91 Loop &L, LoopInfo &LI) { in getInnermostLoopFor()
92 Loop *Innermost = nullptr; in getInnermostLoopFor()
94 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor()
112 Loop &L;
385 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits()
408 Loop *FixLCSSALoop = OuterLoop; in handleDeadExits()
[all …]
H A DLoopDistribute.cpp195 Loop *getDistributedLoop() const { in getDistributedLoop()
255 Loop *OrigLoop;
259 Loop *ClonedLoop = nullptr;
444 Loop *NewLoop; in cloneLoops()
566 Loop *L;
598 Loop *NewLoop = Part->getDistributedLoop(); in setNewLoopID()
943 Loop *L;
972 SmallVector<Loop *, 8> Worklist; in runImpl()
974 for (Loop *TopLevelLoop : *LI) in runImpl()
975 for (Loop *L : depth_first(TopLevelLoop)) in runImpl()
[all …]
H A DInductiveRangeCheckElimination.cpp161 static bool parseIvAgaisntLimit(Loop *L, Value *LHS, Value *RHS,
253 bool isProfitableToTransform(const Loop &L, LoopStructure &LS);
261 bool run(Loop *L, function_ref<void(Loop *, bool)> LPMAddNewLoop);
270 bool InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in parseRangeCheckICmp()
486 Loop *L, ScalarEvolution &SE, Use &ConditionUse, in extractRangeChecksFromCond()
566 calculateSubRanges(ScalarEvolution &SE, const Loop &L, in calculateSubRanges()
754 const Loop *L = IndVar->getLoop(); in computeSafeIterationSpace()
919 SmallPriorityWorklist<Loop *, 4> Worklist; in run()
921 auto LPMAddNewLoop = [&Worklist](Loop *NL, bool IsSubloop) { in run()
927 Loop *L = Worklist.pop_back_val(); in run()
[all …]
H A DLICM.cpp175 const Loop *CurLoop, const LoopSafetyInfo *SafetyInfo,
185 static bool hoistArithmetics(Instruction &I, Loop &L,
200 static void foreachMemoryAccess(MemorySSA *MSSA, Loop *L,
238 bool runOnLoop(Loop *L, LPPassManager &LPM) override { in runOnLoop()
333 Loop &OutermostLoop = LN.getOutermostLoop(); in run()
379 Loop &L, MemorySSA &MSSA) in SinkAndHoistLICMFlags()
621 SmallPriorityWorklist<Loop *, 4> Worklist; in sinkRegionForLoopNest()
625 Loop *L = Worklist.pop_back_val(); in sinkRegionForLoopNest()
645 Loop *CurLoop;
1042 Loop *CurLoop) { in isLoadInvariantInLoop()
[all …]
H A DIndVarSimplify.cpp140 bool handleFloatingPointIV(Loop *L, PHINode *PH);
141 bool rewriteNonIntegerIVs(Loop *L);
147 bool canonicalizeExitCondition(Loop *L);
154 bool rewriteFirstIterationLoopExitValues(Loop *L);
160 bool sinkUnusedInvariants(Loop *L);
172 bool run(Loop *L);
396 bool IndVarSimplify::rewriteNonIntegerIVs(Loop *L) { in rewriteNonIntegerIVs()
586 bool IndVarSimplify::simplifyAndExtend(Loop *L, in simplifyAndExtend()
795 static bool isLoopCounter(PHINode* Phi, Loop *L, in isLoopCounter()
1082 bool IndVarSimplify::sinkUnusedInvariants(Loop *L) { in sinkUnusedInvariants()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h41 class Loop; variable
124 LoopVectorizeHints(const Loop *L, bool InterleaveOnlyWhenForced,
131 bool allowVectorization(Function *F, Loop *L,
195 const Loop *TheLoop;
243 Loop *L, PredicatedScalarEvolution &PSE, DominatorTree *DT, in LoopVectorizationLegality()
394 Loop *getLoop() const { return TheLoop; } in getLoop()
412 bool canVectorizeLoopNestCFG(Loop *Lp, bool UseVPlanNativePath);
425 bool canVectorizeLoopCFG(Loop *Lp, bool UseVPlanNativePath);
464 Loop *TheLoop;
/freebsd/lib/libc/arm/string/
H A Dstrlen.S34 beq .Loop
45 .Loop: label
63 bne .Loop

12345678910>>...14