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: