mie: builtin: implement op printer callbacks
This commit is contained in:
@@ -1,11 +1,20 @@
|
|||||||
#include <mie/dialect/dialect.h>
|
#include <mie/dialect/dialect.h>
|
||||||
#include <mie/ir/op-definition.h>
|
#include <mie/ir/op-definition.h>
|
||||||
#include <mie/ir/op.h>
|
#include <mie/ir/op.h>
|
||||||
|
#include <mie/ir/region.h>
|
||||||
#include <mie/macros.h>
|
#include <mie/macros.h>
|
||||||
#include <mie/print/printer.h>
|
#include <mie/print/printer.h>
|
||||||
|
|
||||||
static enum mie_status print(struct mie_printer *printer, const struct mie_op *op)
|
static enum mie_status print(struct mie_printer *out, const struct mie_op *op)
|
||||||
{
|
{
|
||||||
|
b_stream_write_char(out->p_stream, ' ');
|
||||||
|
if (MIE_VECTOR_COUNT(op->op_regions) == 0) {
|
||||||
|
return MIE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct mie_region *region = &op->op_regions.items[0];
|
||||||
|
mie_printer_print_region(out, region, 0);
|
||||||
|
|
||||||
return MIE_SUCCESS;
|
return MIE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,17 +15,7 @@ static void type_init(
|
|||||||
type->ty_instance_size = sizeof(struct mie_index);
|
type->ty_instance_size = sizeof(struct mie_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
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) ? "index" : "!builtin.index",
|
|
||||||
NULL);
|
|
||||||
return MIE_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
MIE_TYPE_DEFINITION_BEGIN(mie_builtin_index, "index")
|
MIE_TYPE_DEFINITION_BEGIN(mie_builtin_index, "index")
|
||||||
MIE_TYPE_DEFINITION_STRUCT(struct index_type);
|
MIE_TYPE_DEFINITION_STRUCT(struct index_type);
|
||||||
MIE_TYPE_DEFINITION_INIT(type_init);
|
MIE_TYPE_DEFINITION_INIT(type_init);
|
||||||
MIE_TYPE_DEFINITION_PRINT(print);
|
|
||||||
MIE_TYPE_DEFINITION_END()
|
MIE_TYPE_DEFINITION_END()
|
||||||
|
|||||||
Reference in New Issue
Block a user