[artiq] WIP
This commit is contained in:
parent
4fafe32563
commit
86a89ba437
|
@ -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,14 +662,14 @@ 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(0, false)], "")
|
||||||
}
|
// }
|
||||||
.unwrap();
|
// .unwrap();
|
||||||
call_memcpy_generic(
|
call_memcpy_generic(
|
||||||
ctx,
|
ctx,
|
||||||
ndarray.ptr_to_data(ctx),
|
ndarray.ptr_to_data(ctx),
|
||||||
pbuffer_data_begin,
|
phi,
|
||||||
llvm_pdata_sizeof,
|
llvm_pdata_sizeof,
|
||||||
llvm_i1.const_zero(),
|
llvm_i1.const_zero(),
|
||||||
);
|
);
|
||||||
|
@ -684,21 +685,6 @@ fn format_rpc_ret<'ctx>(
|
||||||
llvm_i1.const_zero(),
|
llvm_i1.const_zero(),
|
||||||
);
|
);
|
||||||
|
|
||||||
// // TODO: Testing for buffer
|
|
||||||
// ndarray.create_data(
|
|
||||||
// ctx,
|
|
||||||
// llvm_elem_ty,
|
|
||||||
// call_ndarray_calc_size(generator, ctx, &ndarray.dim_sizes(), (None, None)),
|
|
||||||
// );
|
|
||||||
//
|
|
||||||
// call_memcpy_generic(
|
|
||||||
// ctx,
|
|
||||||
// ndarray.data().base_ptr(ctx, generator),
|
|
||||||
// buffer.base_ptr(ctx, generator),
|
|
||||||
// llvm_usize.const_int(8, false),
|
|
||||||
// llvm_i1.const_zero(),
|
|
||||||
// );
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
},
|
||||||
|_, _| Ok(()),
|
|_, _| Ok(()),
|
||||||
|
@ -714,7 +700,7 @@ fn format_rpc_ret<'ctx>(
|
||||||
ctx.builder.position_at_end(alloc_bb);
|
ctx.builder.position_at_end(alloc_bb);
|
||||||
|
|
||||||
let alloc_ptr =
|
let alloc_ptr =
|
||||||
ctx.builder.build_array_alloca(llvm_pi8, alloc_size, "rpc.alloc").unwrap();
|
ctx.builder.build_array_alloca(llvm_i8_8, alloc_size, "rpc.alloc").unwrap();
|
||||||
let alloc_ptr = ctx
|
let alloc_ptr = ctx
|
||||||
.builder
|
.builder
|
||||||
.build_bitcast(alloc_ptr, llvm_pi8, "")
|
.build_bitcast(alloc_ptr, llvm_pi8, "")
|
||||||
|
|
Loading…
Reference in New Issue