Lines Matching refs:Loop
43 template class llvm::LoopBase<BasicBlock, Loop>;
44 template class llvm::LoopInfoBase<BasicBlock, Loop>;
60 bool Loop::isLoopInvariant(const Value *V) const { in isLoopInvariant()
66 bool Loop::hasLoopInvariantOperands(const Instruction *I) const { in hasLoopInvariantOperands()
70 bool Loop::makeLoopInvariant(Value *V, bool &Changed, Instruction *InsertPt, in makeLoopInvariant()
78 bool Loop::makeLoopInvariant(Instruction *I, bool &Changed, in makeLoopInvariant()
124 bool Loop::getIncomingAndBackEdge(BasicBlock *&Incoming, in getIncomingAndBackEdge()
150 PHINode *Loop::getCanonicalInductionVariable() const { in getCanonicalInductionVariable()
174 ICmpInst *Loop::getLatchCmpInst() const { in getLatchCmpInst()
184 static Value *findFinalIVValue(const Loop &L, const PHINode &IndVar, in findFinalIVValue()
201 std::optional<Loop::LoopBounds>
202 Loop::LoopBounds::getBounds(const Loop &L, PHINode &IndVar, in getBounds()
230 using Direction = Loop::LoopBounds::Direction;
232 ICmpInst::Predicate Loop::LoopBounds::getCanonicalPredicate() const { in getCanonicalPredicate()
274 Direction Loop::LoopBounds::getDirection() const { in getDirection()
287 std::optional<Loop::LoopBounds> Loop::getBounds(ScalarEvolution &SE) const { in getBounds()
294 PHINode *Loop::getInductionVariable(ScalarEvolution &SE) const { in getInductionVariable()
333 bool Loop::getInductionDescriptor(ScalarEvolution &SE, in getInductionDescriptor()
341 bool Loop::isAuxiliaryInductionVariable(PHINode &AuxIndVar, in isAuxiliaryInductionVariable()
367 BranchInst *Loop::getLoopGuardBranch() const { in getLoopGuardBranch()
411 bool Loop::isCanonical(ScalarEvolution &SE) const { in isCanonical()
431 static bool isBlockInLCSSAForm(const Loop &L, const BasicBlock &BB, in isBlockInLCSSAForm()
462 bool Loop::isLCSSAForm(const DominatorTree &DT, bool IgnoreTokens) const { in isLCSSAForm()
469 bool Loop::isRecursivelyLCSSAForm(const DominatorTree &DT, const LoopInfo &LI, in isRecursivelyLCSSAForm()
479 bool Loop::isLoopSimplifyForm() const { in isLoopSimplifyForm()
486 bool Loop::isSafeToClone() const { in isSafeToClone()
501 MDNode *Loop::getLoopID() const { in getLoopID()
525 void Loop::setLoopID(MDNode *LoopID) const { in setLoopID()
537 void Loop::setLoopAlreadyUnrolled() { in setLoopAlreadyUnrolled()
548 void Loop::setLoopMustProgress() { in setLoopMustProgress()
564 bool Loop::isAnnotatedParallel() const { in isAnnotatedParallel()
631 DebugLoc Loop::getStartLoc() const { return getLocRange().getStart(); } in getStartLoc()
633 Loop::LocRange Loop::getLocRange() const { in getLocRange()
667 LLVM_DUMP_METHOD void Loop::dump() const { print(dbgs()); } in dump()
669 LLVM_DUMP_METHOD void Loop::dumpVerbose() const { in dumpVerbose()
682 Loop &Unloop;
691 DenseMap<Loop *, Loop *> SubloopParents;
698 UnloopUpdater(Loop *UL, LoopInfo *LInfo) : Unloop(*UL), LI(LInfo), DFS(UL) {} in UnloopUpdater()
707 Loop *getNearestLoop(BasicBlock *BB, Loop *BBLoop);
720 Loop *L = LI->getLoopFor(POI); in updateBlockParents()
721 Loop *NL = getNearestLoop(POI, L); in updateBlockParents()
749 Loop *L = LI->getLoopFor(*POI); in updateBlockParents()
750 Loop *NL = getNearestLoop(*POI, L); in updateBlockParents()
766 Loop *OuterParent = LI->getLoopFor(BB); in removeBlocksFromAncestors()
774 for (Loop *OldParent = Unloop.getParentLoop(); OldParent != OuterParent; in removeBlocksFromAncestors()
785 Loop *Subloop = *std::prev(Unloop.end()); in updateSubloopParents()
789 if (Loop *Parent = SubloopParents[Subloop]) in updateSubloopParents()
801 Loop *UnloopUpdater::getNearestLoop(BasicBlock *BB, Loop *BBLoop) { in getNearestLoop()
805 Loop *NearLoop = BBLoop; in getNearestLoop()
807 Loop *Subloop = nullptr; in getNearestLoop()
828 Loop *L = LI->getLoopFor(*I); in getNearestLoop()
876 void LoopInfo::erase(Loop *Unloop) { in erase()
922 Loop *ParentLoop = Unloop->getParentLoop(); in erase()
923 for (Loop::iterator I = ParentLoop->begin();; ++I) { in erase()
942 const Loop *L = getLoopFor(I->getParent()); in wouldBeOutOfLoopUseRequiringLCSSA()
978 void llvm::printLoop(Loop &L, raw_ostream &OS, const std::string &Banner) { in printLoop()
1044 MDNode *llvm::findOptionMDForLoop(const Loop *TheLoop, StringRef Name) { in findOptionMDForLoop()
1054 llvm::findStringMetadataForLoop(const Loop *TheLoop, StringRef Name) { in findStringMetadataForLoop()
1068 std::optional<bool> llvm::getOptionalBoolLoopAttribute(const Loop *TheLoop, in getOptionalBoolLoopAttribute()
1086 bool llvm::getBooleanLoopAttribute(const Loop *TheLoop, StringRef Name) { in getBooleanLoopAttribute()
1090 std::optional<int> llvm::getOptionalIntLoopAttribute(const Loop *TheLoop, in getOptionalIntLoopAttribute()
1104 int llvm::getIntLoopAttribute(const Loop *TheLoop, StringRef Name, in getIntLoopAttribute()
1109 bool llvm::isFinite(const Loop *L) { in isFinite()
1115 bool llvm::hasMustProgress(const Loop *L) { in hasMustProgress()
1119 bool llvm::isMustProgress(const Loop *L) { in isMustProgress()