pan/bi: Link clauses back to their blocks
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
diff --git a/src/panfrost/bifrost/bi_schedule.c b/src/panfrost/bifrost/bi_schedule.c
index f6652aa..47444b8 100644
--- a/src/panfrost/bifrost/bi_schedule.c
+++ b/src/panfrost/bifrost/bi_schedule.c
@@ -204,6 +204,7 @@
u->branch_constant = true;
u->clause_type = bi_clause_type_for_ins(ins);
+ u->block = (struct bi_block *) block;
list_addtail(&u->link, &bblock->clauses);
}
diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h
index fb95c6d..a283f3f 100644
--- a/src/panfrost/bifrost/compiler.h
+++ b/src/panfrost/bifrost/compiler.h
@@ -335,9 +335,14 @@
bi_instruction *add;
} bi_bundle;
+struct bi_block;
+
typedef struct {
struct list_head link;
+ /* Link back up for branch calculations */
+ struct bi_block *block;
+
/* A clause can have 8 instructions in bundled FMA/ADD sense, so there
* can be 8 bundles. */