From: Alyssa Rosenzweig Date: Sun, 23 May 2021 18:25:25 +0000 (-0400) Subject: agx: Lift agx_block_add_successor from Panfrost X-Git-Tag: upstream/21.2.3~936 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a207c77314b77e31abc105b7d9d62a607216dc95;p=platform%2Fupstream%2Fmesa.git agx: Lift agx_block_add_successor from Panfrost Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 260896b..d11712e 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -50,6 +50,31 @@ int agx_debug = 0; __FUNCTION__, __LINE__, ##__VA_ARGS__); } while (0) static void +agx_block_add_successor(agx_block *block, agx_block *successor) +{ + assert(block != NULL && successor != NULL); + + /* Cull impossible edges */ + if (block->unconditional_jumps) + return; + + for (unsigned i = 0; i < ARRAY_SIZE(block->successors); ++i) { + if (block->successors[i]) { + if (block->successors[i] == successor) + return; + else + continue; + } + + block->successors[i] = successor; + _mesa_set_add(successor->predecessors, block); + return; + } + + unreachable("Too many successors"); +} + +static void agx_emit_load_const(agx_builder *b, nir_load_const_instr *instr) { /* Ensure we've been scalarized and bit size lowered */