LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::RegionInfo Class Reference

#include "llvm/Analysis/RegionInfo.h"

Inheritance diagram for llvm::RegionInfo:
Inheritance graph
[legend]

Public Types

using Base = RegionInfoBase< RegionTraits< Function > >
 

Public Member Functions

 RegionInfo ()
 
 RegionInfo (RegionInfo &&Arg)
 
RegionInfooperator= (RegionInfo &&RHS)
 
 ~RegionInfo () override
 
bool invalidate (Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &)
 Handle invalidation explicitly.
 
void updateStatistics (Region *R) final
 
void recalculate (Function &F, DominatorTree *DT, PostDominatorTree *PDT, DominanceFrontier *DF)
 
void view ()
 Opens a viewer to show the GraphViz visualization of the regions.
 
void viewOnly ()
 Opens a viewer to show the GraphViz visualization of this region without instructions in the BasicBlocks.
 
- Public Member Functions inherited from llvm::RegionInfoBase< RegionTraits< Function > >
 RegionInfoBase (const RegionInfoBase &)=delete
 
RegionInfoBaseoperator= (const RegionInfoBase &)=delete
 
void print (raw_ostream &OS) const
 
void dump () const
 
void releaseMemory ()
 
RegionT * getRegionFor (BlockT *BB) const
 Get the smallest region that contains a BasicBlock.
 
void setRegionFor (BlockT *BB, RegionT *R)
 Set the smallest region that surrounds a basic block.
 
RegionT * operator[] (BlockT *BB) const
 A shortcut for getRegionFor().
 
BlockT * getMaxRegionExit (BlockT *BB) const
 Return the exit of the maximal refined region, that starts at a BasicBlock.
 
RegionT * getCommonRegion (RegionT *A, RegionT *B) const
 Find the smallest region that contains two regions.
 
RegionT * getCommonRegion (BlockT *A, BlockT *B) const
 Find the smallest region that contains two basic blocks.
 
RegionT * getCommonRegion (SmallVectorImpl< RegionT * > &Regions) const
 Find the smallest region that contains a set of regions.
 
RegionT * getCommonRegion (SmallVectorImpl< BlockT * > &BBs) const
 Find the smallest region that contains a set of basic blocks.
 
RegionT * getTopLevelRegion () const
 
void clearNodeCache ()
 Clear the Node Cache for all Regions.
 
void verifyAnalysis () const
 

Additional Inherited Members

- Static Public Attributes inherited from llvm::RegionInfoBase< RegionTraits< Function > >
static bool VerifyRegionInfo
 
static RegionT::PrintStyle printStyle
 
- Protected Member Functions inherited from llvm::RegionInfoBase< RegionTraits< Function > >
void updateRegionTree (RegionInfoT &RI, TheRegionT *R)
 Update refences to a RegionInfoT held by the RegionT managed here.
 

Detailed Description

Definition at line 900 of file RegionInfo.h.

Member Typedef Documentation

◆ Base

Definition at line 902 of file RegionInfo.h.

Constructor & Destructor Documentation

◆ RegionInfo() [1/2]

RegionInfo::RegionInfo ( )
explicitdefault

◆ RegionInfo() [2/2]

llvm::RegionInfo::RegionInfo ( RegionInfo &&  Arg)
inline

◆ ~RegionInfo()

RegionInfo::~RegionInfo ( )
overridedefault

Member Function Documentation

◆ invalidate()

bool RegionInfo::invalidate ( Function F,
const PreservedAnalyses PA,
FunctionAnalysisManager::Invalidator  
)

Handle invalidation explicitly.

Definition at line 79 of file RegionInfo.cpp.

References llvm::PreservedAnalyses::getChecker().

◆ operator=()

RegionInfo & llvm::RegionInfo::operator= ( RegionInfo &&  RHS)
inline

◆ recalculate()

void RegionInfo::recalculate ( Function F,
DominatorTree DT,
PostDominatorTree PDT,
DominanceFrontier DF 
)

Definition at line 96 of file RegionInfo.cpp.

References F, and updateStatistics().

Referenced by llvm::RegionInfoAnalysis::run(), and llvm::RegionInfoPass::runOnFunction().

◆ updateStatistics()

void RegionInfo::updateStatistics ( Region R)
final

Definition at line 88 of file RegionInfo.cpp.

Referenced by recalculate().

◆ view()

void RegionInfo::view ( )

Opens a viewer to show the GraphViz visualization of the regions.

Useful during debugging as an alternative to dump().

Definition at line 109 of file RegionInfo.cpp.

References llvm::viewRegion().

◆ viewOnly()

void RegionInfo::viewOnly ( )

Opens a viewer to show the GraphViz visualization of this region without instructions in the BasicBlocks.

Useful during debugging as an alternative to dump().

Definition at line 111 of file RegionInfo.cpp.

References llvm::viewRegionOnly().


The documentation for this class was generated from the following files: