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

Methods

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

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:401

Parameters

uint64_t ConsumedBuffers

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)

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:436

Parameters

SmallVectorImpl<llvm::mca::ResourceRef>& ResourcesFreed

void dump() const

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:439

uint64_t getAvailableProcResUnits() const

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:430

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)

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)

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:414

Parameters

uint64_t ConsumedBuffers

void releaseResource(uint64_t ResourceID)

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:421

Parameters

uint64_t ResourceID

void reserveBuffers(uint64_t ConsumedBuffers)

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:408

Parameters

uint64_t ConsumedBuffers

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

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:404

Parameters

uint64_t Mask

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()

Declared at: llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h:388