cpu: Add a [] operator to the RegClass type.

This will create a RegId with the given index.

Change-Id: I2c3e6859fce80ede5cdb70f85d881b514b6babb2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49782
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Gabe Black
2021-08-30 20:06:26 -07:00
parent 261fd6122e
commit 705351768c

View File

@@ -128,6 +128,8 @@ class RegClass
inline iterator begin() const;
inline iterator end() const;
inline constexpr RegId operator[](RegIndex idx) const;
};
/** Register ID: describe an architectural register with its class and index.
@@ -280,6 +282,12 @@ RegClass::end() const
return RegClassIterator(*this, numRegs());
}
constexpr RegId
RegClass::operator[](RegIndex idx) const
{
return RegId(type(), idx);
}
template <typename ValueType>
class TypedRegClassOps : public RegClassOps
{