Lines Matching refs:Loop
375 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument
377 for (const auto &I : Loop.Exits) in addLoopSuccessorsToDist()
378 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
387 void BlockFrequencyInfoImplBase::computeLoopScale(LoopData &Loop) { in computeLoopScale() argument
389 LLVM_DEBUG(dbgs() << "compute-loop-scale: " << getLoopName(Loop) << "\n"); in computeLoopScale()
405 for (auto &Mass : Loop.BackedgeMass) in computeLoopScale()
412 Loop.Scale = in computeLoopScale()
418 << " - scale = " << Loop.Scale << "\n"); in computeLoopScale()
422 void BlockFrequencyInfoImplBase::packageLoop(LoopData &Loop) { in packageLoop() argument
423 LLVM_DEBUG(dbgs() << "packaging-loop: " << getLoopName(Loop) << "\n"); in packageLoop()
426 for (const BlockNode &M : Loop.Nodes) { in packageLoop()
427 if (auto *Loop = Working[M.Index].getPackagedLoop()) in packageLoop() local
428 Loop->Exits.clear(); in packageLoop()
431 Loop.IsPackaged = true; in packageLoop()
515 static void unwrapLoop(BlockFrequencyInfoImplBase &BFI, LoopData &Loop) { in unwrapLoop() argument
516 LLVM_DEBUG(dbgs() << "unwrap-loop-package: " << BFI.getLoopName(Loop) in unwrapLoop()
517 << ": mass = " << Loop.Mass << ", scale = " << Loop.Scale in unwrapLoop()
519 Loop.Scale *= Loop.Mass.toScaled(); in unwrapLoop()
520 Loop.IsPackaged = false; in unwrapLoop()
521 LLVM_DEBUG(dbgs() << " => combined-scale = " << Loop.Scale << "\n"); in unwrapLoop()
526 for (const BlockNode &N : Loop.Nodes) { in unwrapLoop()
530 Scaled64 New = Loop.Scale * F; in unwrapLoop()
542 for (LoopData &Loop : Loops) in unwrapLoops()
543 unwrapLoop(*this, Loop); in unwrapLoops()
633 BlockFrequencyInfoImplBase::getLoopName(const LoopData &Loop) const { in getLoopName()
634 return getBlockName(Loop.getHeader()) + (Loop.isIrreducible() ? "**" : "*"); in getLoopName()
769 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), in createIrreducibleLoop() local
773 for (const auto &N : Loop->Nodes) in createIrreducibleLoop()
775 BFI.Working[N.Index].Loop->Parent = &*Loop; in createIrreducibleLoop()
777 BFI.Working[N.Index].Loop = &*Loop; in createIrreducibleLoop()
812 void BlockFrequencyInfoImplBase::adjustLoopHeaderMass(LoopData &Loop) { in adjustLoopHeaderMass() argument
813 assert(Loop.isIrreducible() && "this only makes sense on irreducible loops"); in adjustLoopHeaderMass()
825 for (uint32_t H = 0; H < Loop.NumHeaders; ++H) { in adjustLoopHeaderMass()
826 auto &HeaderNode = Loop.Nodes[H]; in adjustLoopHeaderMass()
827 auto &BackedgeMass = Loop.BackedgeMass[Loop.getHeaderIndex(HeaderNode)]; in adjustLoopHeaderMass()