gem5  v22.1.0.0
Public Member Functions | Protected Attributes | List of all members
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

ComputeUnit* gem5::RegisterManagerPolicy::cu
protected

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

Generated on Wed Dec 21 2022 10:23:25 for gem5 by doxygen 1.9.1