From: Alyssa Rosenzweig Date: Thu, 5 Mar 2020 21:44:49 +0000 (-0500) Subject: pan/bi: Add instruction emit/remove helpers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=55dab92073f14a9b9c42175af9ddc210277bca5e;p=mesa.git pan/bi: Add instruction emit/remove helpers As we start descending into code generation these will be of interest. Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index 2b390c19add..d57bdc2c9cc 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -324,10 +324,26 @@ typedef struct { /* During NIR->BIR */ bi_block *current_block; unsigned block_name_count; + bi_block *after_block; /* Stats for shader-db */ unsigned instruction_count; -} bi_context; +} bi_context; + +static inline bi_instruction * +bi_emit(bi_context *ctx, bi_instruction ins) +{ + bi_instruction *u = rzalloc(ctx, bi_instruction); + memcpy(u, &ins, sizeof(ins)); + list_addtail(&u->link, &ctx->current_block->instructions); + return u; +} + +static inline void +bi_remove_instruction(bi_instruction *ins) +{ + list_del(&ins->link); +} /* So we can distinguish between SSA/reg/sentinel quickly */ #define BIR_NO_ARG (0)