Skip to content

Commit ce34d35

Browse files
DimitryAndricbsdjhb
authored andcommitted
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 llvm/llvm-project#55983. Reviewed By: shchenz, vchuravy Differential Revision: https://reviews.llvm.org/D127554 Requested by: jhibbits MFC after: 3 days
2 parents c49937f + 4589169 commit ce34d35

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsPowerPC.td

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1459,7 +1459,11 @@ def int_ppc_tsuspend : GCCBuiltin<"__builtin_tsuspend">,
14591459
def int_ppc_ttest : GCCBuiltin<"__builtin_ttest">,
14601460
Intrinsic<[llvm_i64_ty], [], []>;
14611461

1462-
def int_ppc_cfence : Intrinsic<[], [llvm_anyint_ty], []>;
1462+
// We currently use llvm.ppc.cfence in the context of atomic load which
1463+
// in LLVM IR requires its type to be one of integer, pointer and
1464+
// float point type. So llvm_any_ty here refers to type mentioned above.
1465+
// Backend is supposed to lower these types to appropriate MVTs.
1466+
def int_ppc_cfence : Intrinsic<[], [llvm_any_ty], []>;
14631467

14641468
// PowerPC set FPSCR Intrinsic Definitions.
14651469
def int_ppc_setrnd : GCCBuiltin<"__builtin_setrnd">,

0 commit comments

Comments
 (0)