Lines Matching refs:OuterLoop

313                                            const LoopData *OuterLoop,  in addToDist()  argument
320 auto isLoopHeader = [&OuterLoop](const BlockNode &Node) { in addToDist()
321 return OuterLoop && OuterLoop->isHeader(Node); in addToDist()
345 if (Working[Resolved.Index].getContainingLoop() != OuterLoop) { in addToDist()
354 assert((!OuterLoop || !OuterLoop->isIrreducible()) && in addToDist()
365 assert(OuterLoop && OuterLoop->isIrreducible() && !isLoopHeader(Resolved) && in addToDist()
375 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument
378 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
448 LoopData *OuterLoop, in distributeMass() argument
466 assert(OuterLoop && "backedge or exit outside of loop"); in distributeMass()
470 OuterLoop->BackedgeMass[OuterLoop->getHeaderIndex(W.TargetNode)] += Taken; in distributeMass()
477 OuterLoop->Exits.push_back(std::make_pair(W.TargetNode, Taken)); in distributeMass()
661 void IrreducibleGraph::addNodesInLoop(const BFIBase::LoopData &OuterLoop) { in addNodesInLoop() argument
662 Start = OuterLoop.getHeader(); in addNodesInLoop()
663 Nodes.reserve(OuterLoop.Nodes.size()); in addNodesInLoop()
664 for (auto N : OuterLoop.Nodes) in addNodesInLoop()
683 const BFIBase::LoopData *OuterLoop) { in addEdge() argument
684 if (OuterLoop && OuterLoop->isHeader(Succ)) in addEdge()
784 LoopData *OuterLoop, std::list<LoopData>::iterator Insert, in createIrreducibleLoop() argument
793 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), in createIrreducibleLoop()
806 const IrreducibleGraph &G, LoopData *OuterLoop, in analyzeIrreducible() argument
808 assert((OuterLoop == nullptr) == (Insert == Loops.begin())); in analyzeIrreducible()
809 auto Prev = OuterLoop ? std::prev(Insert) : Loops.end(); in analyzeIrreducible()
816 createIrreducibleLoop(*this, G, OuterLoop, Insert, *I); in analyzeIrreducible()
819 if (OuterLoop) in analyzeIrreducible()
825 BlockFrequencyInfoImplBase::updateLoopWithIrreducible(LoopData &OuterLoop) { in updateLoopWithIrreducible() argument
826 OuterLoop.Exits.clear(); in updateLoopWithIrreducible()
827 for (auto &Mass : OuterLoop.BackedgeMass) in updateLoopWithIrreducible()
829 auto O = OuterLoop.Nodes.begin() + 1; in updateLoopWithIrreducible()
830 for (auto I = O, E = OuterLoop.Nodes.end(); I != E; ++I) in updateLoopWithIrreducible()
833 OuterLoop.Nodes.erase(O, OuterLoop.Nodes.end()); in updateLoopWithIrreducible()