mie: target: add result output to ir lowering callbacks
This commit is contained in:
@@ -6,18 +6,20 @@
|
||||
#include <stddef.h>
|
||||
|
||||
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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user