Lines Matching refs:OuterLoop
267 const LoopData *OuterLoop, in addToDist() argument
274 auto isLoopHeader = [&OuterLoop](const BlockNode &Node) { in addToDist()
275 return OuterLoop && OuterLoop->isHeader(Node); in addToDist()
299 if (Working[Resolved.Index].getContainingLoop() != OuterLoop) { in addToDist()
308 assert((!OuterLoop || !OuterLoop->isIrreducible()) && in addToDist()
319 assert(OuterLoop && OuterLoop->isIrreducible() && !isLoopHeader(Resolved) && in addToDist()
329 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument
332 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
401 LoopData *OuterLoop, in distributeMass() argument
419 assert(OuterLoop && "backedge or exit outside of loop"); in distributeMass()
423 OuterLoop->BackedgeMass[OuterLoop->getHeaderIndex(W.TargetNode)] += Taken; in distributeMass()
430 OuterLoop->Exits.push_back(std::make_pair(W.TargetNode, Taken)); in distributeMass()
587 void IrreducibleGraph::addNodesInLoop(const BFIBase::LoopData &OuterLoop) { in addNodesInLoop() argument
588 Start = OuterLoop.getHeader(); in addNodesInLoop()
589 Nodes.reserve(OuterLoop.Nodes.size()); in addNodesInLoop()
590 for (auto N : OuterLoop.Nodes) in addNodesInLoop()
609 const BFIBase::LoopData *OuterLoop) { in addEdge() argument
610 if (OuterLoop && OuterLoop->isHeader(Succ)) in addEdge()
709 LoopData *OuterLoop, std::list<LoopData>::iterator Insert, in createIrreducibleLoop() argument
718 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), in createIrreducibleLoop()
731 const IrreducibleGraph &G, LoopData *OuterLoop, in analyzeIrreducible() argument
733 assert((OuterLoop == nullptr) == (Insert == Loops.begin())); in analyzeIrreducible()
734 auto Prev = OuterLoop ? std::prev(Insert) : Loops.end(); in analyzeIrreducible()
741 createIrreducibleLoop(*this, G, OuterLoop, Insert, *I); in analyzeIrreducible()
744 if (OuterLoop) in analyzeIrreducible()
750 BlockFrequencyInfoImplBase::updateLoopWithIrreducible(LoopData &OuterLoop) { in updateLoopWithIrreducible() argument
751 OuterLoop.Exits.clear(); in updateLoopWithIrreducible()
752 for (auto &Mass : OuterLoop.BackedgeMass) in updateLoopWithIrreducible()
754 auto O = OuterLoop.Nodes.begin() + 1; in updateLoopWithIrreducible()
755 for (auto I = O, E = OuterLoop.Nodes.end(); I != E; ++I) in updateLoopWithIrreducible()
758 OuterLoop.Nodes.erase(O, OuterLoop.Nodes.end()); in updateLoopWithIrreducible()