From ff39efdf55723c1191955aa22c877b9d8c331058 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 30 Jan 2023 20:12:05 -0600 Subject: [PATCH] nouveau/mme: Move the cf_stack struct to mme_builder.h Fermi wants exactly the same thing. Part-of: --- src/nouveau/mme/mme_builder.h | 11 +++++++++++ src/nouveau/mme/mme_tu104_builder.c | 12 ++++++------ src/nouveau/mme/mme_tu104_builder.h | 13 +------------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/nouveau/mme/mme_builder.h b/src/nouveau/mme/mme_builder.h index 0ec2e05eca4..c280934c464 100644 --- a/src/nouveau/mme/mme_builder.h +++ b/src/nouveau/mme/mme_builder.h @@ -44,6 +44,17 @@ enum mme_cmp_op { MME_CMP_OP_EQ, }; +enum mme_cf_type { + MME_CF_TYPE_IF, + MME_CF_TYPE_LOOP, + MME_CF_TYPE_WHILE, +}; + +struct mme_cf { + enum mme_cf_type type; + uint16_t start_ip; +}; + struct mme_builder; #include "mme_tu104_builder.h" diff --git a/src/nouveau/mme/mme_tu104_builder.c b/src/nouveau/mme/mme_tu104_builder.c index a6ce37898bd..8fc8ad5d35a 100644 --- a/src/nouveau/mme/mme_tu104_builder.c +++ b/src/nouveau/mme/mme_tu104_builder.c @@ -587,7 +587,7 @@ mme_cmp_to_tu104_branch_op(enum mme_cmp_op op) static void mme_tu104_start_cf(struct mme_builder *b, - enum mme_tu104_cf_type type, + enum mme_cf_type type, enum mme_tu104_alu_op op, struct mme_value x, struct mme_value y, @@ -601,7 +601,7 @@ mme_tu104_start_cf(struct mme_builder *b, uint16_t ip = tb->inst_count - 1; assert(tb->insts[ip].alu[0].op == op); - tb->cf_stack[tb->cf_depth++] = (struct mme_tu104_cf) { + tb->cf_stack[tb->cf_depth++] = (struct mme_cf) { .type = type, .start_ip = ip, }; @@ -610,8 +610,8 @@ mme_tu104_start_cf(struct mme_builder *b, mme_tu104_new_inst(tb); } -static struct mme_tu104_cf -mme_tu104_end_cf(struct mme_builder *b, enum mme_tu104_cf_type type) +static struct mme_cf +mme_tu104_end_cf(struct mme_builder *b, enum mme_cf_type type) { struct mme_tu104_builder *tb = &b->tu104; @@ -619,7 +619,7 @@ mme_tu104_end_cf(struct mme_builder *b, enum mme_tu104_cf_type type) mme_tu104_new_inst(tb); assert(tb->cf_depth > 0); - struct mme_tu104_cf cf = tb->cf_stack[--tb->cf_depth]; + struct mme_cf cf = tb->cf_stack[--tb->cf_depth]; assert(cf.type == type); int delta = tb->inst_count - cf.start_ip - 1; @@ -674,7 +674,7 @@ mme_tu104_end_while(struct mme_builder *b, { struct mme_tu104_builder *tb = &b->tu104; - struct mme_tu104_cf cf = mme_tu104_end_cf(b, MME_CF_TYPE_WHILE); + struct mme_cf cf = mme_tu104_end_cf(b, MME_CF_TYPE_WHILE); int delta = tb->inst_count - cf.start_ip - 2; uint16_t control = (-delta & BITFIELD_MASK(13)) | diff --git a/src/nouveau/mme/mme_tu104_builder.h b/src/nouveau/mme/mme_tu104_builder.h index a05ea09e46e..be9d5e03889 100644 --- a/src/nouveau/mme/mme_tu104_builder.h +++ b/src/nouveau/mme/mme_tu104_builder.h @@ -17,24 +17,13 @@ enum mme_tu104_instr_parts { #define MME_TU104_BUILDER_MAX_INSTS 128 -enum mme_tu104_cf_type { - MME_CF_TYPE_IF, - MME_CF_TYPE_LOOP, - MME_CF_TYPE_WHILE, -}; - -struct mme_tu104_cf { - enum mme_tu104_cf_type type; - uint16_t start_ip; -}; - struct mme_tu104_builder { uint32_t inst_count; struct mme_tu104_inst insts[MME_TU104_BUILDER_MAX_INSTS]; enum mme_tu104_instr_parts inst_parts; uint32_t cf_depth; - struct mme_tu104_cf cf_stack[8]; + struct mme_cf cf_stack[8]; }; void mme_tu104_builder_init(struct mme_builder *b);