|
LLVM
3.7.0
|
Analysis that detects all canonical Regions. More...
#include <RegionInfo.h>
Public Member Functions | |
| 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 | splitBlock (BlockT *NewBB, BlockT *OldBB) |
| Update RegionInfo after a basic block was split. More... | |
| void | clearNodeCache () |
| Clear the Node Cache for all Regions. More... | |
| void | verifyAnalysis () const |
Static Public Attributes | |
| static bool | VerifyRegionInfo = false |
| static RegionT::PrintStyle | printStyle |
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 75 of file RegionInfo.h.
|
inline |
Clear the Node Cache for all Regions.
Definition at line 808 of file RegionInfo.h.
Referenced by llvm::RGPassManager::runOnFunction().
| void llvm::RegionInfoBase< Tr >::dump | ( | ) | const |
Definition at line 776 of file RegionInfoImpl.h.
References llvm::dbgs().
Referenced by llvm::MachineRegionInfoPass::dump(), llvm::RegionInfoPass::dump(), and llvm::RGPassManager::runOnFunction().
| 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 852 of file RegionInfoImpl.h.
Referenced by llvm::RegionInfoBase< RegionTraits< Function > >::getCommonRegion().
|
inline |
Find the smallest region that contains two basic blocks.
| A | The first basic block. |
| B | The second basic block. |
Definition at line 781 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 867 of file RegionInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T >::back(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back().
| 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 879 of file RegionInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T >::back(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back().
| 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 811 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 794 of file RegionInfoImpl.h.
References I.
Referenced by llvm::RegionInfoBase< RegionTraits< Function > >::getCommonRegion(), llvm::DOTGraphTraits< RegionInfoPass * >::getEdgeAttributes(), and llvm::DOTGraphTraits< RegionInfoPass * >::printRegionCluster().
|
inline |
Definition at line 797 of file RegionInfo.h.
Referenced by llvm::DOTGraphTraits< RegionInfoPass * >::addCustomGraphFeatures(), llvm::GraphTraits< MachineRegionInfo * >::getEntryNode(), llvm::GraphTraits< RegionInfo * >::getEntryNode(), llvm::DOTGraphTraits< RegionInfoPass * >::getNodeLabel(), llvm::DOTGraphTraits< RegionInfoPass * >::printRegionCluster(), and llvm::RGPassManager::runOnFunction().
| Tr::RegionT * llvm::RegionInfoBase< Tr >::operator[] | ( | BlockT * | BB | ) | const |
A shortcut for getRegionFor().
| BB | The basic block. |
Definition at line 805 of file RegionInfoImpl.h.
| void llvm::RegionInfoBase< Tr >::print | ( | raw_ostream & | OS | ) | const |
Definition at line 768 of file RegionInfoImpl.h.
Referenced by llvm::MachineRegionInfoPass::print(), and llvm::RegionInfoPass::print().
| void llvm::RegionInfoBase< Tr >::releaseMemory | ( | ) |
Definition at line 780 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 800 of file RegionInfoImpl.h.
| void llvm::RegionInfoBase< Tr >::splitBlock | ( | BlockT * | NewBB, |
| BlockT * | OldBB | ||
| ) |
Update RegionInfo after a basic block was split.
| NewBB | The basic block that was created before OldBB. |
| OldBB | The old basic block. |
Definition at line 890 of file RegionInfoImpl.h.
| void llvm::RegionInfoBase< Tr >::verifyAnalysis | ( | ) | const |
Definition at line 788 of file RegionInfoImpl.h.
Referenced by llvm::MachineRegionInfoPass::verifyAnalysis(), and llvm::RegionInfoPass::verifyAnalysis().
|
friend |
Definition at line 669 of file RegionInfo.h.
|
friend |
Definition at line 668 of file RegionInfo.h.
|
static |
Definition at line 734 of file RegionInfo.h.
|
static |
Definition at line 733 of file RegionInfo.h.
1.8.6