From dbce99a809dfd9f050ba28b8341562e418675695 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 25 Jan 2021 12:02:21 +0100 Subject: [PATCH] pan/bi: Add an is_terminal_block() helper Needed to decide what to do with JUMPs/BRANCHes to such blocks. Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/compiler.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index 33dac9ce761..8b21728e31e 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -746,6 +746,15 @@ bool bi_can_insert_tuple(bi_clause *clause, bool constant); unsigned bi_clause_quadwords(bi_clause *clause); signed bi_block_offset(bi_context *ctx, bi_clause *start, bi_block *target); +static inline bool +bi_is_terminal_block(bi_context *ctx, bi_block *block) +{ + + return block->base.successors[0] == NULL && + block->base.successors[1] == NULL && + list_is_empty(&block->clauses); +} + /* Code emit */ void bi_pack(bi_context *ctx, struct util_dynarray *emission);