LLVM
15.0.0git
|
A possibly irreducible generalization of a Loop. More...
#include "llvm/ADT/GenericCycleInfo.h"
Classes | |
struct | const_child_iterator |
Public Types | |
using | BlockT = typename ContextT::BlockT |
using | FunctionT = typename ContextT::FunctionT |
using | const_child_iterator_base = typename std::vector< std::unique_ptr< GenericCycle > >::const_iterator |
Iteration over child cycles. More... | |
using | const_block_iterator = typename std::vector< BlockT * >::const_iterator |
Iteration over blocks in the cycle (including entry blocks). More... | |
using | const_entry_iterator = typename SmallVectorImpl< BlockT * >::const_iterator |
Iteration over entry blocks. More... | |
Friends | |
template<typename > | |
class | GenericCycleInfo |
template<typename > | |
class | GenericCycleInfoCompute |
A possibly irreducible generalization of a Loop.
Definition at line 48 of file GenericCycleInfo.h.
using llvm::GenericCycle< ContextT >::BlockT = typename ContextT::BlockT |
Definition at line 50 of file GenericCycleInfo.h.
using llvm::GenericCycle< ContextT >::const_block_iterator = typename std::vector<BlockT *>::const_iterator |
Iteration over blocks in the cycle (including entry blocks).
Definition at line 158 of file GenericCycleInfo.h.
using llvm::GenericCycle< ContextT >::const_child_iterator_base = typename std::vector<std::unique_ptr<GenericCycle> >::const_iterator |
Iteration over child cycles.
Definition at line 130 of file GenericCycleInfo.h.
using llvm::GenericCycle< ContextT >::const_entry_iterator = typename SmallVectorImpl<BlockT *>::const_iterator |
Iteration over entry blocks.
Definition at line 175 of file GenericCycleInfo.h.
using llvm::GenericCycle< ContextT >::FunctionT = typename ContextT::FunctionT |
Definition at line 51 of file GenericCycleInfo.h.
|
default |
|
inline |
Definition at line 160 of file GenericCycleInfo.h.
Referenced by llvm::GenericCycle< ContextT >::blocks().
|
inline |
Definition at line 163 of file GenericCycleInfo.h.
Referenced by llvm::GenericCycle< ContextT >::blocks().
|
inline |
Definition at line 167 of file GenericCycleInfo.h.
References llvm::GenericCycle< ContextT >::block_begin(), llvm::GenericCycle< ContextT >::block_end(), and llvm::make_range().
|
inline |
Definition at line 143 of file GenericCycleInfo.h.
|
inline |
Definition at line 146 of file GenericCycleInfo.h.
|
inline |
Definition at line 150 of file GenericCycleInfo.h.
References llvm::make_range().
|
inline |
Return whether Block
is contained in the cycle.
Definition at line 107 of file GenericCycleInfo.h.
References llvm::is_contained().
bool llvm::GenericCycle< ContextT >::contains | ( | const GenericCycle< ContextT > * | C | ) | const |
Returns true iff this cycle contains C
.
Note: Non-strict containment check, i.e. returns true if C is the same cycle.
Definition at line 35 of file GenericCycleImpl.h.
References llvm::Depth.
|
inline |
Definition at line 178 of file GenericCycleInfo.h.
References llvm::make_range().
|
inline |
Definition at line 119 of file GenericCycleInfo.h.
References llvm::Depth.
void llvm::GenericCycle< ContextT >::getExitBlocks | ( | SmallVectorImpl< BlockT * > & | TmpStorage | ) | const |
Return all of the successor blocks of this cycle.
These are the blocks outside of the current cycle which are branched to.
Definition at line 47 of file GenericCycleImpl.h.
References llvm::append_range(), llvm::SmallVectorImpl< T >::clear(), and llvm::successors().
|
inline |
Definition at line 101 of file GenericCycleInfo.h.
|
inline |
Definition at line 166 of file GenericCycleInfo.h.
|
inline |
Definition at line 149 of file GenericCycleInfo.h.
|
inline |
Definition at line 177 of file GenericCycleInfo.h.
|
inline |
Definition at line 118 of file GenericCycleInfo.h.
|
inline |
Definition at line 117 of file GenericCycleInfo.h.
|
inline |
Return whether Block
is an entry block of the cycle.
Definition at line 104 of file GenericCycleInfo.h.
References llvm::is_contained().
Referenced by llvm::GenericCycle< ContextT >::print().
|
inline |
Whether the cycle is a natural loop.
Definition at line 99 of file GenericCycleInfo.h.
|
inline |
Definition at line 195 of file GenericCycleInfo.h.
References llvm::Depth, llvm::GenericCycle< ContextT >::isEntry(), and llvm::GenericCycle< ContextT >::printEntries().
Referenced by llvm::GenericCycleInfo< SSAContext >::print().
|
inline |
Definition at line 183 of file GenericCycleInfo.h.
References First.
Referenced by llvm::GenericCycle< ContextT >::print().
Definition at line 52 of file GenericCycleInfo.h.
Definition at line 53 of file GenericCycleInfo.h.