|
gem5
v21.0.1.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 |
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 52 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().
|
inlinevirtual |
Definition at line 55 of file register_manager_policy.hh.
References cu.
Referenced by RegisterManager::setParent().
|
protected |
Definition at line 78 of file register_manager_policy.hh.
Referenced by StaticRegisterManagerPolicy::allocateRegisters(), StaticRegisterManagerPolicy::canAllocateSgprs(), StaticRegisterManagerPolicy::canAllocateVgprs(), and setParent().