LLVM 23.0.0git
llvm::MachineRegionInfo Class Reference

#include "llvm/CodeGen/MachineRegionInfo.h"

Inheritance diagram for llvm::MachineRegionInfo:
[legend]

Public Types

using Base = RegionInfoBase<RegionTraits<MachineFunction>>

Public Member Functions

 MachineRegionInfo ()
 ~MachineRegionInfo () override
 MachineRegionInfo (MachineRegionInfo &&Arg)
MachineRegionInfooperator= (MachineRegionInfo &&RHS)
bool invalidate (MachineFunction &F, const PreservedAnalyses &PA, MachineFunctionAnalysisManager::Invalidator &)
 Handle invalidation explicitly.
void updateStatistics (MachineRegion *R) final
void recalculate (MachineFunction &F, MachineDominatorTree *DT, MachinePostDominatorTree *PDT, MachineDominanceFrontier *DF)
Public Member Functions inherited from llvm::RegionInfoBase< RegionTraits< MachineFunction > >
 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< MachineFunction > >
static bool VerifyRegionInfo
static RegionT::PrintStyle printStyle
Protected Member Functions inherited from llvm::RegionInfoBase< RegionTraits< MachineFunction > >
void updateRegionTree (RegionInfoT &RI, TheRegionT *R)
 Update refences to a RegionInfoT held by the RegionT managed here.

Detailed Description

Definition at line 74 of file MachineRegionInfo.h.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ MachineRegionInfo() [1/2]

MachineRegionInfo::MachineRegionInfo ( )
explicitdefault

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

◆ ~MachineRegionInfo()

MachineRegionInfo::~MachineRegionInfo ( )
overridedefault

◆ MachineRegionInfo() [2/2]

llvm::MachineRegionInfo::MachineRegionInfo ( MachineRegionInfo && Arg)
inline

Member Function Documentation

◆ invalidate()

bool MachineRegionInfo::invalidate ( MachineFunction & F,
const PreservedAnalyses & PA,
MachineFunctionAnalysisManager::Invalidator &  )

Handle invalidation explicitly.

Definition at line 75 of file MachineRegionInfo.cpp.

References F, and llvm::PreservedAnalyses::getChecker().

◆ operator=()

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

◆ recalculate()

void MachineRegionInfo::recalculate ( MachineFunction & F,
MachineDominatorTree * DT,
MachinePostDominatorTree * PDT,
MachineDominanceFrontier * DF )

Definition at line 60 of file MachineRegionInfo.cpp.

References F, and updateStatistics().

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

◆ updateStatistics()

void MachineRegionInfo::updateStatistics ( MachineRegion * R)
final

Definition at line 52 of file MachineRegionInfo.cpp.

Referenced by recalculate().


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