From a97678a1c2acc1629df1b1d7c3d79147552a8761 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Mon, 19 Jan 2026 13:58:12 +0000 Subject: [PATCH] mie: add stub memref dialect --- mie/dialect/memref/memref.c | 10 ++++++ mie/dialect/memref/type/memref.c | 52 ++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 mie/dialect/memref/memref.c create mode 100644 mie/dialect/memref/type/memref.c diff --git a/mie/dialect/memref/memref.c b/mie/dialect/memref/memref.c new file mode 100644 index 0000000..9f7ea3c --- /dev/null +++ b/mie/dialect/memref/memref.c @@ -0,0 +1,10 @@ +#include +#include +#include +#include +#include +#include + +MIE_DIALECT_BEGIN(mie_memref, struct mie_dialect, "memref") + MIE_DIALECT_ADD_TYPE(mie_memref_memref); +MIE_DIALECT_END() diff --git a/mie/dialect/memref/type/memref.c b/mie/dialect/memref/type/memref.c new file mode 100644 index 0000000..9386232 --- /dev/null +++ b/mie/dialect/memref/type/memref.c @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include +#include + +enum memref_rank_type { + MEMREF_RANK_UNKNOWN = 0, + MEMREF_RANK_STATIC, + MEMREF_RANK_TYPE, +}; + +struct memref_rank { + enum memref_rank_type r_ranktype; + union { + size_t r_static; + const struct mie_type *r_type; + }; +}; + +struct memref_type { + struct mie_type m_base; + MIE_VECTOR_DECLARE(struct memref_rank, m_rank); +}; + +static void type_init( + const struct mie_type_definition *type_info, struct mie_type *type) +{ +} + +static enum mie_status print(const struct mie_type *ty, struct mie_printer *out) +{ + b_stream_write_string( + out->p_stream, + (out->p_flags & MIE_PRINT_F_ABBREVIATED) ? "memref" : "memref.memref", + NULL); + return MIE_SUCCESS; +} + +static enum mie_status parse(struct mie_parser *parser, const struct mie_type **out) +{ + printf("Parse memref!\n"); + + return MIE_ERR_BAD_FORMAT; +} + +MIE_TYPE_DEFINITION_BEGIN(mie_memref_memref, "memref") + MIE_TYPE_DEFINITION_INIT(type_init); + MIE_TYPE_DEFINITION_PRINT(print); + MIE_TYPE_DEFINITION_PARSE(parse); +MIE_TYPE_DEFINITION_END()