A single entry single exit Region in an LLVM IR Function.

Synopsis

Declared in <llvm/Analysis/RegionInfo.h>

class Region
    : public RegionBase<RegionTraits<Function>>

Base Classes

Name

Description

RegionBase<RegionTraits<Function>>

A single‐entry single‐exit region in a control‐flow graph.

Types

Name

Description

block_iterator_wrapper

Depth‐first flat iterator over BasicBlocks contained in a Region.

Type Aliases

Name

Description

block_iterator

Mutable flat iterator over BasicBlocks in this Region.

block_range

Range of mutable flat BasicBlock iterators.

const_block_iterator

Const flat iterator over BasicBlocks in this Region.

const_block_range

Range of const flat BasicBlock iterators.

const_element_iterator

Const depth‐first iterator over direct child RegionNodes.

const_iterator

Const iterator over the direct subregions of this Region.

element_iterator

Depth‐first iterator over direct child RegionNodes.

iterator

Mutable iterator over the direct subregions of this Region.

Enums

Name

Description

PrintStyle

Print style used when dumping a Region.

Member Functions

Name

Description

Region [constructor]

Create a Region spanning from Entry to Exit.

~Region [destructor]

Delete the Region and all its subregions.

operator= [deleted]

Deleted copy assignment; RegionBase is not copyable.

addSubRegion

Add a new subregion to this Region.

begin

begin overloads

block_begin

block_begin overloads

block_end

block_end overloads

blocks

blocks overloads

clearNodeCache

Clear the cache for BB RegionNodes.

contains

contains overloads

dump

Print the region to stderr.

element_begin

element_begin overloads

element_end

element_end overloads

elements

elements overloads

end

end overloads

getBBNode

Get the BasicBlock RegionNode for a BasicBlock

getDepth

Get the nesting level of this Region.

getEnteringBlock

Return the first block of this region's single entry edge, if existing.

getEntry

Get the entry BasicBlock of the Region.

getExit

Get the exit BasicBlock of the Region.

getExitingBlock

Return the first block of this region's single exit edge, if existing.

getExitingBlocks

Collect all blocks of this region's single exit edge, if existing.

getExpandedRegion

Return a new (non‐canonical) region, that is obtained by joining this region with its predecessors.

getNameStr

Returns the name of the Region.

getNode

getNode overloads

getParent

Get the parent of the Region.

getRegionInfo

Return the RegionInfo object, that belongs to this Region.

getSubRegionNode

Get the subregion that starts at a BasicBlock

isSimple

Is this a simple region?

isTopLevelRegion

Check if a Region is the TopLevel region.

outermostLoopInRegion

outermostLoopInRegion overloads

print

Print the region.

removeSubRegion

Remove a subregion from this Region.

replaceEntry

Replace the entry basic block of the region with the new basic block.

replaceEntryRecursive

Recursively replace the entry basic block of the region.

replaceExit

Replace the exit basic block of the region with the new basic block.

replaceExitRecursive

Recursively replace the exit basic block of the region.

transferChildrenTo

Move all direct child nodes of this Region to another Region.

verifyRegion

Verify if the region is a correct region.

operator==

Return true if RN is the RegionNode view of this Region.

Created with MrDocs