[llvm] r319905 - [SystemZ] Add IntrWriteMem flag to int_s390_tabort intrinsic
Jonas Paulsson via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 6 09:01:08 PST 2017
Author: jonpa
Date: Wed Dec 6 09:01:08 2017
New Revision: 319905
URL: http://llvm.org/viewvc/llvm-project?rev=319905&view=rev
Log:
[SystemZ] Add IntrWriteMem flag to int_s390_tabort intrinsic
Tabort (transaction abort) does not load from memory.
mayLoad flag removed from corresponding TABORT machine instruction.
Review: Ulrich Weigand
Modified:
llvm/trunk/include/llvm/IR/IntrinsicsSystemZ.td
llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td
Modified: llvm/trunk/include/llvm/IR/IntrinsicsSystemZ.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/IntrinsicsSystemZ.td?rev=319905&r1=319904&r2=319905&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/IntrinsicsSystemZ.td (original)
+++ llvm/trunk/include/llvm/IR/IntrinsicsSystemZ.td Wed Dec 6 09:01:08 2017
@@ -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], []>;
Modified: llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td?rev=319905&r1=319904&r2=319905&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td Wed Dec 6 09:01:08 2017
@@ -1944,8 +1944,7 @@ let hasSideEffects = 1, Predicates = [Fe
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>;
More information about the llvm-commits
mailing list