/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZMachineScheduler.cpp | 41 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 D | LoopIterator.h | 41 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 D | MustExecute.h | 41 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 D | IVUsers.h | 71 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 D | LoopAccessAnalysis.h | 27 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 D | VPlanHCFGBuilder.cpp | 37 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 D | VPlanHCFGBuilder.h | 32 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 D | LoopExtractor.cpp | 79 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 D | LoopPeel.h | 22 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 D | ScalarEvolutionExpander.h | 77 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 D | FixIrreducible.cpp | 115 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 D | LoopSimplify.cpp | 83 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 D | LoopUnroll.cpp | 122 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 D | MatrixUtils.cpp | 25 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 D | LoopPass.cpp | 49 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 D | MustExecute.cpp | 104 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 D | IVUsers.cpp | 36 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 D | LoopUnrollAndJamPass.cpp | 99 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 D | LoopSimplifyCFG.cpp | 78 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 D | LoopDistribute.cpp | 195 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 D | InductiveRangeCheckElimination.cpp | 161 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 D | LICM.cpp | 175 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 D | IndVarSimplify.cpp | 140 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 D | LoopVectorizationLegality.h | 41 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 D | strlen.S | 34 beq .Loop 45 .Loop: label 63 bne .Loop
|