Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/51235 )

Change subject: arch: Remove unused register flattening methods.
......................................................................

arch: Remove unused register flattening methods.

Most flattening methods in the ISA classes aren't used. The one
exception is the flattenMiscIndex function in ARM.

Change-Id: I26088692fe3f56914009afb0203f59da7cf6023a
---
M src/arch/riscv/isa.hh
M src/arch/sparc/isa.hh
M src/arch/power/isa.hh
M src/arch/arm/isa.hh
M src/arch/x86/isa.hh
M src/arch/mips/isa.hh
6 files changed, 12 insertions(+), 226 deletions(-)



diff --git a/src/arch/arm/isa.hh b/src/arch/arm/isa.hh
index c8d7a7a..6468697 100644
--- a/src/arch/arm/isa.hh
+++ b/src/arch/arm/isa.hh
@@ -534,97 +534,6 @@
         void setMiscRegNoEffect(int misc_reg, RegVal val);
         void setMiscReg(int misc_reg, RegVal val);

-        RegId
-        flattenRegId(const RegId& regId) const
-        {
-            switch (regId.classValue()) {
-              case IntRegClass:
-                return intRegClass[flattenIntIndex(regId.index())];
-              case FloatRegClass:
-                panic("ARM doesn't use FloatRegClass.");
-              case VecRegClass:
-                return vecRegClass[flattenVecIndex(regId.index())];
-              case VecElemClass:
-                return vecElemClass[flattenVecElemIndex(regId.index())];
-              case VecPredRegClass:
-                return vecPredRegClass[flattenVecPredIndex(regId.index())];
-              case CCRegClass:
-                return ccRegClass[flattenCCIndex(regId.index())];
-              case MiscRegClass:
-                return miscRegClass[flattenMiscIndex(regId.index())];
-              case InvalidRegClass:
-                panic("Tried to flatten an invalid RegId.");
-            }
-            return RegId();
-        }
-
-        int
-        flattenIntIndex(int reg) const
-        {
-            assert(reg >= 0);
-            if (reg < int_reg::NumArchRegs) {
-                return intRegMap[reg];
-            } else if (reg < int_reg::NumRegs) {
-                return reg;
-            } else if (reg == int_reg::Spx) {
-                CPSR cpsr = miscRegs[MISCREG_CPSR];
-                ExceptionLevel el = opModeToEL(
-                    (OperatingMode) (uint8_t) cpsr.mode);
-                if (!cpsr.sp && el != EL0)
-                    return int_reg::Sp0;
-                switch (el) {
-                  case EL3:
-                    return int_reg::Sp3;
-                  case EL2:
-                    return int_reg::Sp2;
-                  case EL1:
-                    return int_reg::Sp1;
-                  case EL0:
-                    return int_reg::Sp0;
-                  default:
-                    panic("Invalid exception level");
-                    return 0;  // Never happens.
-                }
-            } else {
-                return flattenIntRegModeIndex(reg);
-            }
-        }
-
-        int
-        flattenFloatIndex(int reg) const
-        {
-            assert(reg >= 0);
-            return reg;
-        }
-
-        int
-        flattenVecIndex(int reg) const
-        {
-            assert(reg >= 0);
-            return reg;
-        }
-
-        int
-        flattenVecElemIndex(int reg) const
-        {
-            assert(reg >= 0);
-            return reg;
-        }
-
-        int
-        flattenVecPredIndex(int reg) const
-        {
-            assert(reg >= 0);
-            return reg;
-        }
-
-        int
-        flattenCCIndex(int reg) const
-        {
-            assert(reg >= 0);
-            return reg;
-        }
-
         int
         flattenMiscIndex(int reg) const
         {
diff --git a/src/arch/mips/isa.hh b/src/arch/mips/isa.hh
index e8acb14..2b041e3 100644
--- a/src/arch/mips/isa.hh
+++ b/src/arch/mips/isa.hh
@@ -135,17 +135,6 @@
       public:
         ISA(const Params &p);

-        RegId flattenRegId(const RegId& regId) const { return regId; }
-
-        int flattenIntIndex(int reg) const { return reg; }
-        int flattenFloatIndex(int reg) const { return reg; }
-        int flattenVecIndex(int reg) const { return reg; }
-        int flattenVecElemIndex(int reg) const { return reg; }
-        int flattenVecPredIndex(int reg) const { return reg; }
-        // dummy
-        int flattenCCIndex(int reg) const { return reg; }
-        int flattenMiscIndex(int reg) const { return reg; }
-
         bool
         inUserMode() const override
         {
diff --git a/src/arch/power/isa.hh b/src/arch/power/isa.hh
index d563ebe..0ac96b0 100644
--- a/src/arch/power/isa.hh
+++ b/src/arch/power/isa.hh
@@ -85,51 +85,6 @@
         fatal("Power does not currently have any misc regs defined\n");
     }

-    RegId flattenRegId(const RegId& regId) const { return regId; }
-
-    int
-    flattenIntIndex(int reg) const
-    {
-        return reg;
-    }
-
-    int
-    flattenFloatIndex(int reg) const
-    {
-        return reg;
-    }
-
-    int
-    flattenVecIndex(int reg) const
-    {
-        return reg;
-    }
-
-    int
-    flattenVecElemIndex(int reg) const
-    {
-        return reg;
-    }
-
-    int
-    flattenVecPredIndex(int reg) const
-    {
-        return reg;
-    }
-
-    // dummy
-    int
-    flattenCCIndex(int reg) const
-    {
-        return reg;
-    }
-
-    int
-    flattenMiscIndex(int reg) const
-    {
-        return reg;
-    }
-
     bool
     inUserMode() const override
     {
diff --git a/src/arch/riscv/isa.hh b/src/arch/riscv/isa.hh
index 4521c52..2270846 100644
--- a/src/arch/riscv/isa.hh
+++ b/src/arch/riscv/isa.hh
@@ -82,15 +82,6 @@
     void setMiscRegNoEffect(int misc_reg, RegVal val);
     void setMiscReg(int misc_reg, RegVal val);

-    RegId flattenRegId(const RegId &regId) const { return regId; }
-    int flattenIntIndex(int reg) const { return reg; }
-    int flattenFloatIndex(int reg) const { return reg; }
-    int flattenVecIndex(int reg) const { return reg; }
-    int flattenVecElemIndex(int reg) const { return reg; }
-    int flattenVecPredIndex(int reg) const { return reg; }
-    int flattenCCIndex(int reg) const { return reg; }
-    int flattenMiscIndex(int reg) const { return reg; }
-
     bool inUserMode() const override { return true; }
     void copyRegsFrom(ThreadContext *src) override;

diff --git a/src/arch/sparc/isa.hh b/src/arch/sparc/isa.hh
index 6be7ba7..ae6980f 100644
--- a/src/arch/sparc/isa.hh
+++ b/src/arch/sparc/isa.hh
@@ -187,40 +187,6 @@
     void setMiscRegNoEffect(int miscReg, RegVal val);
     void setMiscReg(int miscReg, RegVal val);

-    RegId
-    flattenRegId(const RegId& regId) const
-    {
-        switch (regId.classValue()) {
-          case IntRegClass:
-            return intRegClass[flattenIntIndex(regId.index())];
-          case FloatRegClass:
-            return floatRegClass[flattenFloatIndex(regId.index())];
-          case MiscRegClass:
-            return miscRegClass[flattenMiscIndex(regId.index())];
-          default:
-            break;
-        }
-        return regId;
-    }
-
-    int
-    flattenIntIndex(int reg) const
-    {
-        assert(reg < TotalInstIntRegs);
-        RegIndex flatIndex = intRegMap[reg];
-        assert(flatIndex < int_reg::NumRegs);
-        return flatIndex;
-    }
-
-    int flattenFloatIndex(int reg) const { return reg; }
-    int flattenVecIndex(int reg) const { return reg; }
-    int flattenVecElemIndex(int reg) const { return reg; }
-    int flattenVecPredIndex(int reg) const { return reg; }
-
-    // dummy
-    int flattenCCIndex(int reg) const { return reg; }
-    int flattenMiscIndex(int reg) const { return reg; }
-
     uint64_t
     getExecutingAsid() const override
     {
diff --git a/src/arch/x86/isa.hh b/src/arch/x86/isa.hh
index fdfc1c2..9e78e00 100644
--- a/src/arch/x86/isa.hh
+++ b/src/arch/x86/isa.hh
@@ -71,42 +71,6 @@
     void setMiscRegNoEffect(int miscReg, RegVal val);
     void setMiscReg(int miscReg, RegVal val);

-    RegId
-    flattenRegId(const RegId& regId) const
-    {
-        switch (regId.classValue()) {
-          case IntRegClass:
-            return intRegClass[flattenIntIndex(regId.index())];
-          case FloatRegClass:
-            return floatRegClass[flattenFloatIndex(regId.index())];
-          case CCRegClass:
-            return ccRegClass[flattenCCIndex(regId.index())];
-          case MiscRegClass:
-            return miscRegClass[flattenMiscIndex(regId.index())];
-          default:
-            break;
-        }
-        return regId;
-    }
-
-    int flattenIntIndex(int reg) const { return reg & ~IntFoldBit; }
-
-    int
-    flattenFloatIndex(int reg) const
-    {
-        if (reg >= float_reg::NumRegs) {
-            reg = float_reg::stack(reg - float_reg::NumRegs,
-                                   regVal[misc_reg::X87Top]);
-        }
-        return reg;
-    }
-
-    int flattenVecIndex(int reg) const { return reg; }
-    int flattenVecElemIndex(int reg) const { return reg; }
-    int flattenVecPredIndex(int reg) const { return reg; }
-    int flattenCCIndex(int reg) const { return reg; }
-    int flattenMiscIndex(int reg) const { return reg; }
-
     bool
     inUserMode() const override
     {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/51235
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I26088692fe3f56914009afb0203f59da7cf6023a
Gerrit-Change-Number: 51235
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to