From 225968e94e74f98dbd07018bb072425bc77c8e4b Mon Sep 17 00:00:00 2001 From: Max Wash Date: Mon, 8 Sep 2025 15:41:50 +0100 Subject: [PATCH] mie: target: add result output to ir lowering callbacks --- mie/include/mie/target/select.h | 12 +++++++----- mie/target/select.c | 8 ++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/mie/include/mie/target/select.h b/mie/include/mie/target/select.h index d6b3a7c..9162623 100644 --- a/mie/include/mie/target/select.h +++ b/mie/include/mie/target/select.h @@ -6,18 +6,20 @@ #include struct mie_target; -struct mie_instr; +struct mie_call; +struct mie_msg; struct mie_select_builder; +struct mie_select_value; struct mie_target_select_ops { size_t (*s_node_name)( const struct mie_target *, unsigned int, char *, size_t); enum mie_status (*s_lower_call)( const struct mie_target *, struct mie_select_builder *, - struct mie_instr *); + struct mie_call *, struct mie_select_value *); enum mie_status (*s_lower_msg)( const struct mie_target *, struct mie_select_builder *, - struct mie_instr *); + struct mie_msg *, struct mie_select_value *); }; MIE_API size_t mie_target_select_node_name( @@ -26,9 +28,9 @@ MIE_API size_t mie_target_select_node_name( MIE_API enum mie_status mie_target_select_lower_call( const struct mie_target *target, struct mie_select_builder *builder, - struct mie_instr *instr); + struct mie_call *call, struct mie_select_value *result); MIE_API enum mie_status mie_target_select_lower_msg( const struct mie_target *target, struct mie_select_builder *builder, - struct mie_instr *instr); + struct mie_msg *msg, struct mie_select_value *result); #endif diff --git a/mie/target/select.c b/mie/target/select.c index f815d58..8567524 100644 --- a/mie/target/select.c +++ b/mie/target/select.c @@ -64,22 +64,22 @@ size_t mie_target_select_node_name( enum mie_status mie_target_select_lower_call( const struct mie_target *target, struct mie_select_builder *builder, - struct mie_instr *instr) + struct mie_call *call, struct mie_select_value *result) { if (!target->t_select || !target->t_select->s_lower_call) { return MIE_ERR_NOT_SUPPORTED; } - return target->t_select->s_lower_call(target, builder, instr); + return target->t_select->s_lower_call(target, builder, call, result); } enum mie_status mie_target_select_lower_msg( const struct mie_target *target, struct mie_select_builder *builder, - struct mie_instr *instr) + struct mie_msg *msg, struct mie_select_value *result) { if (!target->t_select || !target->t_select->s_lower_msg) { return MIE_ERR_NOT_SUPPORTED; } - return target->t_select->s_lower_call(target, builder, instr); + return target->t_select->s_lower_msg(target, builder, msg, result); }