cpu,alpha,mips,power,riscv,sparc: Get rid of eaComp and memAccInst.

Neither of these were used, particularly memAccInst.

Change-Id: I4ac9e44cf624e5de42519d586d7b699f08a2cdfc
Reviewed-on: https://gem5-review.googlesource.com/6601
Maintainer: Gabe Black <gabeblack@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
diff --git a/src/arch/alpha/isa/mem.isa b/src/arch/alpha/isa/mem.isa
index 6756b72..0c8a404 100644
--- a/src/arch/alpha/isa/mem.isa
+++ b/src/arch/alpha/isa/mem.isa
@@ -130,7 +130,6 @@
         %(class_name)s(ExtMachInst machInst);
 
         Fault execute(ExecContext *, Trace::InstRecord *) const;
-        Fault eaComp(ExecContext *, Trace::InstRecord *) const;
         Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
         Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
     };
@@ -144,27 +143,6 @@
     }
 }};
 
-def template EACompExecute {{
-    Fault %(class_name)s::eaComp(ExecContext *xc,
-                                 Trace::InstRecord *traceData) const
-    {
-        Addr EA;
-        Fault fault = NoFault;
-
-        %(fp_enable_check)s;
-        %(op_decl)s;
-        %(op_rd)s;
-        %(ea_code)s;
-
-        if (fault == NoFault) {
-            %(op_wb)s;
-            xc->setEA(EA);
-        }
-
-        return fault;
-    }
-}};
-
 
 def template LoadExecute {{
     Fault %(class_name)s::execute(ExecContext *xc,
@@ -467,7 +445,6 @@
             LoadStoreConstructor.subst(iop),
             decode_template.subst(iop),
             fullExecTemplate.subst(iop)
-            + EACompExecute.subst(iop)
             + initiateAccTemplate.subst(iop)
             + completeAccTemplate.subst(iop))
 }};
diff --git a/src/arch/mips/isa/formats/mem.isa b/src/arch/mips/isa/formats/mem.isa
index 671c764..4e1009e 100644
--- a/src/arch/mips/isa/formats/mem.isa
+++ b/src/arch/mips/isa/formats/mem.isa
@@ -143,7 +143,6 @@
         %(class_name)s(ExtMachInst machInst);
 
         Fault execute(ExecContext *, Trace::InstRecord *) const;
-        Fault eaComp(ExecContext *, Trace::InstRecord *) const;
         Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
         Fault completeAcc(Packet *, ExecContext *, Trace::InstRecord *) const;
     };
@@ -158,34 +157,6 @@
     }
 }};
 
-
-def template EACompExecute {{
-    Fault
-    %(class_name)s::eaComp(ExecContext *xc, Trace::InstRecord *traceData) const
-    {
-        Addr EA;
-        Fault fault = NoFault;
-
-        if (this->isFloating()) {
-            %(fp_enable_check)s;
-
-            if(fault != NoFault)
-                return fault;
-        }
-
-        %(op_decl)s;
-        %(op_rd)s;
-        %(ea_code)s;
-
-        // NOTE: Trace Data is written using execute or completeAcc templates
-        if (fault == NoFault) {
-            xc->setEA(EA);
-        }
-
-        return fault;
-    }
-}};
-
 def template LoadExecute {{
     Fault %(class_name)s::execute(ExecContext *xc,
                                   Trace::InstRecord *traceData) const
diff --git a/src/arch/mips/isa/formats/util.isa b/src/arch/mips/isa/formats/util.isa
index 7083380..a79f205 100644
--- a/src/arch/mips/isa/formats/util.isa
+++ b/src/arch/mips/isa/formats/util.isa
@@ -71,7 +71,6 @@
             LoadStoreConstructor.subst(iop),
             decode_template.subst(iop),
             fullExecTemplate.subst(iop)
-            + EACompExecute.subst(iop)
             + initiateAccTemplate.subst(iop)
             + completeAccTemplate.subst(iop))
 }};
diff --git a/src/arch/power/insts/mem.hh b/src/arch/power/insts/mem.hh
index a587426..0a8dc49 100644
--- a/src/arch/power/insts/mem.hh
+++ b/src/arch/power/insts/mem.hh
@@ -45,19 +45,11 @@
 
     /// Memory request flags.  See mem_req_base.hh.
     unsigned memAccessFlags;
-    /// Pointer to EAComp object.
-    const StaticInstPtr eaCompPtr;
-    /// Pointer to MemAcc object.
-    const StaticInstPtr memAccPtr;
 
     /// Constructor
-    MemOp(const char *mnem, MachInst _machInst, OpClass __opClass,
-          StaticInstPtr _eaCompPtr = nullStaticInstPtr,
-          StaticInstPtr _memAccPtr = nullStaticInstPtr)
+    MemOp(const char *mnem, MachInst _machInst, OpClass __opClass)
       : PowerStaticInst(mnem, _machInst, __opClass),
-        memAccessFlags(0),
-        eaCompPtr(_eaCompPtr),
-        memAccPtr(_memAccPtr)
+        memAccessFlags(0)
     {
     }
 
@@ -75,11 +67,8 @@
     int16_t disp;
 
     /// Constructor
-    MemDispOp(const char *mnem, MachInst _machInst, OpClass __opClass,
-              StaticInstPtr _eaCompPtr = nullStaticInstPtr,
-              StaticInstPtr _memAccPtr = nullStaticInstPtr)
-      : MemOp(mnem, _machInst, __opClass, _eaCompPtr, _memAccPtr),
-        disp(machInst.d)
+    MemDispOp(const char *mnem, MachInst _machInst, OpClass __opClass)
+      : MemOp(mnem, _machInst, __opClass), disp(machInst.d)
     {
     }
 
diff --git a/src/arch/riscv/isa/formats/amo.isa b/src/arch/riscv/isa/formats/amo.isa
index ea4e148..e3be237 100644
--- a/src/arch/riscv/isa/formats/amo.isa
+++ b/src/arch/riscv/isa/formats/amo.isa
@@ -52,7 +52,6 @@
             %(class_name)sLoad(ExtMachInst machInst, %(class_name)s *_p);
 
             Fault execute(ExecContext *, Trace::InstRecord *) const;
-            Fault eaComp(ExecContext *, Trace::InstRecord *) const;
             Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
             Fault completeAcc(PacketPtr, ExecContext *,
                               Trace::InstRecord *) const;
@@ -65,7 +64,6 @@
             %(class_name)sStore(ExtMachInst machInst, %(class_name)s *_p);
 
             Fault execute(ExecContext *, Trace::InstRecord *) const;
-            Fault eaComp(ExecContext *, Trace::InstRecord *) const;
             Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
             Fault completeAcc(PacketPtr, ExecContext *,
                               Trace::InstRecord *) const;
@@ -212,27 +210,6 @@
     }
 }};
 
-def template AtomicMemOpEACompExecute {{
-    Fault
-    %(class_name)s::%(class_name)s%(op_name)s::eaComp(ExecContext *xc,
-        Trace::InstRecord *traceData) const
-    {
-        Addr EA;
-        Fault fault = NoFault;
-
-        %(op_decl)s;
-        %(op_rd)s;
-        %(ea_code)s;
-
-        if (fault == NoFault) {
-            %(op_wb)s;
-            xc->setEA(EA);
-        }
-
-        return fault;
-    }
-}};
-
 def template AtomicMemOpLoadInitiateAcc {{
     Fault %(class_name)s::%(class_name)sLoad::initiateAcc(ExecContext *xc,
         Trace::InstRecord *traceData) const
@@ -349,7 +326,6 @@
     decoder_output = LRSCConstructor.subst(iop)
     decode_block = BasicDecode.subst(iop)
     exec_output = LoadExecute.subst(iop) \
-        + EACompExecute.subst(iop) \
         + LoadInitiateAcc.subst(iop) \
         + LoadCompleteAcc.subst(iop)
 }};
@@ -368,7 +344,6 @@
     decoder_output = LRSCConstructor.subst(iop)
     decode_block = BasicDecode.subst(iop)
     exec_output = StoreCondExecute.subst(iop) \
-        + EACompExecute.subst(iop) \
         + StoreInitiateAcc.subst(iop) \
         + StoreCondCompleteAcc.subst(iop)
 }};
@@ -387,7 +362,6 @@
         load_inst_flags)
     decoder_output += AtomicMemOpLoadConstructor.subst(load_iop)
     exec_output += AtomicMemOpLoadExecute.subst(load_iop) \
-        + AtomicMemOpEACompExecute.subst(load_iop) \
         + AtomicMemOpLoadInitiateAcc.subst(load_iop) \
         + AtomicMemOpLoadCompleteAcc.subst(load_iop)
 
@@ -397,7 +371,6 @@
         store_inst_flags)
     decoder_output += AtomicMemOpStoreConstructor.subst(store_iop)
     exec_output += AtomicMemOpStoreExecute.subst(store_iop) \
-        + AtomicMemOpEACompExecute.subst(store_iop) \
         + AtomicMemOpStoreInitiateAcc.subst(store_iop) \
         + AtomicMemOpStoreCompleteAcc.subst(store_iop)
 }};
diff --git a/src/arch/riscv/isa/formats/mem.isa b/src/arch/riscv/isa/formats/mem.isa
index 11b6c42..d4c1754 100644
--- a/src/arch/riscv/isa/formats/mem.isa
+++ b/src/arch/riscv/isa/formats/mem.isa
@@ -44,7 +44,6 @@
         %(class_name)s(ExtMachInst machInst);
 
         Fault execute(ExecContext *, Trace::InstRecord *) const;
-        Fault eaComp(ExecContext *, Trace::InstRecord *) const;
         Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
         Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
     };
@@ -60,26 +59,6 @@
     }
 }};
 
-def template EACompExecute {{
-    Fault
-    %(class_name)s::eaComp(ExecContext *xc, Trace::InstRecord *traceData) const
-    {
-        Addr EA;
-        Fault fault = NoFault;
-
-        %(op_decl)s;
-        %(op_rd)s;
-        %(ea_code)s;
-
-        if (fault == NoFault) {
-            %(op_wb)s;
-            xc->setEA(EA);
-        }
-
-        return fault;
-    }
-}};
-
 let {{
 def LoadStoreBase(name, Name, offset_code, ea_code, memacc_code, mem_flags,
         inst_flags, base_class, postacc_code='', decode_template=BasicDecode,
@@ -109,7 +88,6 @@
         LoadStoreConstructor.subst(iop),
         decode_template.subst(iop),
         fullExecTemplate.subst(iop) +
-        EACompExecute.subst(iop) +
         initiateAccTemplate.subst(iop) +
         completeAccTemplate.subst(iop))
 }};
diff --git a/src/arch/sparc/isa/formats/mem/basicmem.isa b/src/arch/sparc/isa/formats/mem/basicmem.isa
index 391063c..bc7d033 100644
--- a/src/arch/sparc/isa/formats/mem/basicmem.isa
+++ b/src/arch/sparc/isa/formats/mem/basicmem.isa
@@ -46,7 +46,6 @@
             %(class_name)s(ExtMachInst machInst);
 
             Fault execute(ExecContext *, Trace::InstRecord *) const;
-            Fault eaComp(ExecContext *, Trace::InstRecord *) const;
             Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
             Fault completeAcc(PacketPtr, ExecContext *,
                               Trace::InstRecord *) const;
@@ -71,8 +70,6 @@
         exec_output = doDualSplitExecute(code, postacc_code, addrCalcReg,
                 addrCalcImm, execute, faultCode, name, name + "Imm",
                 Name, Name + "Imm", asi, opt_flags)
-        exec_output +=  EACompExecute.subst(iop);
-        exec_output +=  EACompExecute.subst(iop_imm);
         return (header_output, decoder_output, exec_output, decode_block)
 }};
 
diff --git a/src/arch/sparc/isa/formats/mem/swap.isa b/src/arch/sparc/isa/formats/mem/swap.isa
index c35fffd..fcabc33 100644
--- a/src/arch/sparc/isa/formats/mem/swap.isa
+++ b/src/arch/sparc/isa/formats/mem/swap.isa
@@ -164,7 +164,7 @@
             "EA_trunc" : TruncateEA}
         exec_output = doSplitExecute(execute, name, Name, mem_flags,
                 ["IsStoreConditional"], microParams);
-        return (header_output, decoder_output, exec_output + EACompExecute.subst(iop), decode_block)
+        return (header_output, decoder_output, exec_output, decode_block)
 }};
 
 
diff --git a/src/arch/sparc/isa/formats/mem/util.isa b/src/arch/sparc/isa/formats/mem/util.isa
index ad43a68..8711cb8 100644
--- a/src/arch/sparc/isa/formats/mem/util.isa
+++ b/src/arch/sparc/isa/formats/mem/util.isa
@@ -163,28 +163,6 @@
         }
 }};
 
-def template EACompExecute {{
-    Fault
-    %(class_name)s::eaComp(ExecContext *xc,
-                                   Trace::InstRecord *traceData) const
-    {
-        Addr EA;
-        Fault fault = NoFault;
-        %(op_decl)s;
-        %(op_rd)s;
-        %(ea_code)s;
-        %(fault_check)s;
-
-        // NOTE: Trace Data is written using execute or completeAcc templates
-        if (fault == NoFault) {
-            %(EA_trunc)s
-            xc->setEA(EA);
-        }
-
-        return fault;
-    }
-}};
-
 // Here are some code snippets which check for various fault conditions
 let {{
     LoadFuncs = [LoadExecute, LoadInitiateAcc, LoadCompleteAcc]
diff --git a/src/cpu/o3/dyn_inst.hh b/src/cpu/o3/dyn_inst.hh
index 0643e7e..8a0ae1d 100644
--- a/src/cpu/o3/dyn_inst.hh
+++ b/src/cpu/o3/dyn_inst.hh
@@ -429,25 +429,6 @@
         panic("MIPS MT not defined for O3 CPU.\n");
     }
 #endif
-
-  public:
-    /** Calculates EA part of a memory instruction. Currently unused,
-     * though it may be useful in the future if we want to split
-     * memory operations into EA calculation and memory access parts.
-     */
-    Fault calcEA()
-    {
-        return this->staticInst->eaCompInst()->execute(this, this->traceData);
-    }
-
-    /** Does the memory access part of a memory instruction. Currently unused,
-     * though it may be useful in the future if we want to split
-     * memory operations into EA calculation and memory access parts.
-     */
-    Fault memAccess()
-    {
-        return this->staticInst->memAccInst()->execute(this, this->traceData);
-    }
 };
 
 #endif // __CPU_O3_ALPHA_DYN_INST_HH__
diff --git a/src/cpu/static_inst.hh b/src/cpu/static_inst.hh
index a58df00..a4077e1 100644
--- a/src/cpu/static_inst.hh
+++ b/src/cpu/static_inst.hh
@@ -203,28 +203,8 @@
     const RegId& srcRegIdx(int i)  const { return _srcRegIdx[i]; }
 
     /// Pointer to a statically allocated "null" instruction object.
-    /// Used to give eaCompInst() and memAccInst() something to return
-    /// when called on non-memory instructions.
     static StaticInstPtr nullStaticInstPtr;
 
-    /**
-     * Memory references only: returns "fake" instruction representing
-     * the effective address part of the memory operation.  Used to
-     * obtain the dependence info (numSrcRegs and srcRegIdx[]) for
-     * just the EA computation.
-     */
-    virtual const
-    StaticInstPtr &eaCompInst() const { return nullStaticInstPtr; }
-
-    /**
-     * Memory references only: returns "fake" instruction representing
-     * the memory access part of the memory operation.  Used to
-     * obtain the dependence info (numSrcRegs and srcRegIdx[]) for
-     * just the memory access (not the EA computation).
-     */
-    virtual const
-    StaticInstPtr &memAccInst() const { return nullStaticInstPtr; }
-
     /// The binary machine instruction.
     const ExtMachInst machInst;
 
@@ -272,11 +252,6 @@
 
     virtual Fault execute(ExecContext *xc,
                           Trace::InstRecord *traceData) const = 0;
-    virtual Fault eaComp(ExecContext *xc,
-                         Trace::InstRecord *traceData) const
-    {
-        panic("eaComp not defined!");
-    }
 
     virtual Fault initiateAcc(ExecContext *xc,
                               Trace::InstRecord *traceData) const