|
LLVM 24.0.0git
|
Data about a loop. More...
#include "llvm/Analysis/BlockFrequencyInfoImpl.h"
Public Types | |
| using | ExitMap = SmallVector<std::pair<BlockNode, BlockMass>, 4> |
| using | NodeList = SmallVector<BlockNode, 4> |
Public Member Functions | |
| LoopData (LoopData *Parent, const BlockNode &Header) | |
| LoopData (LoopData *Parent, NodeList &&Members) | |
| An irreducible SCC. | |
| bool | isHeader (const BlockNode &Node) const |
| BlockNode | getHeader () const |
| bool | isIrreducible () const |
| 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. | |
| bool | IsPackaged = false |
| Whether this has been packaged. | |
| bool | ContainsIrreducible = false |
| bool | IsIrreducible = false |
| ExitMap | Exits |
| Successor edges (and weights). | |
| NodeList | Nodes |
| Header and the members of the loop. | |
| BlockMass | BackedgeMass |
| Mass that circulates, not exits. | |
| 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 221 of file BlockFrequencyInfoImpl.h.
| using llvm::BlockFrequencyInfoImplBase::LoopData::ExitMap = SmallVector<std::pair<BlockNode, BlockMass>, 4> |
Definition at line 222 of file BlockFrequencyInfoImpl.h.
Definition at line 223 of file BlockFrequencyInfoImpl.h.
|
inline |
Definition at line 237 of file BlockFrequencyInfoImpl.h.
References LoopData(), Nodes, and Parent.
Referenced by LoopData(), and LoopData().
|
inline |
An irreducible SCC.
Its entries are equivalent as far as the enclosing region is concerned, so the lowest-RPO member stands for the package and solveIrreducibleMass distributes mass among them all.
Definition at line 243 of file BlockFrequencyInfoImpl.h.
References IsIrreducible, LoopData(), llvm::move(), Nodes, and Parent.
|
inline |
Definition at line 248 of file BlockFrequencyInfoImpl.h.
References Nodes.
Referenced by llvm::bfi_detail::IrreducibleGraph::addNodesInLoop().
Definition at line 246 of file BlockFrequencyInfoImpl.h.
References Nodes.
Referenced by llvm::bfi_detail::IrreducibleGraph::addEdge(), and llvm::BlockFrequencyInfoImplBase::addToDist().
|
inline |
Definition at line 249 of file BlockFrequencyInfoImpl.h.
References IsIrreducible.
|
inline |
Definition at line 254 of file BlockFrequencyInfoImpl.h.
References llvm::make_range(), members_begin(), and members_end().
|
inline |
|
inline |
| BlockMass llvm::BlockFrequencyInfoImplBase::LoopData::BackedgeMass |
Mass that circulates, not exits.
Definition at line 233 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::distributeMass().
| bool llvm::BlockFrequencyInfoImplBase::LoopData::ContainsIrreducible = false |
Definition at line 228 of file BlockFrequencyInfoImpl.h.
| ExitMap llvm::BlockFrequencyInfoImplBase::LoopData::Exits |
Successor edges (and weights).
Definition at line 231 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::BlockFrequencyInfoImplBase::distributeMass().
| bool llvm::BlockFrequencyInfoImplBase::LoopData::IsIrreducible = false |
Definition at line 230 of file BlockFrequencyInfoImpl.h.
Referenced by isIrreducible(), and LoopData().
| bool llvm::BlockFrequencyInfoImplBase::LoopData::IsPackaged = false |
Whether this has been packaged.
Definition at line 226 of file BlockFrequencyInfoImpl.h.
| BlockMass llvm::BlockFrequencyInfoImplBase::LoopData::Mass |
Definition at line 234 of file BlockFrequencyInfoImpl.h.
| NodeList llvm::BlockFrequencyInfoImplBase::LoopData::Nodes |
Header and the members of the loop.
Definition at line 232 of file BlockFrequencyInfoImpl.h.
Referenced by llvm::bfi_detail::IrreducibleGraph::addNodesInLoop(), getHeader(), llvm::bfi_detail::IrreducibleGraph::initialize(), isHeader(), LoopData(), LoopData(), members_begin(), and members_end().
| LoopData* llvm::BlockFrequencyInfoImplBase::LoopData::Parent |
The parent loop.
Definition at line 225 of file BlockFrequencyInfoImpl.h.
Referenced by LoopData(), and LoopData().
| Scaled64 llvm::BlockFrequencyInfoImplBase::LoopData::Scale |
Definition at line 235 of file BlockFrequencyInfoImpl.h.