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: