[llvm] r257036 - [SystemZ] Add hasSideEffects flag on Serialize instruction.

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 6 23:20:56 PST 2016


Author: jonpa
Date: Thu Jan  7 01:20:55 2016
New Revision: 257036

URL: http://llvm.org/viewvc/llvm-project?rev=257036&view=rev
Log:
[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

Modified:
    llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td

Modified: llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td?rev=257036&r1=257035&r2=257036&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td Thu Jan  7 01:20:55 2016
@@ -1219,6 +1219,9 @@ def PFDRL : PrefetchRILPC<"pfdrl", 0xC62
 // 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 {




More information about the llvm-commits mailing list