Lines Matching refs:Loop
354 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument
356 for (const auto &I : Loop.Exits) in addLoopSuccessorsToDist()
357 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
366 void BlockFrequencyInfoImplBase::computeLoopScale(LoopData &Loop) { in computeLoopScale() argument
368 LLVM_DEBUG(dbgs() << "compute-loop-scale: " << getLoopName(Loop) << "\n"); in computeLoopScale()
384 for (auto &Mass : Loop.BackedgeMass) in computeLoopScale()
391 Loop.Scale = in computeLoopScale()
397 << " - scale = " << Loop.Scale << "\n"); in computeLoopScale()
401 void BlockFrequencyInfoImplBase::packageLoop(LoopData &Loop) { in packageLoop() argument
402 LLVM_DEBUG(dbgs() << "packaging-loop: " << getLoopName(Loop) << "\n"); in packageLoop()
405 for (const BlockNode &M : Loop.Nodes) { in packageLoop()
406 if (auto *Loop = Working[M.Index].getPackagedLoop()) in packageLoop() local
407 Loop->Exits.clear(); in packageLoop()
410 Loop.IsPackaged = true; in packageLoop()
500 static void unwrapLoop(BlockFrequencyInfoImplBase &BFI, LoopData &Loop) { in unwrapLoop() argument
501 LLVM_DEBUG(dbgs() << "unwrap-loop-package: " << BFI.getLoopName(Loop) in unwrapLoop()
502 << ": mass = " << Loop.Mass << ", scale = " << Loop.Scale in unwrapLoop()
504 Loop.Scale *= Loop.Mass.toScaled(); in unwrapLoop()
505 Loop.IsPackaged = false; in unwrapLoop()
506 LLVM_DEBUG(dbgs() << " => combined-scale = " << Loop.Scale << "\n"); in unwrapLoop()
511 for (const BlockNode &N : Loop.Nodes) { in unwrapLoop()
515 Scaled64 New = Loop.Scale * F; in unwrapLoop()
527 for (LoopData &Loop : Loops) in unwrapLoops()
528 unwrapLoop(*this, Loop); in unwrapLoops()
609 BlockFrequencyInfoImplBase::getLoopName(const LoopData &Loop) const { in getLoopName()
610 return getBlockName(Loop.getHeader()) + (Loop.isIrreducible() ? "**" : "*"); in getLoopName()
760 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), in createIrreducibleLoop() local
764 for (const auto &N : Loop->Nodes) in createIrreducibleLoop()
766 BFI.Working[N.Index].Loop->Parent = &*Loop; in createIrreducibleLoop()
768 BFI.Working[N.Index].Loop = &*Loop; in createIrreducibleLoop()
803 void BlockFrequencyInfoImplBase::adjustLoopHeaderMass(LoopData &Loop) { in adjustLoopHeaderMass() argument
804 assert(Loop.isIrreducible() && "this only makes sense on irreducible loops"); in adjustLoopHeaderMass()
816 for (uint32_t H = 0; H < Loop.NumHeaders; ++H) { in adjustLoopHeaderMass()
817 auto &HeaderNode = Loop.Nodes[H]; in adjustLoopHeaderMass()
818 auto &BackedgeMass = Loop.BackedgeMass[Loop.getHeaderIndex(HeaderNode)]; in adjustLoopHeaderMass()