14#ifndef LLVM_MCA_HWEVENTLISTENER_H
15#define LLVM_MCA_HWEVENTLISTENER_H
185 virtual void anchor();
This file defines abstractions used by the Pipeline to model register reads, register writes and inst...
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
The instances of the Type class are immutable: once they are created, they are never changed.
virtual ~HWEventListener()=default
virtual void onCycleBegin()
virtual void onReleasedBuffers(const InstRef &Inst, ArrayRef< unsigned > Buffers)
virtual void onReservedBuffers(const InstRef &Inst, ArrayRef< unsigned > Buffers)
virtual void onEvent(const HWStallEvent &Event)
virtual void onCycleEnd()
virtual void onEvent(const HWInstructionEvent &Event)
virtual void onEvent(const HWPressureEvent &Event)
virtual void onResourceAvailable(const ResourceRef &RRef)
ArrayRef< unsigned > UsedPhysRegs
HWInstructionDispatchedEvent(const InstRef &IR, ArrayRef< unsigned > Regs, unsigned UOps)
HWInstructionEvent(unsigned type, const InstRef &Inst)
ArrayRef< ResourceUse > UsedResources
HWInstructionIssuedEvent(const InstRef &IR, ArrayRef< ResourceUse > UR)
HWInstructionRetiredEvent(const InstRef &IR, ArrayRef< unsigned > Regs)
ArrayRef< unsigned > FreedPhysRegs
HWPressureEvent(GenericReason reason, ArrayRef< InstRef > Insts, uint64_t Mask=0)
ArrayRef< InstRef > AffectedInstructions
const uint64_t ResourceMask
HWStallEvent(unsigned type, const InstRef &Inst)
An InstRef contains both a SourceMgr index and Instruction pair.
Helper functions used by various pipeline components.
std::pair< ResourceRef, ReleaseAtCycles > ResourceUse
std::pair< uint64_t, uint64_t > ResourceRef
A resource unit identifier.
This is an optimization pass for GlobalISel generic memory operations.