LLVM: llvm::BlockFrequencyInfoImplBase::WorkingData Struct Reference (original) (raw)
Index of loop information. More...
#include "[llvm/Analysis/BlockFrequencyInfoImpl.h](BlockFrequencyInfoImpl%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| WorkingData (const BlockNode &Node) | |
| bool | isLoopHeader () const |
| bool | isDoubleLoopHeader () const |
| LoopData * | getContainingLoop () const |
| BlockNode | getResolvedNode () const |
| Resolve a node to its representative. | |
| LoopData * | getPackagedLoop () const |
| BlockMass & | getMass () |
| Get the appropriate mass for a node. | |
| bool | isPackaged () const |
| Has ContainingLoop been packaged up? | |
| bool | isAPackage () const |
| Has Loop been packaged up? | |
| bool | isADoublePackage () const |
| Has Loop been packaged up twice? |
| Public Attributes | |
|---|---|
| BlockNode | Node |
| This node. | |
| LoopData * | Loop = nullptr |
| The loop this block is inside. | |
| BlockMass | Mass |
| Mass distribution from the entry block. |
Index of loop information.
Definition at line 276 of file BlockFrequencyInfoImpl.h.
| llvm::BlockFrequencyInfoImplBase::WorkingData::WorkingData ( const BlockNode & Node) | inline |
|---|
◆ getContainingLoop()
| LoopData * llvm::BlockFrequencyInfoImplBase::WorkingData::getContainingLoop ( ) const | inline |
|---|
◆ getMass()
| BlockMass & llvm::BlockFrequencyInfoImplBase::WorkingData::getMass ( ) | inline |
|---|
◆ getPackagedLoop()
| LoopData * llvm::BlockFrequencyInfoImplBase::WorkingData::getPackagedLoop ( ) const | inline |
|---|
◆ getResolvedNode()
| BlockNode llvm::BlockFrequencyInfoImplBase::WorkingData::getResolvedNode ( ) const | inline |
|---|
Resolve a node to its representative.
Get the node currently representing Node, which could be a containing loop.
This function should only be called when distributing mass. As long as there are no irreducible edges to Node, then it will have complexity O(1) in this context.
In general, the complexity is O(L), where L is the number of loop headers Node has been packaged into. Since this method is called in the context of distributing mass, L will be the number of loop headers an early exit edge jumps out of.
Definition at line 311 of file BlockFrequencyInfoImpl.h.
References getPackagedLoop(), and Node.
Referenced by isPackaged().
◆ isADoublePackage()
| bool llvm::BlockFrequencyInfoImplBase::WorkingData::isADoublePackage ( ) const | inline |
|---|
◆ isAPackage()
| bool llvm::BlockFrequencyInfoImplBase::WorkingData::isAPackage ( ) const | inline |
|---|
◆ isDoubleLoopHeader()
| bool llvm::BlockFrequencyInfoImplBase::WorkingData::isDoubleLoopHeader ( ) const | inline |
|---|
◆ isLoopHeader()
| bool llvm::BlockFrequencyInfoImplBase::WorkingData::isLoopHeader ( ) const | inline |
|---|
◆ isPackaged()
| bool llvm::BlockFrequencyInfoImplBase::WorkingData::isPackaged ( ) const | inline |
|---|
◆ Loop
LoopData* llvm::BlockFrequencyInfoImplBase::WorkingData::Loop = nullptr
◆ Mass
BlockMass llvm::BlockFrequencyInfoImplBase::WorkingData::Mass
◆ Node
BlockNode llvm::BlockFrequencyInfoImplBase::WorkingData::Node
The documentation for this struct was generated from the following file:
- include/llvm/Analysis/BlockFrequencyInfoImpl.h