|
LLVM
3.7.0
|
Data about a loop. More...
#include <BlockFrequencyInfoImpl.h>
Public Types | |
| typedef SmallVector< std::pair < BlockNode, BlockMass >, 4 > | ExitMap |
| typedef SmallVector< BlockNode, 4 > | NodeList |
| typedef SmallVector< BlockMass, 1 > | HeaderMassList |
Public Member Functions | |
| LoopData (LoopData *Parent, const BlockNode &Header) | |
| template<class It1 , class It2 > | |
| LoopData (LoopData *Parent, It1 FirstHeader, It1 LastHeader, It2 FirstOther, It2 LastOther) | |
| bool | isHeader (const BlockNode &Node) const |
| BlockNode | getHeader () const |
| bool | isIrreducible () const |
| HeaderMassList::difference_type | getHeaderIndex (const BlockNode &B) |
| NodeList::const_iterator | members_begin () const |
| NodeList::const_iterator | members_end () const |
| iterator_range < NodeList::const_iterator > | members () const |
Public Attributes | |
| LoopData * | Parent |
| The parent loop. More... | |
| bool | IsPackaged |
| Whether this has been packaged. More... | |
| uint32_t | NumHeaders |
| Number of headers. More... | |
| ExitMap | Exits |
| Successor edges (and weights). More... | |
| NodeList | Nodes |
| Header and the members of the loop. More... | |
| HeaderMassList | BackedgeMass |
| Mass returned to each loop header. More... | |
| BlockMass | Mass |
| Scaled64 | Scale |
Data about a loop.
Contains the data necessary to represent a loop as a pseudo-node once it's packaged.
Definition at line 196 of file BlockFrequencyInfoImpl.h.
| typedef SmallVector<std::pair<BlockNode, BlockMass>, 4> llvm::BlockFrequencyInfoImplBase::LoopData::ExitMap |
Definition at line 197 of file BlockFrequencyInfoImpl.h.
Definition at line 199 of file BlockFrequencyInfoImpl.h.
Definition at line 198 of file BlockFrequencyInfoImpl.h.
|
inline |
Definition at line 209 of file BlockFrequencyInfoImpl.h.
|
inline |
|
inline |
Definition at line 226 of file BlockFrequencyInfoImpl.h.
References Nodes.
Referenced by llvm::BlockFrequencyInfoImplBase::addLoopSuccessorsToDist(), llvm::bfi_detail::IrreducibleGraph::addNodesInLoop(), and llvm::BlockFrequencyInfoImplBase::getLoopName().
|
inline |
Definition at line 229 of file BlockFrequencyInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), isHeader(), isIrreducible(), Nodes, and NumHeaders.
Referenced by llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), and llvm::BlockFrequencyInfoImplBase::distributeMass().
Definition at line 220 of file BlockFrequencyInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), isIrreducible(), Nodes, and NumHeaders.
Referenced by llvm::bfi_detail::IrreducibleGraph::addEdge(), llvm::BlockFrequencyInfoImplBase::addToDist(), and getHeaderIndex().
|
inline |
Definition at line 227 of file BlockFrequencyInfoImpl.h.
References NumHeaders.
Referenced by llvm::BlockFrequencyInfoImplBase::addToDist(), llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), getHeaderIndex(), llvm::BlockFrequencyInfoImplBase::getLoopName(), and isHeader().
|
inline |
Definition at line 241 of file BlockFrequencyInfoImpl.h.
References llvm::make_range(), members_begin(), and members_end().
|
inline |
Definition at line 237 of file BlockFrequencyInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), Nodes, and NumHeaders.
Referenced by members().
|
inline |
Definition at line 240 of file BlockFrequencyInfoImpl.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Nodes.
Referenced by members().
| HeaderMassList llvm::BlockFrequencyInfoImplBase::LoopData::BackedgeMass |
Mass returned to each loop header.
Definition at line 205 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), llvm::BlockFrequencyInfoImplBase::computeLoopScale(), llvm::BlockFrequencyInfoImplBase::distributeMass(), LoopData(), and llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible().
| ExitMap llvm::BlockFrequencyInfoImplBase::LoopData::Exits |
Successor edges (and weights).
Definition at line 203 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::addLoopSuccessorsToDist(), llvm::BlockFrequencyInfoImplBase::distributeMass(), llvm::BlockFrequencyInfoImplBase::packageLoop(), and llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible().
| bool llvm::BlockFrequencyInfoImplBase::LoopData::IsPackaged |
Whether this has been packaged.
Definition at line 201 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::packageLoop().
| BlockMass llvm::BlockFrequencyInfoImplBase::LoopData::Mass |
Definition at line 206 of file BlockFrequencyInfoImpl.h.
| NodeList llvm::BlockFrequencyInfoImplBase::LoopData::Nodes |
Header and the members of the loop.
Definition at line 204 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::bfi_detail::IrreducibleGraph::addNodesInLoop(), llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), getHeader(), getHeaderIndex(), llvm::bfi_detail::IrreducibleGraph::initialize(), isHeader(), LoopData(), members_begin(), members_end(), llvm::BlockFrequencyInfoImplBase::packageLoop(), and llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible().
| uint32_t llvm::BlockFrequencyInfoImplBase::LoopData::NumHeaders |
Number of headers.
Definition at line 202 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), getHeaderIndex(), isHeader(), isIrreducible(), LoopData(), and members_begin().
| LoopData* llvm::BlockFrequencyInfoImplBase::LoopData::Parent |
The parent loop.
Definition at line 200 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::WorkingData::getPackagedLoop().
| Scaled64 llvm::BlockFrequencyInfoImplBase::LoopData::Scale |
Definition at line 207 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::computeLoopScale().
1.8.6