11use std:: ffi:: CString ;
22
33use llvm:: Linkage :: * ;
4- use rustc_abi:: Align ;
4+ use rustc_abi:: { AddressSpace , Align } ;
55use rustc_codegen_ssa:: back:: write:: CodegenContext ;
66use rustc_codegen_ssa:: traits:: BaseTypeCodegenMethods ;
77
@@ -61,7 +61,7 @@ fn generate_at_one<'ll>(cx: &'ll SimpleCx<'_>) -> &'ll llvm::Value {
6161
6262pub ( crate ) fn add_tgt_offload_entry < ' ll > ( cx : & ' ll SimpleCx < ' _ > ) -> & ' ll llvm:: Type {
6363 let offload_entry_ty = cx. type_named_struct ( "struct.__tgt_offload_entry" ) ;
64- let tptr = cx. type_ptr ( ) ;
64+ let tptr = cx. type_ptr_ext ( AddressSpace :: ZERO ) ;
6565 let ti64 = cx. type_i64 ( ) ;
6666 let ti32 = cx. type_i32 ( ) ;
6767 let ti16 = cx. type_i16 ( ) ;
@@ -85,7 +85,7 @@ pub(crate) fn add_tgt_offload_entry<'ll>(cx: &'ll SimpleCx<'_>) -> &'ll llvm::Ty
8585
8686fn gen_tgt_kernel_global < ' ll > ( cx : & ' ll SimpleCx < ' _ > ) {
8787 let kernel_arguments_ty = cx. type_named_struct ( "struct.__tgt_kernel_arguments" ) ;
88- let tptr = cx. type_ptr ( ) ;
88+ let tptr = cx. type_ptr_ext ( AddressSpace :: ZERO ) ;
8989 let ti64 = cx. type_i64 ( ) ;
9090 let ti32 = cx. type_i32 ( ) ;
9191 let tarr = cx. type_array ( ti32, 3 ) ;
@@ -126,7 +126,7 @@ fn gen_tgt_kernel_global<'ll>(cx: &'ll SimpleCx<'_>) {
126126fn gen_tgt_data_mappers < ' ll > (
127127 cx : & ' ll SimpleCx < ' _ > ,
128128) -> ( & ' ll llvm:: Value , & ' ll llvm:: Value , & ' ll llvm:: Value , & ' ll llvm:: Type ) {
129- let tptr = cx. type_ptr ( ) ;
129+ let tptr = cx. type_ptr_ext ( AddressSpace :: ZERO ) ;
130130 let ti64 = cx. type_i64 ( ) ;
131131 let ti32 = cx. type_i32 ( ) ;
132132
@@ -233,7 +233,7 @@ fn gen_define_handling<'ll>(
233233 let flags = cx. get_const_i32 ( 0 ) ;
234234 let size = cx. get_const_i64 ( 0 ) ;
235235 let data = cx. get_const_i64 ( 0 ) ;
236- let aux_addr = cx. const_null ( cx. type_ptr ( ) ) ;
236+ let aux_addr = cx. const_null ( cx. type_ptr_ext ( AddressSpace :: ZERO ) ) ;
237237 let elems = vec ! [ reserved, version, kind, flags, region_id, llglobal, size, data, aux_addr] ;
238238
239239 let initializer = crate :: common:: named_struct ( offload_entry_ty, & elems) ;
@@ -289,7 +289,7 @@ fn gen_call_handling<'ll>(
289289 o_types : & [ & ' ll llvm:: Value ] ,
290290) {
291291 // %struct.__tgt_bin_desc = type { i32, ptr, ptr, ptr }
292- let tptr = cx. type_ptr ( ) ;
292+ let tptr = cx. type_ptr_ext ( AddressSpace :: ZERO ) ;
293293 let ti32 = cx. type_i32 ( ) ;
294294 let tgt_bin_desc_ty = vec ! [ ti32, tptr, tptr, tptr] ;
295295 let tgt_bin_desc = cx. type_named_struct ( "struct.__tgt_bin_desc" ) ;
@@ -321,7 +321,7 @@ fn gen_call_handling<'ll>(
321321
322322 let tgt_bin_desc_alloca = builder. direct_alloca ( tgt_bin_desc, Align :: EIGHT , "EmptyDesc" ) ;
323323
324- let ty = cx. type_array ( cx. type_ptr ( ) , num_args) ;
324+ let ty = cx. type_array ( cx. type_ptr_ext ( AddressSpace :: ZERO ) , num_args) ;
325325 // Baseptr are just the input pointer to the kernel, stored in a local alloca
326326 let a1 = builder. direct_alloca ( ty, Align :: EIGHT , ".offload_baseptrs" ) ;
327327 // Ptrs are the result of a gep into the baseptr, at least for our trivial types.
@@ -352,7 +352,7 @@ fn gen_call_handling<'ll>(
352352 unsafe { llvm:: LLVMRustPositionBefore ( builder. llbuilder , kernel_call) } ;
353353 builder. memset ( tgt_bin_desc_alloca, cx. get_const_i8 ( 0 ) , cx. get_const_i64 ( 32 ) , Align :: EIGHT ) ;
354354
355- let mapper_fn_ty = cx. type_func ( & [ cx. type_ptr ( ) ] , cx. type_void ( ) ) ;
355+ let mapper_fn_ty = cx. type_func ( & [ cx. type_ptr_ext ( AddressSpace :: ZERO ) ] , cx. type_void ( ) ) ;
356356 let register_lib_decl = declare_offload_fn ( & cx, "__tgt_register_lib" , mapper_fn_ty) ;
357357 let unregister_lib_decl = declare_offload_fn ( & cx, "__tgt_unregister_lib" , mapper_fn_ty) ;
358358 let init_ty = cx. type_func ( & [ ] , cx. type_void ( ) ) ;
@@ -405,7 +405,7 @@ fn gen_call_handling<'ll>(
405405 num_args : u64 ,
406406 s_ident_t : & ' ll Value ,
407407 ) {
408- let nullptr = cx. const_null ( cx. type_ptr ( ) ) ;
408+ let nullptr = cx. const_null ( cx. type_ptr_ext ( AddressSpace :: ZERO ) ) ;
409409 let i64_max = cx. get_const_i64 ( u64:: MAX ) ;
410410 let num_args = cx. get_const_i32 ( num_args) ;
411411 let args =
0 commit comments