[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 llvm-svn: 319905
This commit is contained in:
parent
cebac48bf7
commit
a74ff71a37
|
|
@ -208,7 +208,7 @@ let TargetPrefix = "s390" in {
|
||||||
[IntrNoDuplicate, IntrWriteMem]>;
|
[IntrNoDuplicate, IntrWriteMem]>;
|
||||||
|
|
||||||
def int_s390_tabort : Intrinsic<[], [llvm_i64_ty],
|
def int_s390_tabort : Intrinsic<[], [llvm_i64_ty],
|
||||||
[IntrNoReturn, Throws]>;
|
[IntrNoReturn, Throws, IntrWriteMem]>;
|
||||||
|
|
||||||
def int_s390_tend : GCCBuiltin<"__builtin_tend">,
|
def int_s390_tend : GCCBuiltin<"__builtin_tend">,
|
||||||
Intrinsic<[llvm_i32_ty], []>;
|
Intrinsic<[llvm_i32_ty], []>;
|
||||||
|
|
|
||||||
|
|
@ -1944,8 +1944,7 @@ let hasSideEffects = 1, Predicates = [FeatureTransactionalExecution] in {
|
||||||
def TEND : SideEffectInherentS<"tend", 0xB2F8, z_tend>;
|
def TEND : SideEffectInherentS<"tend", 0xB2F8, z_tend>;
|
||||||
|
|
||||||
// Transaction Abort
|
// Transaction Abort
|
||||||
// TODO: Shouldn't be mayLoad or mayStore.
|
let isTerminator = 1, isBarrier = 1, mayStore = 1,
|
||||||
let isTerminator = 1, isBarrier = 1, mayLoad = 1, mayStore = 1,
|
|
||||||
hasSideEffects = 1 in
|
hasSideEffects = 1 in
|
||||||
def TABORT : SideEffectAddressS<"tabort", 0xB2FC, int_s390_tabort>;
|
def TABORT : SideEffectAddressS<"tabort", 0xB2FC, int_s390_tabort>;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue