Lines Matching refs:LoopT
65 template<class BlockT, class LoopT>
67 LoopT *ParentLoop;
69 std::vector<LoopT *> SubLoops;
80 LoopBase(const LoopBase<BlockT, LoopT> &) = delete;
81 const LoopBase<BlockT, LoopT>&
82 operator=(const LoopBase<BlockT, LoopT> &) = delete;
96 for (const LoopT *CurLoop = ParentLoop; CurLoop; in getLoopDepth()
102 LoopT *getParentLoop() const { return ParentLoop; } in getParentLoop()
105 void setParentLoop(LoopT *L) { ParentLoop = L; } in setParentLoop()
110 bool contains(const LoopT *L) const { in contains()
131 const std::vector<LoopT *> &getSubLoops() const { return SubLoops; } in getSubLoops()
132 std::vector<LoopT *> &getSubLoopsVector() { return SubLoops; } in getSubLoopsVector()
133 typedef typename std::vector<LoopT *>::const_iterator iterator;
134 typedef typename std::vector<LoopT *>::const_reverse_iterator
269 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
275 void replaceChildLoopWith(LoopT *OldChild, LoopT *NewChild);
280 void addChildLoop(LoopT *NewChild) { in addChildLoop()
282 NewChild->ParentLoop = static_cast<LoopT *>(this); in addChildLoop()
289 LoopT *removeChildLoop(iterator I) { in removeChildLoop()
291 LoopT *Child = *I; in removeChildLoop()
346 void verifyLoopNest(DenseSet<const LoopT*> *Loops) const;
351 friend class LoopInfoBase<BlockT, LoopT>;
358 template<class BlockT, class LoopT>
359 raw_ostream& operator<<(raw_ostream &OS, const LoopBase<BlockT, LoopT> &Loop) {
505 template<class BlockT, class LoopT>
508 DenseMap<const BlockT *, LoopT *> BBMap;
509 std::vector<LoopT *> TopLevelLoops;
510 friend class LoopBase<BlockT, LoopT>;
546 typedef typename std::vector<LoopT *>::const_iterator iterator;
547 typedef typename std::vector<LoopT *>::const_reverse_iterator
558 LoopT *getLoopFor(const BlockT *BB) const { return BBMap.lookup(BB); } in getLoopFor()
562 const LoopT *operator[](const BlockT *BB) const {
570 const LoopT *L = getLoopFor(BB); in getLoopDepth()
576 const LoopT *L = getLoopFor(BB); in isLoopHeader()
583 LoopT *removeLoop(iterator I) { in removeLoop()
585 LoopT *L = *I; in removeLoop()
594 void changeLoopFor(BlockT *BB, LoopT *L) { in changeLoopFor()
604 void changeTopLevelLoop(LoopT *OldLoop, in changeTopLevelLoop()
605 LoopT *NewLoop) { in changeTopLevelLoop()
615 void addTopLevelLoop(LoopT *New) { in addTopLevelLoop()
626 for (LoopT *L = I->second; L; L = L->getParentLoop()) in removeBlock()
635 static bool isNotAlreadyContainedIn(const LoopT *SubLoop, in isNotAlreadyContainedIn()
636 const LoopT *ParentLoop) { in isNotAlreadyContainedIn()