mie: ir: block: add function to create block parameters
This commit is contained in:
@@ -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
|
||||
|
||||
19
mie/ir/block.c
Normal file
19
mie/ir/block.c
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user