From 554a1e734286180a4e535ce5d7e9b42ba1eb2b3d Mon Sep 17 00:00:00 2001 From: Max Wash Date: Fri, 23 Jan 2026 22:42:05 +0000 Subject: [PATCH] mie: ir: op: keep a pointer to the block that contains the op --- mie/include/mie/ir/op.h | 1 + mie/ir/block.c | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mie/include/mie/ir/op.h b/mie/include/mie/ir/op.h index c9b63f0..acc7dd1 100644 --- a/mie/include/mie/ir/op.h +++ b/mie/include/mie/ir/op.h @@ -55,6 +55,7 @@ struct mie_op { const struct mie_dialect *op_dialect; const struct mie_op_definition *op_info; + struct mie_block *op_container; struct mie_file_span op_name_span; /* only valid if the F_RESOLVED flag is NOT set */ char *op_name; diff --git a/mie/ir/block.c b/mie/ir/block.c index 2802665..9416da4 100644 --- a/mie/ir/block.c +++ b/mie/ir/block.c @@ -4,7 +4,15 @@ struct mie_op *mie_block_add_op(struct mie_block *block) { - return mie_vector_emplace_back(block->b_ops, NULL); + struct mie_op *op = mie_vector_emplace_back(block->b_ops, NULL); + if (!op) { + return NULL; + } + + mie_op_init(op); + op->op_container = block; + + return op; } struct mie_register *mie_block_add_param(struct mie_block *block)