| 
    LLVM 22.0.0git
    
   | 
 
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.   | |
| 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 | 
Static Public Attributes | |
| static bool | VerifyRegionInfo | 
| 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.   | |
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 672 of file RegionInfo.h.
      
  | 
  delete | 
      
  | 
  inline | 
Clear the Node Cache for all Regions.
Definition at line 869 of file RegionInfo.h.
| void llvm::RegionInfoBase< Tr >::dump | ( | ) | const | 
Definition at line 759 of file RegionInfoImpl.h.
References llvm::dbgs(), and llvm::print().
      
  | 
  inline | 
Find the smallest region that contains two basic blocks.
| A | The first basic block. | 
| B | The second basic block. | 
Definition at line 848 of file RegionInfo.h.
| 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 840 of file RegionInfoImpl.h.
References A().
Referenced by getCommonRegion(), getCommonRegion(), and llvm::RegionInfoBase< RegionTraits< Function > >::getCommonRegion().
| 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 866 of file RegionInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), getCommonRegion(), getRegionFor(), and llvm::SmallVectorTemplateBase< T, bool >::pop_back().
| 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 855 of file RegionInfoImpl.h.
References getCommonRegion(), and llvm::SmallVectorImpl< T >::pop_back_val().
| 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 800 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 784 of file RegionInfoImpl.h.
Referenced by getCommonRegion(), llvm::RegionInfoBase< RegionTraits< Function > >::getCommonRegion(), operator[](), and llvm::DOTGraphTraits< RegionInfo * >::printRegionCluster().
      
  | 
  inline | 
Definition at line 864 of file RegionInfo.h.
Referenced by llvm::GraphTraits< MachineRegionInfo * >::getEntryNode(), llvm::GraphTraits< RegionInfo * >::getEntryNode(), llvm::DOTGraphTraits< RegionInfo * >::printRegionCluster(), and viewRegionInfo().
      
  | 
  delete | 
| Tr::RegionT * llvm::RegionInfoBase< Tr >::operator[] | ( | BlockT * | BB | ) | const | 
A shortcut for getRegionFor().
| BB | The basic block. | 
Definition at line 794 of file RegionInfoImpl.h.
References getRegionFor().
| void llvm::RegionInfoBase< Tr >::print | ( | raw_ostream & | OS | ) | const | 
Definition at line 751 of file RegionInfoImpl.h.
References printStyle.
| void llvm::RegionInfoBase< Tr >::releaseMemory | ( | ) | 
Definition at line 762 of file RegionInfoImpl.h.
| 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 789 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 729 of file RegionInfo.h.
Referenced by llvm::RegionInfoBase< RegionTraits< Function > >::updateRegionTree().
| void llvm::RegionInfoBase< Tr >::verifyAnalysis | ( | ) | const | 
Definition at line 771 of file RegionInfoImpl.h.
References VerifyRegionInfo.
      
  | 
  friend | 
Definition at line 674 of file RegionInfo.h.
      
  | 
  friend | 
Definition at line 673 of file RegionInfo.h.
      
  | 
  static | 
Definition at line 801 of file RegionInfo.h.
Referenced by llvm::RegionBase< Tr >::dump(), and print().
      
  | 
  static | 
Definition at line 800 of file RegionInfo.h.
Referenced by verifyAnalysis(), and llvm::RegionBase< Tr >::verifyRegion().