Lines Matching defs:LoopData

196   struct LoopData {
200 LoopData *Parent; ///< The parent loop.
209 LoopData(LoopData *Parent, const BlockNode &Header)
213 LoopData(LoopData *Parent, It1 FirstHeader, It1 LastHeader, It2 FirstOther,
249 LoopData *Loop; ///< The loop this block is inside.
260 LoopData *getContainingLoop() const {
285 LoopData *getPackagedLoop() const {
387 std::list<LoopData> Loops;
395 bool addLoopSuccessorsToDist(const LoopData *OuterLoop, LoopData &Loop,
405 bool addToDist(Distribution &Dist, const LoopData *OuterLoop,
408 LoopData &getLoopPackage(const BlockNode &Head) {
420 /// \return the \c LoopData nodes representing the irreducible SCCs.
421 iterator_range<std::list<LoopData>::iterator>
422 analyzeIrreducible(const bfi_detail::IrreducibleGraph &G, LoopData *OuterLoop,
423 std::list<LoopData>::iterator Insert);
428 /// partway through \a computeMassInLoop(), so \a LoopData::Exits and \a
429 /// LoopData::BackedgeMass need to be reset. Also, nodes that were packaged
431 void updateLoopWithIrreducible(LoopData &OuterLoop);
439 void distributeMass(const BlockNode &Source, LoopData *OuterLoop,
443 void computeLoopScale(LoopData &Loop);
453 void adjustLoopHeaderMass(LoopData &Loop);
456 void packageLoop(LoopData &Loop);
471 std::string getLoopName(const LoopData &Loop) const;
541 /// graphs for most edges, but getting others from \a LoopData::ExitMap. The
581 IrreducibleGraph(BFIBase &BFI, const BFIBase::LoopData *OuterLoop,
588 void initialize(const BFIBase::LoopData *OuterLoop,
590 void addNodesInLoop(const BFIBase::LoopData &OuterLoop);
598 void addEdges(const BlockNode &Node, const BFIBase::LoopData *OuterLoop,
601 const BFIBase::LoopData *OuterLoop);
604 void IrreducibleGraph::initialize(const BFIBase::LoopData *OuterLoop,
619 const BFIBase::LoopData *OuterLoop,
701 /// in \a LoopData::Exits. Otherwise, fetch it from
766 /// - The headers for the \a LoopData representing an irreducible SCC
847 bool propagateMassToSuccessors(LoopData *OuterLoop, const BlockNode &Node);
857 bool computeMassInLoop(LoopData &Loop);
881 void computeIrreducibleMass(LoopData *OuterLoop,
882 std::list<LoopData>::iterator Insert);
1014 std::deque<std::pair<const LoopT *, LoopData *>> Q;
1019 LoopData *Parent = Q.front().second;
1038 LoopData *ContainingLoop = Working[Index].getContainingLoop();
1076 bool BlockFrequencyInfoImpl<BT>::computeMassInLoop(LoopData &Loop) {
1140 typedef BlockFrequencyInfoImplBase::LoopData LoopData;
1147 const LoopData *OuterLoop) {
1157 LoopData *OuterLoop, std::list<LoopData>::iterator Insert) {
1185 BlockFrequencyInfoImpl<BT>::propagateMassToSuccessors(LoopData *OuterLoop,