From aeed2cc19ddfe95862cb0c426504decd3769a19e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 9 Aug 2025 02:30:24 -0400 Subject: [PATCH] nir/dominance: don't allocate 0-sized dom_children 86% of all ralloc calls for dom_children in Unigine Heaven + Superposition had size == 0. It was only allocating the ralloc header. It was 6.1% of all ralloc calls with the gallium noop driver. Reviewed-by: Gert Wollny Acked-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/compiler/nir/nir_dominance.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/nir/nir_dominance.c b/src/compiler/nir/nir_dominance.c index 14d3e1578c5..dc6726f130f 100644 --- a/src/compiler/nir/nir_dominance.c +++ b/src/compiler/nir/nir_dominance.c @@ -135,6 +135,10 @@ calc_dom_children(nir_function_impl *impl) } nir_foreach_block_unstructured(block, impl) { + if (!block->num_dom_children) { + block->dom_children = NULL; + continue; + } block->dom_children = ralloc_array(mem_ctx, nir_block *, block->num_dom_children); block->num_dom_children = 0;