pan/bi: Export bi_block_add_successor
For use in unit tests that need to create blocks. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>
This commit is contained in:
parent
d7c6b7c9d2
commit
7bb635316b
|
@ -115,31 +115,6 @@ bi_instance_id(bi_builder *b)
|
|||
return bi_preload(b, (b->shader->arch >= 9) ? 61 : 62);
|
||||
}
|
||||
|
||||
static void
|
||||
bi_block_add_successor(bi_block *block, bi_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;
|
||||
util_dynarray_append(&successor->predecessors, bi_block *, block);
|
||||
return;
|
||||
}
|
||||
|
||||
unreachable("Too many successors");
|
||||
}
|
||||
|
||||
static void
|
||||
bi_emit_jump(bi_builder *b, nir_jump_instr *instr)
|
||||
{
|
||||
|
|
|
@ -710,6 +710,31 @@ bi_exit_block(struct list_head *blocks)
|
|||
return last;
|
||||
}
|
||||
|
||||
static inline void
|
||||
bi_block_add_successor(bi_block *block, bi_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;
|
||||
util_dynarray_append(&successor->predecessors, bi_block *, block);
|
||||
return;
|
||||
}
|
||||
|
||||
unreachable("Too many successors");
|
||||
}
|
||||
|
||||
/* Subset of pan_shader_info needed per-variant, in order to support IDVS */
|
||||
struct bi_shader_info {
|
||||
struct panfrost_ubo_push *push;
|
||||
|
|
Loading…
Reference in New Issue