The exit block is gauranteed to be empty, signaling the end of the program.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzw...@collabora.com> --- src/panfrost/midgard/compiler.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/panfrost/midgard/compiler.h b/src/panfrost/midgard/compiler.h index fb47c3475bf..e51ea8ba602 100644 --- a/src/panfrost/midgard/compiler.h +++ b/src/panfrost/midgard/compiler.h @@ -377,6 +377,19 @@ mir_get_block(compiler_context *ctx, int idx) return (struct midgard_block *) lst; } +static inline midgard_block * +mir_exit_block(struct compiler_context *ctx) +{ + midgard_block *last = list_last_entry(&ctx->blocks, + struct midgard_block, link); + + /* The last block must be empty (the exit block) */ + assert(list_empty(&last->instructions)); + assert(last->nr_successors == 0); + + return last; +} + static inline bool mir_is_alu_bundle(midgard_bundle *bundle) { -- 2.23.0.rc1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev