Author: Florian Hahn Date: 2021-01-18T18:03:58Z New Revision: 291ac7e622d542f8b25f74bc28051762edc90938
URL: https://github.com/llvm/llvm-project/commit/291ac7e622d542f8b25f74bc28051762edc90938 DIFF: https://github.com/llvm/llvm-project/commit/291ac7e622d542f8b25f74bc28051762edc90938.diff LOG: [AArch64] Revert back to Intrinsic<> for TME instructions. This patch reverts back to Intrinsic for the instructions for the transactional memory extension, so nosync is not included. Added: Modified: clang/test/CodeGen/aarch64-tme.cpp llvm/include/llvm/IR/IntrinsicsAArch64.td Removed: ################################################################################ diff --git a/clang/test/CodeGen/aarch64-tme.cpp b/clang/test/CodeGen/aarch64-tme.cpp index 40a9ab3561ef..5004751cb300 100644 --- a/clang/test/CodeGen/aarch64-tme.cpp +++ b/clang/test/CodeGen/aarch64-tme.cpp @@ -38,5 +38,5 @@ extern "C" void arm_feature_tme_defined() {} #endif // CHECK: define{{.*}} void @arm_feature_tme_defined() -// CHECK: attributes #1 = { nounwind } +// CHECK: attributes #1 = { nounwind willreturn } diff --git a/llvm/include/llvm/IR/IntrinsicsAArch64.td b/llvm/include/llvm/IR/IntrinsicsAArch64.td index 9de3e8d732dd..da3085171b19 100644 --- a/llvm/include/llvm/IR/IntrinsicsAArch64.td +++ b/llvm/include/llvm/IR/IntrinsicsAArch64.td @@ -811,16 +811,16 @@ def int_aarch64_stgp : DefaultAttrsIntrinsic<[], [llvm_ptr_ty, llvm_i64_ty, llv // Transactional Memory Extension (TME) Intrinsics let TargetPrefix = "aarch64" in { def int_aarch64_tstart : GCCBuiltin<"__builtin_arm_tstart">, - DefaultAttrsIntrinsic<[llvm_i64_ty]>; + Intrinsic<[llvm_i64_ty], [], [IntrWillReturn]>; -def int_aarch64_tcommit : GCCBuiltin<"__builtin_arm_tcommit">, DefaultAttrsIntrinsic<[]>; +def int_aarch64_tcommit : GCCBuiltin<"__builtin_arm_tcommit">, Intrinsic<[], [], [IntrWillReturn]>; def int_aarch64_tcancel : GCCBuiltin<"__builtin_arm_tcancel">, - DefaultAttrsIntrinsic<[], [llvm_i64_ty], [ImmArg<ArgIndex<0>>]>; + Intrinsic<[], [llvm_i64_ty], [IntrWillReturn, ImmArg<ArgIndex<0>>]>; def int_aarch64_ttest : GCCBuiltin<"__builtin_arm_ttest">, - DefaultAttrsIntrinsic<[llvm_i64_ty], [], - [IntrNoMem, IntrHasSideEffects]>; + Intrinsic<[llvm_i64_ty], [], + [IntrNoMem, IntrHasSideEffects, IntrWillReturn]>; // Armv8.7-A load/store 64-byte intrinsics defvar data512 = !listsplat(llvm_i64_ty, 8); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits