gem5
v20.1.0.0
|
Register Manager Policy abstract class. More...
#include <register_manager_policy.hh>
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 |
virtual void | regStats ()=0 |
Protected Attributes | |
ComputeUnit * | cu |
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 54 of file register_manager_policy.hh.
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::allocateRegisters().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::canAllocateSgprs().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::canAllocateVgprs().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::exec().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::freeRegisters().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::mapSgpr().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::mapVgpr().
|
pure virtual |
Implemented in StaticRegisterManagerPolicy.
Referenced by RegisterManager::regStats().
|
inlinevirtual |
Definition at line 57 of file register_manager_policy.hh.
References cu.
Referenced by RegisterManager::setParent().
|
protected |
Definition at line 83 of file register_manager_policy.hh.
Referenced by StaticRegisterManagerPolicy::allocateRegisters(), StaticRegisterManagerPolicy::canAllocateSgprs(), StaticRegisterManagerPolicy::canAllocateVgprs(), and setParent().