OpenASIP
2.0
|
#include <TDGen.hh>
Public Member Functions | |
RegisterClass (const ValueType &vt, const TCEString &name) | |
RegisterClass (const RegisterClass &other) | |
RegisterClass & | operator= (const RegisterClass &other) |
TCEString | name () const |
ValueType | valueType () const |
int | alignment () const |
std::vector< RegisterInfo > | registers () const |
RegisterInfo | registerInfo (int index) const |
size_t | numberOfRegisters () const |
void | addRegisters (const std::vector< RegisterInfo > ®isters) |
Private Attributes | |
TCEString | name_ |
RegisterClass name. More... | |
ValueType | vt_ |
Value type that is supported by this RegisterClass, e.g. v4i32. More... | |
int | alignment_ |
RegisterClass alignment in bits, at least 8. More... | |
std::vector< RegisterInfo > | registers_ |
Register file registers that this RegisterClass uses. More... | |
Represents TableGen RegisterClass class.
Constructor.
vt | ValueType that is supported by the RegisterClass. |
name | Name of the RegisterClass. |
Definition at line 8939 of file TDGen.cc.
References alignment_, and TDGenerator::ValueType::width().
RegisterClass::RegisterClass | ( | const RegisterClass & | other | ) |
Copy constructor.
other | RegisterClass to be copied. |
Definition at line 8953 of file TDGen.cc.
void RegisterClass::addRegisters | ( | const std::vector< RegisterInfo > & | registers | ) |
Sets the registers used by this RegisterClass.
registers | The new registers used by this RegisterClass. |
Definition at line 9033 of file TDGen.cc.
References registers(), and registers_.
Referenced by TDGen::associateRegistersWithVectorRegisterClasses().
int RegisterClass::alignment | ( | ) | const |
Returns the RegisterClass's alignment in bits.
Definition at line 9000 of file TDGen.cc.
References alignment_.
Referenced by TDGen::writeCallingConv(), and TDGen::writeVectorRegisterClasses().
TCEString RegisterClass::name | ( | ) | const |
Returns RegisterClass's name.
Definition at line 8980 of file TDGen.cc.
References name_.
Referenced by TDGen::associatedVectorRegisterClass(), TDGen::createSelectPatterns(), TDGen::genGeneratedTCEPlugin_getLoad(), TDGen::genGeneratedTCEPlugin_getStore(), TDGen::genGeneratedTCEPlugin_getVectorImmediateOpcode(), TDGen::genTCEInstrInfoSIMD_copyPhysVectorReg(), TDGen::genTCETargetLoweringSIMD_addVectorRegisterClasses(), TDGen::genTCETargetLoweringSIMD_associatedVectorRegClass(), TDGen::writeVectorBitConversions(), TDGen::writeVectorImmediateWriteDefs(), TDGen::writeVectorRegisterClasses(), TDGen::writeVectorRegisterMoveDefs(), and TDGen::writeVectorTruncStoreDefs().
size_t RegisterClass::numberOfRegisters | ( | ) | const |
Returns how many registers is used by this RegisterClass.
Definition at line 9023 of file TDGen.cc.
References registers_.
Referenced by TDGen::createVectorRVDRegNums(), TDGen::genTCERegisterInfo_setReservedVectorRegs(), TDGen::writeCallingConv(), and TDGen::writeVectorRegisterClasses().
RegisterClass & RegisterClass::operator= | ( | const RegisterClass & | other | ) |
Value assignment.
other | RegisterClass to be assigned. |
Definition at line 8966 of file TDGen.cc.
References alignment_, name_, registers_, and vt_.
RegisterInfo RegisterClass::registerInfo | ( | int | index | ) | const |
Returns RegisterInfo pointed by the index.
Definition at line 9010 of file TDGen.cc.
References assert, and registers_.
Referenced by TDGen::createVectorRVDRegNums(), TDGen::genTCERegisterInfo_setReservedVectorRegs(), TDGen::writeCallingConv(), and TDGen::writeVectorRegisterClasses().
std::vector<RegisterInfo> TDGenerator::RegisterClass::registers | ( | ) | const |
Referenced by addRegisters().
ValueType RegisterClass::valueType | ( | ) | const |
Returns the supported ValueType.
Definition at line 8990 of file TDGen.cc.
References vt_.
Referenced by TDGen::associateRegistersWithVectorRegisterClasses(), TDGen::createSelectPatterns(), TDGen::createVectorRVDRegNums(), TDGen::genGeneratedTCEPlugin_getVectorImmediateOpcode(), TDGen::genTCERegisterInfo_setReservedVectorRegs(), TDGen::genTCETargetLoweringSIMD_addVectorRegisterClasses(), TDGen::writeCallingConv(), TDGen::writeVectorBitConversions(), TDGen::writeVectorImmediateWriteDefs(), TDGen::writeVectorRegisterClasses(), and TDGen::writeVectorRegisterMoveDefs().
|
private |
RegisterClass alignment in bits, at least 8.
Definition at line 743 of file TDGen.hh.
Referenced by alignment(), operator=(), and RegisterClass().
|
private |
|
private |
Register file registers that this RegisterClass uses.
Definition at line 745 of file TDGen.hh.
Referenced by addRegisters(), numberOfRegisters(), operator=(), and registerInfo().
|
private |
Value type that is supported by this RegisterClass, e.g. v4i32.
Definition at line 741 of file TDGen.hh.
Referenced by operator=(), and valueType().