class RegionNodeBase
Declaration
template <class Tr>
class RegionNodeBase { /* full declaration omitted */ };
Description
A RegionNode represents a subregion or a BasicBlock that is part of a Region.
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:118
Templates
- Tr
Method Overview
- protected inline RegionNodeBase<Tr>(llvm::RegionNodeBase::RegionT * Parent, llvm::RegionNodeBase::BlockT * Entry, bool isSubRegion = false)
- public RegionNodeBase<Tr>(const RegionNodeBase<Tr> &)
- public inline llvm::RegionNodeBase::BlockT * getEntry() const
- public template <class T>inline T * getNodeAs() const
- public inline llvm::RegionNodeBase::RegionT * getParent() const
- public inline bool isSubRegion() const
Methods
¶inline RegionNodeBase<Tr>(
llvm::RegionNodeBase::RegionT* Parent,
llvm::RegionNodeBase::BlockT* Entry,
bool isSubRegion = false)
inline RegionNodeBase<Tr>(
llvm::RegionNodeBase::RegionT* Parent,
llvm::RegionNodeBase::BlockT* Entry,
bool isSubRegion = false)
Description
Create a RegionNode.
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:151
Parameters
- llvm::RegionNodeBase::RegionT* Parent
- The parent of this RegionNode.
- llvm::RegionNodeBase::BlockT* 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.
- bool isSubRegion = false
- If this RegionNode represents a SubRegion.
¶RegionNodeBase<Tr>(const RegionNodeBase<Tr>&)
RegionNodeBase<Tr>(const RegionNodeBase<Tr>&)
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:156
Parameters
- const RegionNodeBase<Tr>&
¶inline llvm::RegionNodeBase::BlockT* getEntry()
const
inline llvm::RegionNodeBase::BlockT* getEntry()
const
Description
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
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:175
Returns
The entry BasicBlock of this RegionNode.
¶template <class T>
inline T* getNodeAs() const
template <class T>
inline T* getNodeAs() const
Description
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.
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:183
Templates
- T
Returns
The content of this RegionNode.
¶inline llvm::RegionNodeBase::RegionT* getParent()
const
inline llvm::RegionNodeBase::RegionT* getParent()
const
Description
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.
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:167
Returns
Get the parent Region of this RegionNode.
¶inline bool isSubRegion() const
inline bool isSubRegion() const
Description
Is this RegionNode a subregion?
Declared at: llvm/include/llvm/Analysis/RegionInfo.h:189
Returns
True if it contains a subregion. False if it contains a BasicBlock.