LLVM API Documentation
A RegionNode represents a subregion or a BasicBlock that is part of a Region. More...
#include <RegionInfo.h>

Public Types | |
| typedef Tr::BlockT | BlockT |
| typedef Tr::RegionT | RegionT |
Public Member Functions | |
| RegionT * | getParent () const |
| Get the parent Region of this RegionNode. | |
| BlockT * | getEntry () const |
| Get the entry BasicBlock of this RegionNode. | |
| template<class T > | |
| T * | getNodeAs () const |
| Get the content of this RegionNode. | |
| bool | isSubRegion () const |
| Is this RegionNode a subregion? | |
| template<> | |
| BasicBlock * | getNodeAs () const |
| template<> | |
| Region * | getNodeAs () const |
| template<> | |
| MachineBasicBlock * | getNodeAs () const |
| template<> | |
| MachineRegion * | getNodeAs () const |
Protected Member Functions | |
| RegionNodeBase (RegionT *Parent, BlockT *Entry, bool isSubRegion=false) | |
| Create a RegionNode. | |
Friends | |
| class | RegionBase< Tr > |
A RegionNode represents a subregion or a BasicBlock that is part of a Region.
Definition at line 110 of file RegionInfo.h.
| typedef Tr::BlockT llvm::RegionNodeBase< Tr >::BlockT |
Definition at line 114 of file RegionInfo.h.
| typedef Tr::RegionT llvm::RegionNodeBase< Tr >::RegionT |
Definition at line 115 of file RegionInfo.h.
| llvm::RegionNodeBase< Tr >::RegionNodeBase | ( | RegionT * | Parent, |
| BlockT * | Entry, | ||
| bool | isSubRegion = false |
||
| ) | [inline, protected] |
Create a RegionNode.
| Parent | The parent of this RegionNode. |
| Entry | The entry BasicBlock of the RegionNode. If this RegionNode represents a BasicBlock, this is the BasicBlock itself. If it represents a subregion, this is the entry BasicBlock of the subregion. |
| isSubRegion | If this RegionNode represents a SubRegion. |
Definition at line 146 of file RegionInfo.h.
| BlockT* llvm::RegionNodeBase< Tr >::getEntry | ( | ) | const [inline] |
Get the entry BasicBlock of this RegionNode.
If this RegionNode represents a BasicBlock this is just the BasicBlock itself, otherwise we return the entry BasicBlock of the Subregion
Reimplemented in llvm::RegionBase< Tr >, llvm::RegionBase< RegionTraits< MachineFunction > >, and llvm::RegionBase< RegionTraits< Function > >.
Definition at line 167 of file RegionInfo.h.
| MachineBasicBlock * llvm::RegionNodeBase< RegionTraits< MachineFunction > >::getNodeAs< MachineBasicBlock > | ( | ) | const [inline] |
Definition at line 125 of file MachineRegionInfo.h.
References getEntry().
| MachineRegion * llvm::RegionNodeBase< RegionTraits< MachineFunction > >::getNodeAs< MachineRegion > | ( | ) | const [inline] |
Definition at line 132 of file MachineRegionInfo.h.
Get the content of this RegionNode.
This can be either a BasicBlock or a subregion. Before calling getNodeAs() check the type of the content with the isSubRegion() function call.
Referenced by buildExtractionBlockSet(), llvm::DOTGraphTraits< RegionInfoPass * >::getEdgeAttributes(), and llvm::DOTGraphTraits< RegionNode * >::getNodeLabel().
| BasicBlock * llvm::RegionNodeBase< RegionTraits< Function > >::getNodeAs< BasicBlock > | ( | ) | const [inline] |
Definition at line 877 of file RegionInfo.h.
References getEntry().
| Region * llvm::RegionNodeBase< RegionTraits< Function > >::getNodeAs< Region > | ( | ) | const [inline] |
Definition at line 885 of file RegionInfo.h.
| RegionT* llvm::RegionNodeBase< Tr >::getParent | ( | ) | const [inline] |
Get the parent Region of this RegionNode.
The parent Region is the Region this RegionNode belongs to. If for example a BasicBlock is element of two Regions, there exist two RegionNodes for this BasicBlock. Each with the getParent() function pointing to the Region this RegionNode belongs to.
Reimplemented in llvm::RegionBase< Tr >, llvm::RegionBase< RegionTraits< MachineFunction > >, and llvm::RegionBase< RegionTraits< Function > >.
Definition at line 159 of file RegionInfo.h.
| bool llvm::RegionNodeBase< Tr >::isSubRegion | ( | ) | const [inline] |
Is this RegionNode a subregion?
Definition at line 181 of file RegionInfo.h.
Referenced by buildExtractionBlockSet(), llvm::DOTGraphTraits< RegionInfoPass * >::getEdgeAttributes(), llvm::DOTGraphTraits< RegionNode * >::getNodeLabel(), and llvm::operator<<().
friend class RegionBase< Tr > [friend] |
Definition at line 111 of file RegionInfo.h.