mie: ir: block: add function to create block parameters

This commit is contained in:
2026-01-21 14:39:56 +00:00
parent 76166167c9
commit 83343a5eea
2 changed files with 20 additions and 0 deletions

View File

@@ -20,5 +20,6 @@ struct mie_block {
extern struct mie_vector_ops mie_block_vector_ops; 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_op *mie_block_add_op(struct mie_block *block);
MIE_API struct mie_register *mie_block_add_param(struct mie_block *block);
#endif #endif

19
mie/ir/block.c Normal file
View File

@@ -0,0 +1,19 @@
#include <mie/ir/block.h>
#include <mie/ir/op.h>
#include <mie/ir/register.h>
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;
}