class MachineTraceMetrics::Ensemble
Declaration
class MachineTraceMetrics::Ensemble { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:321
Member Variables
- protected llvm::MachineTraceMetrics& MTM
Method Overview
- protected Ensemble(llvm::MachineTraceMetrics *)
- protected const llvm::MachineTraceMetrics::TraceBlockInfo * getDepthResources(const llvm::MachineBasicBlock *) const
- protected const llvm::MachineTraceMetrics::TraceBlockInfo * getHeightResources(const llvm::MachineBasicBlock *) const
- protected const llvm::MachineLoop * getLoopFor(const llvm::MachineBasicBlock *) const
- public virtual const char * getName() const
- protected ArrayRef<unsigned int> getProcResourceDepths(unsigned int MBBNum) const
- protected ArrayRef<unsigned int> getProcResourceHeights(unsigned int MBBNum) const
- public llvm::MachineTraceMetrics::Trace getTrace(const llvm::MachineBasicBlock * MBB)
- public void invalidate(const llvm::MachineBasicBlock * MBB)
- protected virtual const llvm::MachineBasicBlock * pickTracePred(const llvm::MachineBasicBlock *)
- protected virtual const llvm::MachineBasicBlock * pickTraceSucc(const llvm::MachineBasicBlock *)
- public void print(llvm::raw_ostream &) const
- public void updateDepth(const llvm::MachineBasicBlock *, const llvm::MachineInstr &, SparseSet<llvm::LiveRegUnit> & RegUnits)
- public void updateDepth(llvm::MachineTraceMetrics::TraceBlockInfo & TBI, const llvm::MachineInstr &, SparseSet<llvm::LiveRegUnit> & RegUnits)
- public void updateDepths(MachineBasicBlock::iterator Start, MachineBasicBlock::iterator End, SparseSet<llvm::LiveRegUnit> & RegUnits)
- public void verify() const
- public virtual ~Ensemble()
Methods
¶Ensemble(llvm::MachineTraceMetrics*)
Ensemble(llvm::MachineTraceMetrics*)
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:341
Parameters
¶const llvm::MachineTraceMetrics::TraceBlockInfo*
getDepthResources(
const llvm::MachineBasicBlock*) const
const llvm::MachineTraceMetrics::TraceBlockInfo*
getDepthResources(
const llvm::MachineBasicBlock*) const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:346
Parameters
- const llvm::MachineBasicBlock*
¶const llvm::MachineTraceMetrics::TraceBlockInfo*
getHeightResources(
const llvm::MachineBasicBlock*) const
const llvm::MachineTraceMetrics::TraceBlockInfo*
getHeightResources(
const llvm::MachineBasicBlock*) const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:347
Parameters
- const llvm::MachineBasicBlock*
¶const llvm::MachineLoop* getLoopFor(
const llvm::MachineBasicBlock*) const
const llvm::MachineLoop* getLoopFor(
const llvm::MachineBasicBlock*) const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:345
Parameters
- const llvm::MachineBasicBlock*
¶virtual const char* getName() const
virtual const char* getName() const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:354
¶ArrayRef<unsigned int> getProcResourceDepths(
unsigned int MBBNum) const
ArrayRef<unsigned int> getProcResourceDepths(
unsigned int MBBNum) const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:348
Parameters
- unsigned int MBBNum
¶ArrayRef<unsigned int> getProcResourceHeights(
unsigned int MBBNum) const
ArrayRef<unsigned int> getProcResourceHeights(
unsigned int MBBNum) const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:349
Parameters
- unsigned int MBBNum
¶llvm::MachineTraceMetrics::Trace getTrace(
const llvm::MachineBasicBlock* MBB)
llvm::MachineTraceMetrics::Trace getTrace(
const llvm::MachineBasicBlock* MBB)
Description
Get the trace that passes through MBB. The trace is computed on demand.
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:361
Parameters
- const llvm::MachineBasicBlock* MBB
¶void invalidate(
const llvm::MachineBasicBlock* MBB)
void invalidate(
const llvm::MachineBasicBlock* MBB)
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:356
Parameters
- const llvm::MachineBasicBlock* MBB
¶virtual const llvm::MachineBasicBlock*
pickTracePred(const llvm::MachineBasicBlock*)
virtual const llvm::MachineBasicBlock*
pickTracePred(const llvm::MachineBasicBlock*)
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:343
Parameters
- const llvm::MachineBasicBlock*
¶virtual const llvm::MachineBasicBlock*
pickTraceSucc(const llvm::MachineBasicBlock*)
virtual const llvm::MachineBasicBlock*
pickTraceSucc(const llvm::MachineBasicBlock*)
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:344
Parameters
- const llvm::MachineBasicBlock*
¶void print(llvm::raw_ostream&) const
void print(llvm::raw_ostream&) const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:355
Parameters
¶void updateDepth(
const llvm::MachineBasicBlock*,
const llvm::MachineInstr&,
SparseSet<llvm::LiveRegUnit>& RegUnits)
void updateDepth(
const llvm::MachineBasicBlock*,
const llvm::MachineInstr&,
SparseSet<llvm::LiveRegUnit>& RegUnits)
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:366
Parameters
- const llvm::MachineBasicBlock*
- const llvm::MachineInstr&
- SparseSet<llvm::LiveRegUnit>& RegUnits
¶void updateDepth(
llvm::MachineTraceMetrics::TraceBlockInfo&
TBI,
const llvm::MachineInstr&,
SparseSet<llvm::LiveRegUnit>& RegUnits)
void updateDepth(
llvm::MachineTraceMetrics::TraceBlockInfo&
TBI,
const llvm::MachineInstr&,
SparseSet<llvm::LiveRegUnit>& RegUnits)
Description
Updates the depth of an machine instruction, given RegUnits.
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:364
Parameters
- llvm::MachineTraceMetrics::TraceBlockInfo& TBI
- const llvm::MachineInstr&
- SparseSet<llvm::LiveRegUnit>& RegUnits
¶void updateDepths(
MachineBasicBlock::iterator Start,
MachineBasicBlock::iterator End,
SparseSet<llvm::LiveRegUnit>& RegUnits)
void updateDepths(
MachineBasicBlock::iterator Start,
MachineBasicBlock::iterator End,
SparseSet<llvm::LiveRegUnit>& RegUnits)
Description
Updates the depth of the instructions from Start to End.
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:370
Parameters
- MachineBasicBlock::iterator Start
- MachineBasicBlock::iterator End
- SparseSet<llvm::LiveRegUnit>& RegUnits
¶void verify() const
void verify() const
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:357
¶virtual ~Ensemble()
virtual ~Ensemble()
Declared at: llvm/include/llvm/CodeGen/MachineTraceMetrics.h:352