From 83343a5eea879fdda29874cd0d129220ad6db175 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Wed, 21 Jan 2026 14:39:56 +0000 Subject: [PATCH] mie: ir: block: add function to create block parameters --- mie/include/mie/ir/block.h | 1 + mie/ir/block.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 mie/ir/block.c diff --git a/mie/include/mie/ir/block.h b/mie/include/mie/ir/block.h index 4769ece..ec8630f 100644 --- a/mie/include/mie/ir/block.h +++ b/mie/include/mie/ir/block.h @@ -20,5 +20,6 @@ struct mie_block { extern struct mie_vector_ops mie_block_vector_ops; MIE_API struct mie_op *mie_block_add_op(struct mie_block *block); +MIE_API struct mie_register *mie_block_add_param(struct mie_block *block); #endif diff --git a/mie/ir/block.c b/mie/ir/block.c new file mode 100644 index 0000000..2802665 --- /dev/null +++ b/mie/ir/block.c @@ -0,0 +1,19 @@ +#include +#include +#include + +struct mie_op *mie_block_add_op(struct mie_block *block) +{ + return mie_vector_emplace_back(block->b_ops, NULL); +} + +struct mie_register *mie_block_add_param(struct mie_block *block) +{ + struct mie_register *result = mie_vector_emplace_back( + block->b_params, &mie_register_vector_ops); + result->reg_flags = MIE_REGISTER_F_VIRTUAL | MIE_REGISTER_F_BLOCK_PARAM; + result->reg_block = block; + result->reg_op = NULL; + + return result; +}