Lines Matching refs:OuterLoop
261 const LoopData *OuterLoop, in addToDist() argument
268 auto isLoopHeader = [&OuterLoop](const BlockNode &Node) { in addToDist()
269 return OuterLoop && OuterLoop->isHeader(Node); in addToDist()
289 Dist.addBackedge(OuterLoop->getHeader(), Weight); in addToDist()
293 if (Working[Resolved.Index].getContainingLoop() != OuterLoop) { in addToDist()
302 assert((!OuterLoop || !OuterLoop->isIrreducible()) && in addToDist()
313 assert(OuterLoop && OuterLoop->isIrreducible() && !isLoopHeader(Resolved) && in addToDist()
323 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument
326 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
379 LoopData *OuterLoop, in distributeMass() argument
410 assert(OuterLoop && "backedge or exit outside of loop"); in distributeMass()
414 OuterLoop->BackedgeMass += Taken; in distributeMass()
421 OuterLoop->Exits.push_back(std::make_pair(W.TargetNode, Taken)); in distributeMass()
554 void IrreducibleGraph::addNodesInLoop(const BFIBase::LoopData &OuterLoop) { in addNodesInLoop() argument
555 Start = OuterLoop.getHeader(); in addNodesInLoop()
556 Nodes.reserve(OuterLoop.Nodes.size()); in addNodesInLoop()
557 for (auto N : OuterLoop.Nodes) in addNodesInLoop()
573 const BFIBase::LoopData *OuterLoop) { in addEdge() argument
574 if (OuterLoop && OuterLoop->isHeader(Succ)) in addEdge()
673 LoopData *OuterLoop, std::list<LoopData>::iterator Insert, in createIrreducibleLoop() argument
682 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), in createIrreducibleLoop()
695 const IrreducibleGraph &G, LoopData *OuterLoop, in analyzeIrreducible() argument
697 assert((OuterLoop == nullptr) == (Insert == Loops.begin())); in analyzeIrreducible()
698 auto Prev = OuterLoop ? std::prev(Insert) : Loops.end(); in analyzeIrreducible()
705 createIrreducibleLoop(*this, G, OuterLoop, Insert, *I); in analyzeIrreducible()
708 if (OuterLoop) in analyzeIrreducible()
714 BlockFrequencyInfoImplBase::updateLoopWithIrreducible(LoopData &OuterLoop) { in updateLoopWithIrreducible() argument
715 OuterLoop.Exits.clear(); in updateLoopWithIrreducible()
716 OuterLoop.BackedgeMass = BlockMass::getEmpty(); in updateLoopWithIrreducible()
717 auto O = OuterLoop.Nodes.begin() + 1; in updateLoopWithIrreducible()
718 for (auto I = O, E = OuterLoop.Nodes.end(); I != E; ++I) in updateLoopWithIrreducible()
721 OuterLoop.Nodes.erase(O, OuterLoop.Nodes.end()); in updateLoopWithIrreducible()