#include <RegionInfo.h>

Public Member Functions | |
| RegionNode (Region *r, BasicBlock *bb) | |
| Create the node from a bb node in region. | |
| Region * | getParent () const |
| getParent - Get the parent region of this region node. | |
| const Region * | getItRegion () const |
| void | setItRegion (const Region *R) |
| void | propItRegionTo (RegionNode *Node) const |
| BasicBlock * | getBB () const |
| template<class T > | |
| T * | getNodeAs () const |
| Get the region node as BB or Region. | |
| bool | isRegionNode () const |
Protected Member Functions | |
| RegionNode (Region *r, BasicBlock *entry, BasicBlock *exit) | |
Protected Attributes | |
| Region * | parent |
| The parent region of this node. | |
| BasicBlock * | BB |
|
PointerUnion< const Region *, BasicBlock * > | SubclassData |
| The node can hold a region exit or the current iterating region. | |
| llvm::RegionNode::RegionNode | ( | Region * | r, | |
| BasicBlock * | entry, | |||
| BasicBlock * | exit | |||
| ) | [inline, protected] |
Create the region node. We can only create a regionnode when we create a region.
| BasicBlock* llvm::RegionNode::getBB | ( | ) | const [inline] |
Get the region node as BB no matter which type the regionnode is. If this node is a region node, the function will return its entry.
| const Region* llvm::RegionNode::getItRegion | ( | ) | const [inline] |
getItRegion - Get the region we are iterating over. This is useful when we are iterating in flat mode, because we need to go down the region tree to get the lowest level BB node.
| void llvm::RegionNode::propItRegionTo | ( | RegionNode * | Node | ) | const [inline] |
propItRegionTo - Propagate the region we are iterating to Node, so that we know when to end our iteration in the flat mode.
BasicBlock* llvm::RegionNode::BB [protected] |
The basic block that starts this region node. If this is a BB node, then BB is just the basic block, that this regionnodes represents, otherwise it is the entry of this region. In the BBtoRegionNode map of the parent of this node, BB will always map to this node no matter which kind of node this one is.
1.5.8