gem5 v24.0.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 |
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 53 of file register_manager_policy.hh.
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::allocateRegisters().
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::canAllocateSgprs().
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::canAllocateVgprs().
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::exec().
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::freeRegisters().
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::mapSgpr().
|
pure virtual |
Implemented in gem5::StaticRegisterManagerPolicy.
Referenced by gem5::RegisterManager::mapVgpr().
|
inlinevirtual |
Definition at line 56 of file register_manager_policy.hh.
References cu.
Referenced by gem5::RegisterManager::setParent().
|
protected |
Definition at line 79 of file register_manager_policy.hh.
Referenced by gem5::StaticRegisterManagerPolicy::allocateRegisters(), gem5::StaticRegisterManagerPolicy::canAllocateSgprs(), gem5::StaticRegisterManagerPolicy::canAllocateVgprs(), and setParent().