llvm::MachineRegion

Single-entry single-exit region in a MachineFunction CFG.

Synopsis

Declared in <llvm/CodeGen/MachineRegionInfo.h>

class MachineRegion
    : public RegionBase<RegionTraits<MachineFunction>>

Base Classes

NameDescription
RegionBase<RegionTraits<MachineFunction>>A single-entry single-exit region in a control-flow graph.

Types

NameDescription
block_iterator_wrapper Depth-first flat iterator over BasicBlocks contained in a Region.

Type Aliases

NameDescription
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

NameDescription
PrintStyle Print style used when dumping a Region.

Member Functions

NameDescription
MachineRegion [constructor]Construct a machine region from Entry to Exit.
~MachineRegion [destructor]Destroy this machine region and its owned 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 this region is the same object as region node RN.