LLVM: llvm::MachineTraceMetrics::TraceBlockInfo Struct Reference (original) (raw)
Per-basic block information that relates to a specific trace through the block. More...
#include "[llvm/CodeGen/MachineTraceMetrics.h](MachineTraceMetrics%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| TraceBlockInfo ()=default | |
| bool | hasValidDepth () const |
| Returns true if the depth resources have been computed from the trace above this block. | |
| bool | hasValidHeight () const |
| Returns true if the height resources have been computed from the trace below this block. | |
| void | invalidateDepth () |
| Invalidate depth resources when some block above this one has changed. | |
| void | invalidateHeight () |
| Invalidate height resources when a block below this one has changed. | |
| bool | isUsefulDominator (const TraceBlockInfo &TBI) const |
| Assuming that this is a dominator of TBI, determine if it contains useful instruction depths. | |
| void | print (raw_ostream &) const |
| void | dump () const |
| Public Attributes | |
|---|---|
| const MachineBasicBlock * | Pred = nullptr |
| Trace predecessor, or NULL for the first block in the trace. | |
| const MachineBasicBlock * | Succ = nullptr |
| Trace successor, or NULL for the last block in the trace. | |
| unsigned | Head |
| The block number of the head of the trace. (When hasValidDepth()). | |
| unsigned | Tail |
| The block number of the tail of the trace. (When hasValidHeight()). | |
| unsigned | InstrDepth = ~0u |
| Accumulated number of instructions in the trace above this block. | |
| unsigned | InstrHeight = ~0u |
| Accumulated number of instructions in the trace below this block. | |
| bool | HasValidInstrDepths = false |
| Instruction depths have been computed. This implies hasValidDepth(). | |
| bool | HasValidInstrHeights = false |
| Instruction heights have been computed. This implies hasValidHeight(). | |
| unsigned | CriticalPath |
| Critical path length. | |
| SmallVector< LiveInReg, 4 > | LiveIns |
| Live-in registers. |
Per-basic block information that relates to a specific trace through the block.
Convergent traces means that only one of these is required per block in a trace ensemble.
Definition at line 174 of file MachineTraceMetrics.h.
| llvm::MachineTraceMetrics::TraceBlockInfo::TraceBlockInfo ( ) | default |
|---|
◆ dump()
| void llvm::MachineTraceMetrics::TraceBlockInfo::dump ( ) const | inline |
|---|
◆ hasValidDepth()
| bool llvm::MachineTraceMetrics::TraceBlockInfo::hasValidDepth ( ) const | inline |
|---|
◆ hasValidHeight()
| bool llvm::MachineTraceMetrics::TraceBlockInfo::hasValidHeight ( ) const | inline |
|---|
◆ invalidateDepth()
| void llvm::MachineTraceMetrics::TraceBlockInfo::invalidateDepth ( ) | inline |
|---|
◆ invalidateHeight()
| void llvm::MachineTraceMetrics::TraceBlockInfo::invalidateHeight ( ) | inline |
|---|
◆ isUsefulDominator()
◆ print()
| void MachineTraceMetrics::TraceBlockInfo::print | ( | raw_ostream & | OS | ) | const |
|---|
Definition at line 1326 of file MachineTraceMetrics.cpp.
References CriticalPath, hasValidDepth(), hasValidHeight(), HasValidInstrDepths, HasValidInstrHeights, Head, InstrDepth, InstrHeight, Pred, llvm::printMBBReference(), Succ, and Tail.
Referenced by dump().
◆ CriticalPath
unsigned llvm::MachineTraceMetrics::TraceBlockInfo::CriticalPath
◆ HasValidInstrDepths
bool llvm::MachineTraceMetrics::TraceBlockInfo::HasValidInstrDepths = false
◆ HasValidInstrHeights
bool llvm::MachineTraceMetrics::TraceBlockInfo::HasValidInstrHeights = false
◆ Head
unsigned llvm::MachineTraceMetrics::TraceBlockInfo::Head
◆ InstrDepth
unsigned llvm::MachineTraceMetrics::TraceBlockInfo::InstrDepth = ~0u
◆ InstrHeight
unsigned llvm::MachineTraceMetrics::TraceBlockInfo::InstrHeight = ~0u
◆ LiveIns
Live-in registers.
These registers are defined above the current block and used by this block or a block below it. This does not include PHI uses in the current block, but it does include PHI uses in deeper blocks.
Definition at line 253 of file MachineTraceMetrics.h.
◆ Pred
◆ Succ
◆ Tail
unsigned llvm::MachineTraceMetrics::TraceBlockInfo::Tail
The documentation for this struct was generated from the following files:
- include/llvm/CodeGen/MachineTraceMetrics.h
- lib/CodeGen/MachineTraceMetrics.cpp