20#define DEBUG_TYPE "llvm-mca"
29 unsigned NumRetired = 0;
31 if (MaxRetirePerCycle != 0 && NumRetired == MaxRetirePerCycle)
This file defines the main interface for hardware event listeners.
Legalize the Machine IR a function s Machine IR
This file defines the retire stage of a default instruction pipeline.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Subclass of Error for the sole purpose of identifying the success path in the type system.
Lightweight error class with error context and mandatory checking.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
An InstRef contains both a SourceMgr index and Instruction pair.
SmallVectorImpl< WriteState > & getDefs()
An instruction propagated through the simulated instruction pipeline.
unsigned getRCUTokenID() const
virtual void onInstructionRetired(const InstRef &IR)=0
unsigned getNumRegisterFiles() const
void removeRegisterWrite(const WriteState &WS, MutableArrayRef< unsigned > FreedPhysRegs)
void onInstructionExecuted(Instruction *IS)
Error cycleEnd() override
Called once at the end of each cycle.
void notifyInstructionRetired(const InstRef &IR) const
Error cycleStart() override
Called once at the start of each cycle.
Error execute(InstRef &IR) override
The primary action that this stage performs on instruction IR.
Tracks uses of a register definition (e.g.
This is an optimization pass for GlobalISel generic memory operations.
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
unsigned getMaxRetirePerCycle() const
static const unsigned UnhandledTokenID
void onInstructionExecuted(unsigned TokenID)
const RUToken & getCurrentToken() const
void consumeCurrentToken()