class ResourceManager
Declaration
class ResourceManager { /* full declaration omitted */ };
Description
A resource manager for processor resource units and groups. This class owns all the ResourceState objects, and it is responsible for acting on requests from a Scheduler by updating the internal state of ResourceState objects. This class doesn't know about instruction itineraries and functional units. In future, it can be extended to support itineraries too through the same public interface.
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:312
Method Overview
- public ResourceManager(const llvm::MCSchedModel & SM)
- public llvm::mca::ResourceStateEvent canBeDispatched(uint64_t ConsumedBuffers) const
- public uint64_t checkAvailability(const llvm::mca::InstrDesc & Desc) const
- public void cycleEvent(SmallVectorImpl<llvm::mca::ResourceRef> & ResourcesFreed)
- public void dump() const
- public uint64_t getAvailableProcResUnits() const
- public uint64_t getProcResUnitMask() const
- public void issueInstruction(const llvm::mca::InstrDesc & Desc, SmallVectorImpl<std::pair<ResourceRef, ResourceCycles>> & Pipes)
- public void releaseBuffers(uint64_t ConsumedBuffers)
- public void releaseResource(uint64_t ResourceID)
- public void reserveBuffers(uint64_t ConsumedBuffers)
- public void reserveResource(uint64_t ResourceID)
- public unsigned int resolveResourceMask(uint64_t Mask) const
- public void setCustomStrategy(std::unique_ptr<ResourceStrategy> S, unsigned int ResourceID)
- public virtual ~ResourceManager()
Methods
¶ResourceManager(const llvm::MCSchedModel& SM)
ResourceManager(const llvm::MCSchedModel& SM)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:387
Parameters
- const llvm::MCSchedModel& SM
¶llvm::mca::ResourceStateEvent canBeDispatched(
uint64_t ConsumedBuffers) const
llvm::mca::ResourceStateEvent canBeDispatched(
uint64_t ConsumedBuffers) const
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:401
Parameters
- uint64_t ConsumedBuffers
¶uint64_t checkAvailability(
const llvm::mca::InstrDesc& Desc) const
uint64_t checkAvailability(
const llvm::mca::InstrDesc& Desc) const
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:427
Parameters
- const llvm::mca::InstrDesc& Desc
¶void cycleEvent(
SmallVectorImpl<llvm::mca::ResourceRef>&
ResourcesFreed)
void cycleEvent(
SmallVectorImpl<llvm::mca::ResourceRef>&
ResourcesFreed)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:436
Parameters
- SmallVectorImpl<llvm::mca::ResourceRef>& ResourcesFreed
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:439
¶uint64_t getAvailableProcResUnits() const
uint64_t getAvailableProcResUnits() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:430
¶uint64_t getProcResUnitMask() const
uint64_t getProcResUnitMask() const
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:429
¶void issueInstruction(
const llvm::mca::InstrDesc& Desc,
SmallVectorImpl<
std::pair<ResourceRef, ResourceCycles>>&
Pipes)
void issueInstruction(
const llvm::mca::InstrDesc& Desc,
SmallVectorImpl<
std::pair<ResourceRef, ResourceCycles>>&
Pipes)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:432
Parameters
- const llvm::mca::InstrDesc& Desc
- SmallVectorImpl< std::pair<ResourceRef, ResourceCycles>>& Pipes
¶void releaseBuffers(uint64_t ConsumedBuffers)
void releaseBuffers(uint64_t ConsumedBuffers)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:414
Parameters
- uint64_t ConsumedBuffers
¶void releaseResource(uint64_t ResourceID)
void releaseResource(uint64_t ResourceID)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:421
Parameters
- uint64_t ResourceID
¶void reserveBuffers(uint64_t ConsumedBuffers)
void reserveBuffers(uint64_t ConsumedBuffers)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:408
Parameters
- uint64_t ConsumedBuffers
¶void reserveResource(uint64_t ResourceID)
void reserveResource(uint64_t ResourceID)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:418
Parameters
- uint64_t ResourceID
¶unsigned int resolveResourceMask(
uint64_t Mask) const
unsigned int resolveResourceMask(
uint64_t Mask) const
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:404
Parameters
- uint64_t Mask
¶void setCustomStrategy(
std::unique_ptr<ResourceStrategy> S,
unsigned int ResourceID)
void setCustomStrategy(
std::unique_ptr<ResourceStrategy> S,
unsigned int ResourceID)
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:392
Parameters
- std::unique_ptr<ResourceStrategy> S
- unsigned int ResourceID
¶virtual ~ResourceManager()
virtual ~ResourceManager()
Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:388