llvm::RegionNode Class Reference

#include <RegionInfo.h>

Inheritance diagram for llvm::RegionNode:

llvm::Region

List of all members.

Public Member Functions

 RegionNode (Region *r, BasicBlock *bb)
 Create the node from a bb node in region.
RegiongetParent () const
 getParent - Get the parent region of this region node.
const RegiongetItRegion () 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

Regionparent
 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.


Detailed Description

RegionNode class - represent nodes inside a region. They can either be a basic block that is not part of any subregion or a subregion.

Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

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.


The documentation for this class was generated from the following file:

Generated on Fri Mar 19 01:41:24 2010 by  doxygen 1.5.8