nir/lower_goto_if: Add a block_for_singular_set helper
Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2401>
This commit is contained in:

committed by
Marge Bot

parent
193765e26b
commit
b892d473b4
@@ -105,6 +105,13 @@ sorted_block_arr_for_set(const struct set *block_set, void *mem_ctx)
|
|||||||
return block_arr;
|
return block_arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static nir_block *
|
||||||
|
block_for_singular_set(const struct set *block_set)
|
||||||
|
{
|
||||||
|
assert(block_set->entries == 1);
|
||||||
|
return (nir_block *)_mesa_set_next_entry(block_set, NULL)->key;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets all path variables to reach the target block via a fork
|
* Sets all path variables to reach the target block via a fork
|
||||||
*/
|
*/
|
||||||
@@ -734,9 +741,8 @@ select_blocks(struct routes *routing, nir_builder *b,
|
|||||||
struct path in_path, void *mem_ctx)
|
struct path in_path, void *mem_ctx)
|
||||||
{
|
{
|
||||||
if (!in_path.fork) {
|
if (!in_path.fork) {
|
||||||
nir_structurize(routing, b, (nir_block *)
|
nir_block *block = block_for_singular_set(in_path.reachable);
|
||||||
_mesa_set_next_entry(in_path.reachable, NULL)->key,
|
nir_structurize(routing, b, block, mem_ctx);
|
||||||
mem_ctx);
|
|
||||||
} else {
|
} else {
|
||||||
assert(!(in_path.fork->is_var &&
|
assert(!(in_path.fork->is_var &&
|
||||||
strcmp(in_path.fork->path_var->name, "path_select")));
|
strcmp(in_path.fork->path_var->name, "path_select")));
|
||||||
|
Reference in New Issue
Block a user