reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
80 std::vector<BlockT *> Blocks; 82 SmallPtrSet<const BlockT *, 8> DenseBlockSet; 89 LoopBase(const LoopBase<BlockT, LoopT> &) = delete; 90 const LoopBase<BlockT, LoopT> & 91 operator=(const LoopBase<BlockT, LoopT> &) = delete; 105 BlockT *getHeader() const { return getBlocks().front(); } 125 bool contains(const BlockT *BB) const { 154 ArrayRef<BlockT *> getBlocks() const { 158 typedef typename ArrayRef<BlockT *>::const_iterator block_iterator; 175 std::vector<BlockT *> &getBlocksVector() { 181 SmallPtrSetImpl<const BlockT *> &getBlocksSet() { 187 const SmallPtrSetImpl<const BlockT *> &getBlocksSet() const { 208 bool isLoopExiting(const BlockT *BB) const { 222 bool isLoopLatch(const BlockT *BB) const { 226 BlockT *Header = getHeader(); 227 auto PredBegin = GraphTraits<Inverse<BlockT *>>::child_begin(Header); 228 auto PredEnd = GraphTraits<Inverse<BlockT *>>::child_end(Header); 236 BlockT *H = getHeader(); 256 void getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const; 260 BlockT *getExitingBlock() const; 264 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 268 BlockT *getExitBlock() const; 276 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 282 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 286 BlockT *getUniqueExitBlock() const; 289 typedef std::pair<BlockT *, BlockT *> Edge; 289 typedef std::pair<BlockT *, BlockT *> Edge; 300 BlockT *getLoopPreheader() const; 306 BlockT *getLoopPredecessor() const; 310 BlockT *getLoopLatch() const; 314 void getLoopLatches(SmallVectorImpl<BlockT *> &LoopLatches) const { 316 BlockT *H = getHeader(); 365 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI); 365 void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI); 403 void addBlockEntry(BlockT *BB) { 423 void moveToHeader(BlockT *BB) { 440 void removeBlockFromLoop(BlockT *BB) { 470 explicit LoopBase(BlockT *BB) : ParentLoop(nullptr) {