[artiq] WIP

This commit is contained in:
David Mak 2024-08-15 13:18:35 +08:00
parent c3b7aa6386
commit c00f6939e9
1 changed files with 35 additions and 14 deletions

View File

@ -647,23 +647,29 @@ fn format_rpc_ret<'ctx>(
.unwrap())
},
|generator, ctx| {
let data_addr = phi.as_basic_value().into_pointer_value();
let data_addr = ctx
.builder
.build_load(
ctx.builder
.build_bitcast(data_addr, llvm_ppi8, "")
.map(BasicValueEnum::into_pointer_value)
.unwrap(),
"",
)
.map(BasicValueEnum::into_pointer_value)
.unwrap();
// let data_addr = ctx
// .builder
// .build_load(
// ctx.builder
// .build_bitcast(data_addr, llvm_ppi8, "")
// .map(BasicValueEnum::into_pointer_value)
// .unwrap(),
// "",
// )
// .map(BasicValueEnum::into_pointer_value)
// .unwrap();
//
// call_memcpy_generic(
// ctx,
// ndarray.ptr_to_data(ctx),
// data_addr,
// llvm_pdata_sizeof,
// llvm_i1.const_zero(),
// );
call_memcpy_generic(
ctx,
ndarray.ptr_to_data(ctx),
data_addr,
buffer.base_ptr(ctx, generator),
llvm_pdata_sizeof,
llvm_i1.const_zero(),
);
@ -679,6 +685,21 @@ fn format_rpc_ret<'ctx>(
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(()),