LLVM: llvm::MachineTraceMetrics::Ensemble Class Reference (original) (raw)
A trace ensemble is a collection of traces selected using the same strategy, for example 'minimum resource height'. More...
#include "[llvm/CodeGen/MachineTraceMetrics.h](MachineTraceMetrics%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| virtual | ~Ensemble () |
| virtual const char * | getName () const =0 |
| void | print (raw_ostream &) const |
| void | dump () const |
| void | invalidate (const MachineBasicBlock *MBB) |
| Invalidate traces through BadMBB. | |
| void | verify () const |
| Trace | getTrace (const MachineBasicBlock *MBB) |
| Get the trace that passes through MBB. | |
| void | updateDepth (TraceBlockInfo &TBI, const MachineInstr &, LiveRegUnitSet &RegUnits) |
| Updates the depth of an machine instruction, given RegUnits. | |
| void | updateDepth (const MachineBasicBlock *, const MachineInstr &, LiveRegUnitSet &RegUnits) |
| void | updateDepths (MachineBasicBlock::iterator Start, MachineBasicBlock::iterator End, LiveRegUnitSet &RegUnits) |
| Updates the depth of the instructions from Start to End. |
| Protected Member Functions | |
|---|---|
| Ensemble (MachineTraceMetrics *) | |
| virtual const MachineBasicBlock * | pickTracePred (const MachineBasicBlock *)=0 |
| virtual const MachineBasicBlock * | pickTraceSucc (const MachineBasicBlock *)=0 |
| const MachineLoop * | getLoopFor (const MachineBasicBlock *) const |
| const TraceBlockInfo * | getDepthResources (const MachineBasicBlock *) const |
| const TraceBlockInfo * | getHeightResources (const MachineBasicBlock *) const |
| ArrayRef< unsigned > | getProcResourceDepths (unsigned MBBNum) const |
| Get an array of processor resource depths for MBB. | |
| ArrayRef< unsigned > | getProcResourceHeights (unsigned MBBNum) const |
| Get an array of processor resource heights for MBB. |
A trace ensemble is a collection of traces selected using the same strategy, for example 'minimum resource height'.
There is one trace for every block in the function.
Definition at line 342 of file MachineTraceMetrics.h.
◆ ~Ensemble()
| MachineTraceMetrics::Ensemble::~Ensemble ( ) | virtualdefault |
|---|
◆ dump()
| void llvm::MachineTraceMetrics::Ensemble::dump ( ) const | inline |
|---|
◆ getDepthResources()
◆ getHeightResources()
◆ getLoopFor()
◆ getName()
| virtual const char * llvm::MachineTraceMetrics::Ensemble::getName ( ) const | pure virtual |
|---|
◆ getProcResourceDepths()
◆ getProcResourceHeights()
◆ getTrace()
◆ invalidate()
Invalidate traces through BadMBB.
Definition at line 564 of file MachineTraceMetrics.cpp.
References assert(), llvm::dbgs(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), getName(), llvm::MachineBasicBlock::getNumber(), llvm::MachineTraceMetrics::TraceBlockInfo::hasValidDepth(), llvm::MachineTraceMetrics::TraceBlockInfo::hasValidHeight(), I, llvm::MachineTraceMetrics::TraceBlockInfo::invalidateDepth(), llvm::MachineTraceMetrics::TraceBlockInfo::invalidateHeight(), llvm::MachineBasicBlock::isPredecessor(), llvm::MachineBasicBlock::isSuccessor(), LLVM_DEBUG, MBB, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::MachineTraceMetrics::TraceBlockInfo::Pred, llvm::printMBBReference(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::MachineTraceMetrics::TraceBlockInfo::Succ.
Referenced by insertDeleteInstructions().
◆ pickTracePred()
◆ pickTraceSucc()
◆ print()
| void MachineTraceMetrics::Ensemble::print | ( | raw_ostream & | OS | ) | const |
|---|
◆ updateDepth() [1/2]
◆ updateDepth() [2/2]
Updates the depth of an machine instruction, given RegUnits.
Definition at line 817 of file MachineTraceMetrics.cpp.
References assert(), llvm::MachineTraceMetrics::TraceBlockInfo::CriticalPath, llvm::dbgs(), llvm::MachineTraceMetrics::InstrCycles::Depth, getDataDeps(), getPHIDeps(), llvm::MachineTraceMetrics::TraceBlockInfo::HasValidInstrDepths, llvm::MachineTraceMetrics::TraceBlockInfo::HasValidInstrHeights, llvm::MachineTraceMetrics::InstrCycles::Height, llvm::MachineTraceMetrics::TraceBlockInfo::isUsefulDominator(), LLVM_DEBUG, MTM, llvm::MachineTraceMetrics::TraceBlockInfo::Pred, updatePhysDepsDownwards(), and UseMI.
Referenced by insertDeleteInstructions(), updateDepth(), and updateDepths().
◆ updateDepths()
◆ verify()
| void MachineTraceMetrics::Ensemble::verify | ( | ) | const |
|---|
Definition at line 627 of file MachineTraceMetrics.cpp.
References assert(), llvm::LoopBase< BlockT, LoopT >::getHeader(), getLoopFor(), llvm::MachineBasicBlock::getNumber(), llvm::MachineTraceMetrics::TraceBlockInfo::hasValidDepth(), llvm::MachineTraceMetrics::TraceBlockInfo::hasValidHeight(), MBB, MTM, llvm::MachineTraceMetrics::TraceBlockInfo::Pred, and llvm::MachineTraceMetrics::TraceBlockInfo::Succ.
◆ Trace
◆ MTM
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/MachineTraceMetrics.h
- lib/CodeGen/MachineTraceMetrics.cpp