Date: Sun, 25 Dec 2022 11:42:47 GMT From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: c517ef0589b1 - stable/12 - Apply llvm fix for crash building julia on PowerPC64 Message-ID: <202212251142.2BPBglVx014853@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c517ef0589b124685da8e383dbff1e2ddb756d0a commit c517ef0589b124685da8e383dbff1e2ddb756d0a Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-12-16 13:28:10 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-12-25 11:41:43 +0000 Apply llvm fix for crash building julia on PowerPC64 Merge commit 6710b21d4698 from llvm git (by Kai Luo): [PowerPC] Allow llvm.ppc.cfence to accept pointer types In the context of atomic load, integer, pointer and float point types are allowed, thus we should allow llvm.ppc.cfence to accept any type mentioned. Fixes https://github.com/llvm/llvm-project/issues/55983. Reviewed By: shchenz, vchuravy Differential Revision: https://reviews.llvm.org/D127554 Requested by: jhibbits MFC after: 3 days (cherry picked from commit 4589169768490461995f07713c8e9d7bab6bf277) --- contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td b/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td index 92d3bdea37ed..5368214329a8 100644 --- a/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td +++ b/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td @@ -1427,7 +1427,11 @@ def int_ppc_tsuspend : GCCBuiltin<"__builtin_tsuspend">, def int_ppc_ttest : GCCBuiltin<"__builtin_ttest">, Intrinsic<[llvm_i64_ty], [], []>; -def int_ppc_cfence : Intrinsic<[], [llvm_anyint_ty], []>; +// We currently use llvm.ppc.cfence in the context of atomic load which +// in LLVM IR requires its type to be one of integer, pointer and +// float point type. So llvm_any_ty here refers to type mentioned above. +// Backend is supposed to lower these types to appropriate MVTs. +def int_ppc_cfence : Intrinsic<[], [llvm_any_ty], []>; // PowerPC set FPSCR Intrinsic Definitions. def int_ppc_setrnd : GCCBuiltin<"__builtin_setrnd">,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202212251142.2BPBglVx014853>