LLVM
8.0.1
|
Analysis that detects all canonical Regions. More...
#include "llvm/Analysis/RegionInfo.h"
Public Member Functions | |
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. More... | |
void | setRegionFor (BlockT *BB, RegionT *R) |
Set the smallest region that surrounds a basic block. More... | |
RegionT * | operator[] (BlockT *BB) const |
A shortcut for getRegionFor(). More... | |
BlockT * | getMaxRegionExit (BlockT *BB) const |
Return the exit of the maximal refined region, that starts at a BasicBlock. More... | |
RegionT * | getCommonRegion (RegionT *A, RegionT *B) const |
Find the smallest region that contains two regions. More... | |
RegionT * | getCommonRegion (BlockT *A, BlockT *B) const |
Find the smallest region that contains two basic blocks. More... | |
RegionT * | getCommonRegion (SmallVectorImpl< RegionT *> &Regions) const |
Find the smallest region that contains a set of regions. More... | |
RegionT * | getCommonRegion (SmallVectorImpl< BlockT *> &BBs) const |
Find the smallest region that contains a set of basic blocks. More... | |
RegionT * | getTopLevelRegion () const |
void | clearNodeCache () |
Clear the Node Cache for all Regions. More... | |
void | verifyAnalysis () const |
Static Public Attributes | |
static bool | VerifyRegionInfo = false |
static RegionT::PrintStyle | printStyle |
Protected Member Functions | |
template<typename TheRegionT > | |
void | updateRegionTree (RegionInfoT &RI, TheRegionT *R) |
Update refences to a RegionInfoT held by the RegionT managed here. More... | |
Friends | |
class | RegionInfo |
class | MachineRegionInfo |
Analysis that detects all canonical Regions.
The RegionInfo pass detects all canonical regions in a function. The Regions are connected using the parent relation. This builds a Program Structure Tree.
Definition at line 70 of file RegionInfo.h.
|
delete |
|
inline |
Clear the Node Cache for all Regions.
Definition at line 874 of file RegionInfo.h.
Referenced by llvm::RGPassManager::runOnFunction().
void llvm::RegionInfoBase< Tr >::dump | ( | ) | const |
Definition at line 795 of file RegionInfoImpl.h.
Referenced by llvm::MachineRegionInfoPass::dump(), llvm::RegionInfoPass::dump(), llvm::RGPassManager::runOnFunction(), and llvm::MachineRegionInfoPass::runOnMachineFunction().
Tr::RegionT * llvm::RegionInfoBase< Tr >::getCommonRegion | ( | RegionT * | A, |
RegionT * | B | ||
) | const |
Find the smallest region that contains two regions.
A | The first region. |
B | The second region. |
Definition at line 877 of file RegionInfoImpl.h.
|
inline |
Find the smallest region that contains two basic blocks.
A | The first basic block. |
B | The second basic block. |
Definition at line 853 of file RegionInfo.h.
Tr::RegionT * llvm::RegionInfoBase< Tr >::getCommonRegion | ( | SmallVectorImpl< RegionT *> & | Regions | ) | const |
Find the smallest region that contains a set of regions.
Regions | A vector of regions. |
Definition at line 892 of file RegionInfoImpl.h.
Tr::RegionT * llvm::RegionInfoBase< Tr >::getCommonRegion | ( | SmallVectorImpl< BlockT *> & | BBs | ) | const |
Find the smallest region that contains a set of basic blocks.
BBs | A vector of basic blocks. |
Definition at line 904 of file RegionInfoImpl.h.
RegionInfoBase< Tr >::BlockT * llvm::RegionInfoBase< Tr >::getMaxRegionExit | ( | BlockT * | BB | ) | const |
Return the exit of the maximal refined region, that starts at a BasicBlock.
BB | The BasicBlock the refined region starts. |
Definition at line 837 of file RegionInfoImpl.h.
Tr::RegionT * llvm::RegionInfoBase< Tr >::getRegionFor | ( | BlockT * | BB | ) | const |
Get the smallest region that contains a BasicBlock.
BB | The basic block. |
Definition at line 820 of file RegionInfoImpl.h.
Referenced by createBBSelectReg(), llvm::DOTGraphTraits< RegionInfo * >::getEdgeAttributes(), llvm::DOTGraphTraits< RegionInfo * >::printRegionCluster(), and SortBlocks().
|
inline |
Definition at line 869 of file RegionInfo.h.
Referenced by llvm::DOTGraphTraits< RegionInfo * >::addCustomGraphFeatures(), createBBSelectReg(), llvm::GraphTraits< MachineRegionInfo * >::getEntryNode(), llvm::GraphTraits< RegionInfo * >::getEntryNode(), llvm::DOTGraphTraits< RegionInfo * >::printRegionCluster(), llvm::RGPassManager::runOnFunction(), and viewRegionInfo().
|
delete |
Tr::RegionT * llvm::RegionInfoBase< Tr >::operator[] | ( | BlockT * | BB | ) | const |
A shortcut for getRegionFor().
BB | The basic block. |
Definition at line 831 of file RegionInfoImpl.h.
void llvm::RegionInfoBase< Tr >::print | ( | raw_ostream & | OS | ) | const |
Definition at line 787 of file RegionInfoImpl.h.
Referenced by llvm::MachineRegionInfoPass::print(), and llvm::RegionInfoPass::print().
void llvm::RegionInfoBase< Tr >::releaseMemory | ( | ) |
Definition at line 799 of file RegionInfoImpl.h.
Referenced by llvm::MachineRegionInfoPass::releaseMemory(), and llvm::RegionInfoPass::releaseMemory().
void llvm::RegionInfoBase< Tr >::setRegionFor | ( | BlockT * | BB, |
RegionT * | R | ||
) |
Set the smallest region that surrounds a basic block.
BB | The basic block surrounded by a region. |
R | The smallest region that surrounds BB. |
Definition at line 826 of file RegionInfoImpl.h.
|
inlineprotected |
Update refences to a RegionInfoT held by the RegionT managed here.
This is a post-move helper. Regions hold references to the owning RegionInfo object. After a move these need to be fixed.
Definition at line 734 of file RegionInfo.h.
void llvm::RegionInfoBase< Tr >::verifyAnalysis | ( | ) | const |
Definition at line 807 of file RegionInfoImpl.h.
Referenced by llvm::MachineRegionInfoPass::verifyAnalysis(), and llvm::RegionInfoPass::verifyAnalysis().
|
friend |
Definition at line 679 of file RegionInfo.h.
|
friend |
Definition at line 678 of file RegionInfo.h.
|
static |
Definition at line 806 of file RegionInfo.h.
|
static |
Definition at line 805 of file RegionInfo.h.