|
LLVM
4.0.0
|
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. More... | |
| BlockT * | getEntry () const |
| Get the entry BasicBlock of this RegionNode. More... | |
| template<class T > | |
| T * | getNodeAs () const |
| Get the content of this RegionNode. More... | |
| bool | isSubRegion () const |
| Is this RegionNode a subregion? More... | |
| 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. More... | |
Friends | |
| class | RegionBase< Tr > |
A RegionNode represents a subregion or a BasicBlock that is part of a Region.
Definition at line 112 of file RegionInfo.h.
| typedef Tr::BlockT llvm::RegionNodeBase< Tr >::BlockT |
Definition at line 116 of file RegionInfo.h.
| typedef Tr::RegionT llvm::RegionNodeBase< Tr >::RegionT |
Definition at line 117 of file RegionInfo.h.
|
inlineprotected |
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 148 of file RegionInfo.h.
|
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
Definition at line 169 of file RegionInfo.h.
Referenced by llvm::RegionBase< RegionTraits< Function > >::getEntry().
|
inline |
Definition at line 123 of file MachineRegionInfo.h.
References assert().
|
inline |
Definition at line 130 of file MachineRegionInfo.h.
References assert().
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< RegionInfo * >::getEdgeAttributes(), and llvm::DOTGraphTraits< RegionNode * >::getNodeLabel().
|
inline |
Definition at line 961 of file RegionInfo.h.
References assert().
|
inline |
Definition at line 969 of file RegionInfo.h.
References assert().
|
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.
Definition at line 161 of file RegionInfo.h.
Referenced by llvm::RegionBase< RegionTraits< Function > >::getParent().
|
inline |
Is this RegionNode a subregion?
Definition at line 183 of file RegionInfo.h.
Referenced by buildExtractionBlockSet(), llvm::DOTGraphTraits< RegionInfo * >::getEdgeAttributes(), llvm::DOTGraphTraits< RegionNode * >::getNodeLabel(), and llvm::operator<<().
|
friend |
Definition at line 113 of file RegionInfo.h.
1.8.6