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)

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>&)

Declared at: llvm/include/llvm/Analysis/RegionInfo.h:156

Parameters

const RegionNodeBase<Tr>&

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

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

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

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.