llvm::RegionInfoBase

Analysis that detects all canonical regions in a function.

Synopsis

Declared in <llvm/Analysis/RegionInfo.h>

template<class RegionTr>
class RegionInfoBase;

Description

The RegionInfo pass detects all canonical regions in a function. The Regions are connected using the parent relation. This builds a Program Structure Tree.

Member Functions

NameDescription
RegionInfoBase [constructor] [deleted]Deleted copy constructor; RegionInfoBase is not copyable.
operator= [deleted]Deleted copy assignment; RegionInfoBase is not copyable.
clearNodeCache Clear the Node Cache for all Regions.
dump Dump the region tree to dbgs().
getCommonRegion getCommonRegion overloads
getMaxRegionExit Return the exit of the maximal refined region, that starts at a BasicBlock.
getRegionFor Get the smallest region that contains a BasicBlock.
getTopLevelRegion Return the top-level region that represents the whole function.
operator[] A shortcut for getRegionFor().
print Print the region tree to OS.
releaseMemory Release memory used by the region tree.
setRegionFor Set the smallest region that surrounds a basic block.
verifyAnalysis Verify that the region tree is consistent.

Static Data Members

NameDescription
VerifyRegionInfo Whether expensive region-info verification is enabled.
printStyle Default print style used when printing region trees.

Protected Member Functions

NameDescription
updateRegionTree Update references to a RegionInfoT held by the RegionT managed here.

Friends

NameDescription
llvm::MachineRegionInfoDetects single-entry single-exit regions in a MachineFunction.
llvm::RegionInfoAnalysis result that detects all canonical Regions in a Function.

Derived Classes

NameDescription
MachineRegionInfo Detects single-entry single-exit regions in a MachineFunction.
RegionInfo Analysis result that detects all canonical Regions in a Function.

Template Parameters

NameDescription
TrRegionTraits specialization that supplies the IR types.