gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::RegisterManagerPolicy Class Referenceabstract

Register Manager Policy abstract class. More...

#include <register_manager_policy.hh>

Inheritance diagram for gem5::RegisterManagerPolicy:
gem5::StaticRegisterManagerPolicy

Public Member Functions

virtual void setParent (ComputeUnit *_cu)
 
virtual void exec ()=0
 
virtual int mapVgpr (Wavefront *w, int vgprIndex)=0
 
virtual int mapSgpr (Wavefront *w, int sgprIndex)=0
 
virtual bool canAllocateVgprs (int simdId, int nWfs, int demandPerWf)=0
 
virtual bool canAllocateSgprs (int simdId, int nWfs, int demandPerWf)=0
 
virtual void allocateRegisters (Wavefront *w, int vectorDemand, int scalarDemand)=0
 
virtual void freeRegisters (Wavefront *w)=0
 

Protected Attributes

ComputeUnitcu
 

Detailed Description

Register Manager Policy abstract class.

A Register Manager Policy implements all of the functionality of the Register Manager, including register mapping, allocation, and freeing. Different policies may be implemented that support different architectures or different methods of mapping and allocation.

Definition at line 53 of file register_manager_policy.hh.

Member Function Documentation

◆ allocateRegisters()

virtual void gem5::RegisterManagerPolicy::allocateRegisters ( Wavefront * w,
int vectorDemand,
int scalarDemand )
pure virtual

◆ canAllocateSgprs()

virtual bool gem5::RegisterManagerPolicy::canAllocateSgprs ( int simdId,
int nWfs,
int demandPerWf )
pure virtual

◆ canAllocateVgprs()

virtual bool gem5::RegisterManagerPolicy::canAllocateVgprs ( int simdId,
int nWfs,
int demandPerWf )
pure virtual

◆ exec()

virtual void gem5::RegisterManagerPolicy::exec ( )
pure virtual

◆ freeRegisters()

virtual void gem5::RegisterManagerPolicy::freeRegisters ( Wavefront * w)
pure virtual

◆ mapSgpr()

virtual int gem5::RegisterManagerPolicy::mapSgpr ( Wavefront * w,
int sgprIndex )
pure virtual

◆ mapVgpr()

virtual int gem5::RegisterManagerPolicy::mapVgpr ( Wavefront * w,
int vgprIndex )
pure virtual

◆ setParent()

virtual void gem5::RegisterManagerPolicy::setParent ( ComputeUnit * _cu)
inlinevirtual

Definition at line 56 of file register_manager_policy.hh.

References cu.

Referenced by gem5::RegisterManager::setParent().

Member Data Documentation

◆ cu


The documentation for this class was generated from the following file:

Generated on Tue Jun 18 2024 16:24:13 for gem5 by doxygen 1.11.0