summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>2016-01-07 07:20:55 +0000
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>2016-01-07 07:20:55 +0000
commit3939b690f6b47860140292e89f1c6f506c20cb19 (patch)
tree9e53214e220281db8dde6e7c60c9ab106127db1f /llvm/lib
parent68cffb17a07a1fb0b721c3ccdb260850ed5f0090 (diff)
downloadbcm5719-llvm-3939b690f6b47860140292e89f1c6f506c20cb19.tar.gz
bcm5719-llvm-3939b690f6b47860140292e89f1c6f506c20cb19.zip
[SystemZ] Add hasSideEffects flag on Serialize instruction.
Serialize will perform a hardware serialization operation, and is acting as a memory barrier. Therefore it must have the hasSideEffects flag set so it will be treated as a global memory object. Reviewed by Ulrich Weigand llvm-svn: 257036
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
index b9f2eb5514a..d5dabc2cd6a 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -1219,6 +1219,9 @@ def PFDRL : PrefetchRILPC<"pfdrl", 0xC62, z_prefetch>;
// Atomic operations
//===----------------------------------------------------------------------===//
+// A serialization instruction that acts as a barrier for all memory
+// accesses, which expands to "bcr 14, 0".
+let hasSideEffects = 1 in
def Serialize : Alias<2, (outs), (ins), [(z_serialize)]>;
let Predicates = [FeatureInterlockedAccess1], Defs = [CC] in {
OpenPOWER on IntegriCloud