pan/bi: Add liveness analysis pass
Now that all the guts are shared with Midgard, it's just a matter of
wiring it in.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4150>
diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h
index 9c64a91..cc00c7f 100644
--- a/src/panfrost/bifrost/compiler.h
+++ b/src/panfrost/bifrost/compiler.h
@@ -334,6 +334,9 @@
/* For creating temporaries */
unsigned temp_alloc;
+ /* Analysis results */
+ bool has_liveness;
+
/* Stats for shader-db */
unsigned instruction_count;
unsigned loop_count;
@@ -500,4 +503,11 @@
void bi_schedule(bi_context *ctx);
+/* Liveness */
+
+void bi_compute_liveness(bi_context *ctx);
+void bi_liveness_ins_update(uint16_t *live, bi_instruction *ins, unsigned max);
+void bi_invalidate_liveness(bi_context *ctx);
+bool bi_is_live_after(bi_context *ctx, bi_block *block, bi_instruction *start, int src);
+
#endif