LLVM: llvm::LoopBlocksTraversal Class Reference (original) (raw)
Traverse the blocks in a loop using a depth-first search. More...
#include "[llvm/Analysis/LoopIterator.h](LoopIterator%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| LoopBlocksTraversal (LoopBlocksDFS &Storage, const LoopInfo *LInfo) | |
| POTIterator | begin () |
| Postorder traversal over the graph. | |
| POTIterator | end () |
| bool | visitPreorder (BasicBlock *BB) |
| Called by po_iterator upon reaching a block via a CFG edge. | |
| void | finishPostorder (BasicBlock *BB) |
| Called by po_iterator each time it advances, indicating a block's postorder. |
Traverse the blocks in a loop using a depth-first search.
Definition at line 200 of file LoopIterator.h.
◆ POTIterator
◆ begin()
| POTIterator llvm::LoopBlocksTraversal::begin ( ) | inline |
|---|
◆ end()
| POTIterator llvm::LoopBlocksTraversal::end ( ) | inline |
|---|
◆ finishPostorder()
| void llvm::LoopBlocksTraversal::finishPostorder ( BasicBlock * BB) | inline |
|---|
◆ visitPreorder()
| bool llvm::LoopBlocksTraversal::visitPreorder ( BasicBlock * BB) | inline |
|---|
Called by po_iterator upon reaching a block via a CFG edge.
If this block is contained in the loop and has not been visited, then mark it preorder visited and return true.
TODO: If anyone is interested, we could record preorder numbers here.
Definition at line 231 of file LoopIterator.h.
The documentation for this class was generated from the following file:
- include/llvm/Analysis/LoopIterator.h