gem5  v22.0.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
gem5::RegClass Class Reference

#include <reg_class.hh>

Public Member Functions

constexpr RegClass (size_t num_regs, const debug::Flag &debug_flag, size_t reg_bytes=sizeof(RegVal))
 
constexpr RegClass (size_t num_regs, RegClassOps &new_ops, const debug::Flag &debug_flag, size_t reg_bytes=sizeof(RegVal))
 
constexpr size_t numRegs () const
 
constexpr size_t regBytes () const
 
constexpr size_t regShift () const
 
constexpr const debug::Flagdebug () const
 
std::string regName (const RegId &id) const
 
std::string valString (const void *val) const
 

Private Attributes

size_t _numRegs
 
size_t _regBytes
 
size_t _regShift
 
RegClassOps_ops = &defaultOps
 
const debug::FlagdebugFlag
 

Static Private Attributes

static RegClassOps defaultOps
 

Detailed Description

Definition at line 81 of file reg_class.hh.

Constructor & Destructor Documentation

◆ RegClass() [1/2]

constexpr gem5::RegClass::RegClass ( size_t  num_regs,
const debug::Flag debug_flag,
size_t  reg_bytes = sizeof(RegVal) 
)
inlineconstexpr

Definition at line 96 of file reg_class.hh.

◆ RegClass() [2/2]

constexpr gem5::RegClass::RegClass ( size_t  num_regs,
RegClassOps new_ops,
const debug::Flag debug_flag,
size_t  reg_bytes = sizeof(RegVal) 
)
inlineconstexpr

Definition at line 101 of file reg_class.hh.

References _ops.

Member Function Documentation

◆ debug()

constexpr const debug::Flag& gem5::RegClass::debug ( ) const
inlineconstexpr

Definition at line 111 of file reg_class.hh.

References debugFlag.

◆ numRegs()

constexpr size_t gem5::RegClass::numRegs ( ) const
inlineconstexpr

Definition at line 108 of file reg_class.hh.

References _numRegs.

Referenced by gem5::o3::SimpleRenameMap::init().

◆ regBytes()

constexpr size_t gem5::RegClass::regBytes ( ) const
inlineconstexpr

Definition at line 109 of file reg_class.hh.

References _regBytes.

Referenced by valString().

◆ regName()

std::string gem5::RegClass::regName ( const RegId id) const
inline

Definition at line 113 of file reg_class.hh.

References _ops, and gem5::RegClassOps::regName().

◆ regShift()

constexpr size_t gem5::RegClass::regShift ( ) const
inlineconstexpr

Definition at line 110 of file reg_class.hh.

References _regShift.

◆ valString()

std::string gem5::RegClass::valString ( const void *  val) const
inline

Member Data Documentation

◆ _numRegs

size_t gem5::RegClass::_numRegs
private

Definition at line 84 of file reg_class.hh.

Referenced by numRegs().

◆ _ops

RegClassOps* gem5::RegClass::_ops = &defaultOps
private

Definition at line 92 of file reg_class.hh.

Referenced by RegClass(), regName(), and valString().

◆ _regBytes

size_t gem5::RegClass::_regBytes
private

Definition at line 85 of file reg_class.hh.

Referenced by regBytes().

◆ _regShift

size_t gem5::RegClass::_regShift
private

Definition at line 89 of file reg_class.hh.

Referenced by regShift().

◆ debugFlag

const debug::Flag& gem5::RegClass::debugFlag
private

Definition at line 93 of file reg_class.hh.

Referenced by debug().

◆ defaultOps

RegClassOps gem5::RegClass::defaultOps
inlinestaticprivate

Definition at line 91 of file reg_class.hh.


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

Generated on Wed Jul 13 2022 10:40:09 for gem5 by doxygen 1.8.17