LLVM 24.0.0git
llvm::RegionInfo Class Reference

#include "llvm/Analysis/RegionInfo.h"

Inheritance diagram for llvm::RegionInfo:
[legend]

Public Types

using Base = RegionInfoBase<RegionTraits<Function>>

Public Member Functions

LLVM_ABI RegionInfo ()
 RegionInfo (RegionInfo &&Arg)
RegionInfo & operator= (RegionInfo &&RHS)
LLVM_ABI ~RegionInfo ()
LLVM_ABI bool invalidate (Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &)
 Handle invalidation explicitly.
LLVM_ABI void recalculate (Function &F, DominatorTree *DT, PostDominatorTree *PDT, DominanceFrontier *DF)
LLVM_ABI void view ()
 Opens a viewer to show the GraphViz visualization of the regions.
LLVM_ABI 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
RegionInfoBase & operator= (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 904 of file RegionInfo.h.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ RegionInfo() [1/2]

RegionInfo::RegionInfo ( )
explicitdefault

References LLVM_ABI.

Referenced by operator=(), and RegionInfo().

◆ RegionInfo() [2/2]

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

◆ ~RegionInfo()

RegionInfo::~RegionInfo ( )
default

References F, and LLVM_ABI.

Member Function Documentation

◆ invalidate()

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

Handle invalidation explicitly.

Definition at line 92 of file RegionInfo.cpp.

References F, and 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 101 of file RegionInfo.cpp.

References F.

Referenced by llvm::RegionInfoAnalysis::run().

◆ 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 114 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 116 of file RegionInfo.cpp.

References llvm::viewRegionOnly().


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