Lines Matching full:loops
58 /// Retrieve the innermost loop in the given loop nest \p Loops. It returns a
59 /// nullptr if any loops in the loop vector supplied has more than one sibling.
60 /// The loop vector is expected to contain loops collected in breadth-first
62 static Loop *getInnerMostLoop(const LoopVectorTy &Loops) { in getInnerMostLoop() argument
63 assert(!Loops.empty() && "Expecting a non-empy loop vector"); in getInnerMostLoop()
65 Loop *LastLoop = Loops.back(); in getInnerMostLoop()
69 assert(Loops.size() == 1 && "Expecting a single loop"); in getInnerMostLoop()
73 return (llvm::is_sorted(Loops, in getInnerMostLoop()
316 // by the trip counts of loops corresponding to the inner dimensions. For in computeRefCost()
562 CacheCost::CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, in CacheCost() argument
566 : Loops(Loops), TRT(TRT.value_or(TemporalReuseThreshold)), LI(LI), SE(SE), in CacheCost()
568 assert(!Loops.empty() && "Expecting a non-empty loop vector."); in CacheCost()
570 for (const Loop *L : Loops) { in CacheCost()
587 LoopVectorTy Loops; in getCacheCost() local
588 append_range(Loops, breadth_first(&Root)); in getCacheCost()
590 if (!getInnerMostLoop(Loops)) { in getCacheCost()
596 return std::make_unique<CacheCost>(Loops, AR.LI, AR.SE, AR.TTI, AR.AA, DI, TRT); in getCacheCost()
606 for (const Loop *L : Loops) { in calculateCacheFootprint()
623 Loop *InnerMostLoop = getInnerMostLoop(Loops); in populateReferenceGroups()