[artiq] WIP

This commit is contained in:
David Mak 2024-08-15 15:11:47 +08:00
parent 4fafe32563
commit 75776bf70e
1 changed files with 27 additions and 26 deletions

View File

@ -544,6 +544,7 @@ fn format_rpc_ret<'ctx>(
let llvm_i8 = ctx.ctx.i8_type(); let llvm_i8 = ctx.ctx.i8_type();
let llvm_i32 = ctx.ctx.i32_type(); let llvm_i32 = ctx.ctx.i32_type();
let llvm_i8_8 = llvm_i8.array_type(8);
let llvm_pi8 = llvm_i8.ptr_type(AddressSpace::default()); let llvm_pi8 = llvm_i8.ptr_type(AddressSpace::default());
let rpc_recv = ctx.module.get_function("rpc_recv").unwrap_or_else(|| { let rpc_recv = ctx.module.get_function("rpc_recv").unwrap_or_else(|| {
@ -623,7 +624,7 @@ fn format_rpc_ret<'ctx>(
let buffer_size = round_up(ctx, buffer_size, ctx.ctx.i64_type()); let buffer_size = round_up(ctx, buffer_size, ctx.ctx.i64_type());
let buffer = let buffer =
ctx.builder.build_array_alloca(llvm_pi8, buffer_size, "rpc.buffer").unwrap(); ctx.builder.build_array_alloca(llvm_i8_8, buffer_size, "rpc.buffer").unwrap();
let buffer = ctx let buffer = ctx
.builder .builder
.build_bitcast(buffer, llvm_pi8, "") .build_bitcast(buffer, llvm_pi8, "")
@ -661,17 +662,17 @@ fn format_rpc_ret<'ctx>(
}, },
|generator, ctx| { |generator, ctx| {
let phi = phi.as_basic_value().into_pointer_value(); let phi = phi.as_basic_value().into_pointer_value();
let pbuffer_data_begin = unsafe { // let pbuffer_data_begin = unsafe {
ctx.builder.build_in_bounds_gep(phi, &[llvm_usize.const_int(8, false)], "") // ctx.builder.build_in_bounds_gep(phi, &[llvm_usize.const_int(8, false)], "")
} // }
.unwrap(); // .unwrap();
call_memcpy_generic( // call_memcpy_generic(
ctx, // ctx,
ndarray.ptr_to_data(ctx), // ndarray.ptr_to_data(ctx),
pbuffer_data_begin, // pbuffer_data_begin,
llvm_pdata_sizeof, // llvm_pdata_sizeof,
llvm_i1.const_zero(), // llvm_i1.const_zero(),
); // );
let pbuffer_dims_begin = let pbuffer_dims_begin =
unsafe { ctx.builder.build_in_bounds_gep(phi, &[llvm_pdata_sizeof], "") } unsafe { ctx.builder.build_in_bounds_gep(phi, &[llvm_pdata_sizeof], "") }
@ -684,20 +685,20 @@ fn format_rpc_ret<'ctx>(
llvm_i1.const_zero(), llvm_i1.const_zero(),
); );
// // TODO: Testing for buffer // TODO: Testing for buffer
// ndarray.create_data( ndarray.create_data(
// ctx, ctx,
// llvm_elem_ty, llvm_elem_ty,
// call_ndarray_calc_size(generator, ctx, &ndarray.dim_sizes(), (None, None)), call_ndarray_calc_size(generator, ctx, &ndarray.dim_sizes(), (None, None)),
// ); );
//
// call_memcpy_generic( call_memcpy_generic(
// ctx, ctx,
// ndarray.data().base_ptr(ctx, generator), ndarray.data().base_ptr(ctx, generator),
// buffer.base_ptr(ctx, generator), buffer.base_ptr(ctx, generator),
// llvm_usize.const_int(8, false), llvm_usize.const_int(8, false),
// llvm_i1.const_zero(), llvm_i1.const_zero(),
// ); );
Ok(()) Ok(())
}, },