llvm::LoopBlocksTraversal

Traverse the blocks in a loop using a depth-first search.

Synopsis

Declared in <llvm/Analysis/LoopIterator.h>

class LoopBlocksTraversal
    : public PostOrderTraversalBase<LoopBlocksTraversal, GraphTraits<Function*>>

Base Classes

NameDescription
PostOrderTraversalBase<LoopBlocksTraversal, GraphTraits<Function*>>CRTP base for a single post-order graph walk.

Types

NameDescription
iterator Input iterator yielding nodes in post-order during a single traversal.

Member Functions

NameDescription
LoopBlocksTraversal [constructor]
begin Postorder traversal over the graph. This only needs to be done once. PostOrderTraversalBase "automatically" calls back to insertEdge and finishPostorder to record the DFS result.
end
finishPostorder finishPostorder overloads
insertEdge insertEdge overloads

Protected Member Functions

NameDescription
derived Return this object cast to the CRTP derived type.
init Initialize post-order traversal at given start node.