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