Skip to content
Snippets Groups Projects
Commit 2c6e34ac authored by Faith Ekstrand's avatar Faith Ekstrand :speech_balloon: Committed by Dylan Baker
Browse files

nir: Add a block_is_unreachable helper


Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: default avatarCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
(cherry picked from commit f81a2623)
parent 23bc3a40
No related branches found
No related tags found
No related merge requests found
......@@ -3378,6 +3378,7 @@ void nir_calc_dominance(nir_shader *shader);
nir_block *nir_dominance_lca(nir_block *b1, nir_block *b2);
bool nir_block_dominates(nir_block *parent, nir_block *child);
bool nir_block_is_unreachable(nir_block *block);
void nir_dump_dom_tree_impl(nir_function_impl *impl, FILE *fp);
void nir_dump_dom_tree(nir_shader *shader, FILE *fp);
......
......@@ -239,6 +239,20 @@ nir_block_dominates(nir_block *parent, nir_block *child)
child->dom_post_index <= parent->dom_post_index;
}
bool
nir_block_is_unreachable(nir_block *block)
{
assert(nir_cf_node_get_function(&block->cf_node)->valid_metadata &
nir_metadata_dominance);
assert(nir_cf_node_get_function(&block->cf_node)->valid_metadata &
nir_metadata_block_index);
/* Unreachable blocks have no dominator. The only reachable block with no
* dominator is the start block which has index 0.
*/
return block->index > 0 && block->imm_dom == NULL;
}
void
nir_dump_dom_tree_impl(nir_function_impl *impl, FILE *fp)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment