cpu: Get rid of the IsThreadSync StaticInst flag.
authorGabe Black <gabeblack@google.com>
Sun, 30 Aug 2020 08:31:20 +0000 (01:31 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 15 Sep 2020 08:03:10 +0000 (08:03 +0000)
This flag was never set and only checked in one place. If it was set, it
would have triggered a panic there.

Change-Id: I934a0346837c66bae8ce06f50027003bfd47083d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33737
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/cpu/StaticInstFlags.py
src/cpu/base_dyn_inst.hh
src/cpu/o3/commit_impl.hh
src/cpu/static_inst.hh

index 5b8507b2892d33d6566f0203549f01e7844f76d5..acaa7bfca5c2f14dfd2b2303a77d092306618066 100644 (file)
@@ -78,8 +78,6 @@ class StaticInstFlags(Enum):
         'IsCall',           # Subroutine call.
         'IsReturn',         # Subroutine return.
 
-        'IsThreadSync',     # Thread synchronization operation.
-
         'IsSerializing',    # Serializes pipeline: won't execute until all
                             # older instructions have committed.
         'IsSerializeBefore',
index 60ca592cca83efeaab5c2c3d1d4029d10dc983d4..bfe0492f83ff3fd5148f63793c8107f2bc82e410 100644 (file)
@@ -541,7 +541,6 @@ class BaseDynInst : public ExecContext, public RefCounted
     bool isIndirectCtrl() const { return staticInst->isIndirectCtrl(); }
     bool isCondCtrl()     const { return staticInst->isCondCtrl(); }
     bool isUncondCtrl()   const { return staticInst->isUncondCtrl(); }
-    bool isThreadSync()   const { return staticInst->isThreadSync(); }
     bool isSerializing()  const { return staticInst->isSerializing(); }
     bool
     isSerializeBefore() const
index 75d065fd51781577992c7570f7d21b6307669aea..0d5cbe5db9ed82ef80f528a863bc7bbac54bf1a8 100644 (file)
@@ -1233,11 +1233,6 @@ DefaultCommit<Impl>::commitHead(const DynInstPtr &head_inst, unsigned inst_num)
         return false;
     }
 
-    if (head_inst->isThreadSync()) {
-        // Not handled for now.
-        panic("Thread sync instructions are not handled yet.\n");
-    }
-
     // Check if the instruction caused a fault.  If so, trap.
     Fault inst_fault = head_inst->getFault();
 
index 1a0e42c36814835c2daeafcd42395d7a81023648..e536b8412cfc0ab2e91fc6499bec4b3f3037659c 100644 (file)
@@ -180,7 +180,6 @@ class StaticInst : public RefCounted, public StaticInstFlags
     bool isCondCtrl()     const { return flags[IsCondControl]; }
     bool isUncondCtrl()   const { return flags[IsUncondControl]; }
 
-    bool isThreadSync()   const { return flags[IsThreadSync]; }
     bool isSerializing()  const { return flags[IsSerializing] ||
                                       flags[IsSerializeBefore] ||
                                       flags[IsSerializeAfter]; }