arch,cpu: Rearrange StaticInst flags for memory barriers.
authorGabe Black <gabeblack@google.com>
Sun, 30 Aug 2020 09:28:33 +0000 (02:28 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 16 Sep 2020 08:29:17 +0000 (08:29 +0000)
commitfaf0af7a3546543276bb20ac22fb2d1ff450f36c
tree0d0cf6a3898fb62065c1df9b0c6e1e2ed8752e25
parent429b828e7b72906241698536ae6b797a63c6749c
arch,cpu: Rearrange StaticInst flags for memory barriers.

There were three different StaticInst flags for memory barriers,
IsMemBarrier, IsReadBarrier, and IsWriteBarrier. IsReadBarrier was never
used, and IsMemBarrier was for both loads and stores, so a composite of
IsReadBarrier and IsWriteBarrier.

This change gets rid of IsMemBarrier and replaces by setting
IsReadBarrier and IsWriteBarrier at the same time. An isMemBarrier
accessor is left, but is now implemented by checking if both of the
other flags are set, and renamed to isFullMemBarrier to make it clear
that it's checking both for both types of barrier, not one or the other.

Change-Id: I702633a047f4777be4b180b42d62438ca69f52ea
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33743
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
26 files changed:
src/arch/arm/insts/mem64.cc
src/arch/arm/insts/tme64.cc
src/arch/arm/isa/insts/amo64.isa
src/arch/arm/isa/insts/ldr.isa
src/arch/arm/isa/insts/ldr64.isa
src/arch/arm/isa/insts/misc.isa
src/arch/arm/isa/insts/misc64.isa
src/arch/arm/isa/insts/str.isa
src/arch/arm/isa/insts/str64.isa
src/arch/arm/isa/templates/semihost.isa
src/arch/mips/isa/decoder.isa
src/arch/power/isa/decoder.isa
src/arch/riscv/isa/decoder.isa
src/arch/riscv/isa/formats/amo.isa
src/arch/sparc/isa/decoder.isa
src/arch/x86/isa/decoder/two_byte_opcodes.isa
src/arch/x86/isa/microops/specop.isa
src/cpu/StaticInstFlags.py
src/cpu/base_dyn_inst.hh
src/cpu/minor/execute.cc
src/cpu/minor/lsq.cc
src/cpu/o3/commit_impl.hh
src/cpu/o3/iew_impl.hh
src/cpu/o3/inst_queue_impl.hh
src/cpu/o3/mem_dep_unit_impl.hh
src/cpu/static_inst.hh