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: