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
This commit is contained in:
Dimitry Andric 2022-12-16 14:28:10 +01:00
parent 3873bdc2f2
commit 4589169768

View File

@ -1459,7 +1459,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">,