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
[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], []>;
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>;