cpu: Remove the default, globally sized index arrays from StaticInst.
authorGabe Black <gabe.black@gmail.com>
Mon, 7 Dec 2020 12:19:52 +0000 (04:19 -0800)
committerGabe Black <gabe.black@gmail.com>
Tue, 19 Jan 2021 00:12:42 +0000 (00:12 +0000)
All ISAs now allocate their own arrays in all their instructions, making
these arrays unnecessary.

Change-Id: Ie2bc5d7a2903e07703dddd809505cdaaf6c578f5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38382
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/cpu/static_inst.hh

index e5d9753fea8ae5f7f0a99d805ab4782057c8e050..25a49b328c0276a28c2999caa6a92ed3730304ea 100644 (file)
@@ -88,20 +88,13 @@ class StaticInst : public RefCounted, public StaticInstFlags
     /// Binary extended machine instruction type.
     typedef TheISA::ExtMachInst ExtMachInst;
 
-    enum {
-        MaxInstSrcRegs = TheISA::MaxInstSrcRegs,        //< Max source regs
-        MaxInstDestRegs = TheISA::MaxInstDestRegs       //< Max dest regs
-    };
-
     using RegIdArrayPtr = RegId (StaticInst:: *)[];
 
   private:
     /// See srcRegIdx().
-    RegId _srcRegIdx[MaxInstSrcRegs];
     RegIdArrayPtr _srcRegIdxPtr = nullptr;
 
     /// See destRegIdx().
-    RegId _destRegIdx[MaxInstDestRegs];
     RegIdArrayPtr _destRegIdxPtr = nullptr;
 
   protected:
@@ -309,11 +302,7 @@ class StaticInst : public RefCounted, public StaticInstFlags
     /// the fields that are meaningful for the particular
     /// instruction.
     StaticInst(const char *_mnemonic, ExtMachInst _machInst, OpClass __opClass)
-        : _srcRegIdxPtr(
-                reinterpret_cast<RegIdArrayPtr>(&StaticInst::_srcRegIdx)),
-          _destRegIdxPtr(
-                reinterpret_cast<RegIdArrayPtr>(&StaticInst::_destRegIdx)),
-          _opClass(__opClass),
+        : _opClass(__opClass),
           _numSrcRegs(0), _numDestRegs(0), _numFPDestRegs(0),
           _numIntDestRegs(0), _numCCDestRegs(0), _numVecDestRegs(0),
           _numVecElemDestRegs(0), _numVecPredDestRegs(0), machInst(_machInst),