gem5  v21.2.1.1
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:

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


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)

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

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

Generated on Wed May 4 2022 12:14:45 for gem5 by doxygen 1.8.17