Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/38389 )
Change subject: arch: Get rid of global maximums for numbers of
source/dest/misc regs.
......................................................................
arch: Get rid of global maximums for numbers of source/dest/misc regs.
Change-Id: I6881572daedf0f0e9ff6aee4f174671d02ef743d
---
M src/arch/SConscript
M src/arch/arm/registers.hh
M src/arch/isa_parser/isa_parser.py
M src/arch/isa_parser/operand_list.py
M src/arch/mips/registers.hh
M src/arch/power/registers.hh
M src/arch/riscv/registers.hh
M src/arch/sparc/registers.hh
M src/arch/x86/registers.hh
9 files changed, 7 insertions(+), 55 deletions(-)
diff --git a/src/arch/SConscript b/src/arch/SConscript
index b97881d..a4825e5 100644
--- a/src/arch/SConscript
+++ b/src/arch/SConscript
@@ -185,8 +185,6 @@
add_gen('exec-g.cc.inc')
add_gen('exec-ns.cc.inc')
- add_gen('max_inst_regs.hh')
-
# These generated files are also top level sources.
def source_gen(name):
diff --git a/src/arch/arm/registers.hh b/src/arch/arm/registers.hh
index 630a145..0955906 100644
--- a/src/arch/arm/registers.hh
+++ b/src/arch/arm/registers.hh
@@ -42,22 +42,14 @@
#define __ARCH_ARM_REGISTERS_HH__
#include "arch/arm/ccregs.hh"
-#include "arch/arm/generated/max_inst_regs.hh"
#include "arch/arm/intregs.hh"
#include "arch/arm/miscregs.hh"
#include "arch/arm/types.hh"
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
-namespace ArmISA {
-
-
-// For a predicated instruction, we need all the
-// destination registers to also be sources
-const int MaxInstSrcRegs = ArmISAInst::MaxInstDestRegs +
- ArmISAInst::MaxInstSrcRegs;
-using ArmISAInst::MaxInstDestRegs;
-using ArmISAInst::MaxMiscDestRegs;
+namespace ArmISA
+{
// Number of VecElem per Vector Register considering only pre-SVE
// Advanced SIMD registers.
diff --git a/src/arch/isa_parser/isa_parser.py
b/src/arch/isa_parser/isa_parser.py
index 9ca813e..53348df 100755
--- a/src/arch/isa_parser/isa_parser.py
+++ b/src/arch/isa_parser/isa_parser.py
@@ -526,8 +526,6 @@
symbols = ('makeList', 're')
self.exportContext = dict([(s, eval(s)) for s in symbols])
- self.maxInstSrcRegs = 0
- self.maxInstDestRegs = 0
self.maxMiscDestRegs = 0
def operandsRE(self):
@@ -677,13 +675,6 @@
print('#include "%s"' % fn, file=f)
print('}', file=f)
- # max_inst_regs.hh
- self.update('max_inst_regs.hh',
- '''namespace %(namespace)s {
- const int MaxInstSrcRegs = %(maxInstSrcRegs)d;
- const int MaxInstDestRegs = %(maxInstDestRegs)d;
- const int MaxMiscDestRegs = %(maxMiscDestRegs)d;\n}\n''' % self)
-
scaremonger_template ='''// DO NOT EDIT
// This file was automatically generated from an ISA description:
// %(filename)s
diff --git a/src/arch/isa_parser/operand_list.py
b/src/arch/isa_parser/operand_list.py
index cea3ae4..3da7386 100755
--- a/src/arch/isa_parser/operand_list.py
+++ b/src/arch/isa_parser/operand_list.py
@@ -133,11 +133,6 @@
self.predRead = any(i.hasReadPred() for i in self.items)
self.predWrite = any(i.hasWritePred() for i in self.items)
- parser.maxInstSrcRegs = max(parser.maxInstSrcRegs, self.numSrcRegs)
- parser.maxInstDestRegs = max(parser.maxInstDestRegs,
self.numDestRegs)
- parser.maxMiscDestRegs = max(parser.maxMiscDestRegs,
- self.numMiscDestRegs)
-
# now make a final pass to finalize op_desc fields that may depend
# on the register enumeration
for op_desc in self.items:
diff --git a/src/arch/mips/registers.hh b/src/arch/mips/registers.hh
index aaebf35..3deef88 100644
--- a/src/arch/mips/registers.hh
+++ b/src/arch/mips/registers.hh
@@ -32,7 +32,6 @@
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
-#include "arch/mips/generated/max_inst_regs.hh"
#include "base/logging.hh"
#include "base/types.hh"
@@ -41,10 +40,6 @@
namespace MipsISA
{
-using MipsISAInst::MaxInstSrcRegs;
-using MipsISAInst::MaxInstDestRegs;
-using MipsISAInst::MaxMiscDestRegs;
-
// Constants Related to the number of registers
const int NumIntArchRegs = 32;
const int NumIntSpecialRegs = 9;
diff --git a/src/arch/power/registers.hh b/src/arch/power/registers.hh
index a6d28a8..b5a3321 100644
--- a/src/arch/power/registers.hh
+++ b/src/arch/power/registers.hh
@@ -31,18 +31,11 @@
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
-#include "arch/power/generated/max_inst_regs.hh"
#include "arch/power/miscregs.hh"
#include "base/types.hh"
-namespace PowerISA {
-
-using PowerISAInst::MaxInstSrcRegs;
-using PowerISAInst::MaxInstDestRegs;
-
-// Power writes a misc register outside of the isa parser, so it can't
-// be detected by it. Manually add it here.
-const int MaxMiscDestRegs = PowerISAInst::MaxMiscDestRegs + 1;
+namespace PowerISA
+{
// Not applicable to Power
using VecElem = ::DummyVecElem;
diff --git a/src/arch/riscv/registers.hh b/src/arch/riscv/registers.hh
index ed8b916..c0cc4ed 100644
--- a/src/arch/riscv/registers.hh
+++ b/src/arch/riscv/registers.hh
@@ -52,15 +52,11 @@
#include "arch/generic/types.hh"
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
-#include "arch/riscv/generated/max_inst_regs.hh"
#include "base/bitunion.hh"
#include "base/types.hh"
-namespace RiscvISA {
-
-using RiscvISAInst::MaxInstSrcRegs;
-using RiscvISAInst::MaxInstDestRegs;
-const int MaxMiscDestRegs = 2;
+namespace RiscvISA
+{
// Not applicable to RISC-V
using VecElem = ::DummyVecElem;
diff --git a/src/arch/sparc/registers.hh b/src/arch/sparc/registers.hh
index 6fd6577..0602176 100644
--- a/src/arch/sparc/registers.hh
+++ b/src/arch/sparc/registers.hh
@@ -31,7 +31,6 @@
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
-#include "arch/sparc/generated/max_inst_regs.hh"
#include "arch/sparc/miscregs.hh"
#include "arch/sparc/sparc_traits.hh"
#include "base/types.hh"
@@ -39,10 +38,6 @@
namespace SparcISA
{
-using SparcISAInst::MaxInstSrcRegs;
-using SparcISAInst::MaxInstDestRegs;
-using SparcISAInst::MaxMiscDestRegs;
-
// Not applicable to SPARC
using VecElem = ::DummyVecElem;
using VecReg = ::DummyVecReg;
diff --git a/src/arch/x86/registers.hh b/src/arch/x86/registers.hh
index c041a07..74cc528 100644
--- a/src/arch/x86/registers.hh
+++ b/src/arch/x86/registers.hh
@@ -41,7 +41,6 @@
#include "arch/generic/vec_pred_reg.hh"
#include "arch/generic/vec_reg.hh"
-#include "arch/x86/generated/max_inst_regs.hh"
#include "arch/x86/regs/int.hh"
#include "arch/x86/regs/ccr.hh"
#include "arch/x86/regs/misc.hh"
@@ -49,9 +48,7 @@
namespace X86ISA
{
-using X86ISAInst::MaxInstSrcRegs;
-using X86ISAInst::MaxInstDestRegs;
-using X86ISAInst::MaxMiscDestRegs;
+
const int NumMiscRegs = NUM_MISCREGS;
const int NumIntArchRegs = NUM_INTREGS;
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/38389
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: I6881572daedf0f0e9ff6aee4f174671d02ef743d
Gerrit-Change-Number: 38389
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