]> granicus.if.org Git - llvm/commitdiff
[SystemZ] Add IntrWriteMem flag to int_s390_tabort intrinsic
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 6 Dec 2017 17:01:08 +0000 (17:01 +0000)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 6 Dec 2017 17:01:08 +0000 (17:01 +0000)
Tabort (transaction abort) does not load from memory.

mayLoad flag removed from corresponding TABORT machine instruction.

Review: Ulrich Weigand

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319905 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/IntrinsicsSystemZ.td
lib/Target/SystemZ/SystemZInstrInfo.td

index 8c078a629e12b9ee3cf01d4de53c4831664eb392..caa2ec209a3107fd780bc6a057e134f9d5c5bd65 100644 (file)
@@ -208,7 +208,7 @@ let TargetPrefix = "s390" in {
                                    [IntrNoDuplicate, IntrWriteMem]>;
 
   def int_s390_tabort : Intrinsic<[], [llvm_i64_ty],
-                                  [IntrNoReturn, Throws]>;
+                                  [IntrNoReturn, Throws, IntrWriteMem]>;
 
   def int_s390_tend : GCCBuiltin<"__builtin_tend">,
                       Intrinsic<[llvm_i32_ty], []>;
index 87462c1d681de9ca86bdd6f10f6dff038619e479..abb804597f4e332d98c85cddc51af246516cd966 100644 (file)
@@ -1944,8 +1944,7 @@ let hasSideEffects = 1, Predicates = [FeatureTransactionalExecution] in {
     def TEND : SideEffectInherentS<"tend", 0xB2F8, z_tend>;
 
   // Transaction Abort
-  // TODO: Shouldn't be mayLoad or mayStore.
-  let isTerminator = 1, isBarrier = 1, mayLoad = 1, mayStore = 1,
+  let isTerminator = 1, isBarrier = 1, mayStore = 1,
       hasSideEffects = 1 in
     def TABORT : SideEffectAddressS<"tabort", 0xB2FC, int_s390_tabort>;