From a9ac270c5f0e29909b8baf4d3386f75a238b74ad Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Wed, 24 Nov 2021 14:17:40 +0000 Subject: [PATCH] nir/validate: don't add instrs not present in shader to shader_gc_list This makes the set smaller and GC list validation faster. Signed-off-by: Rhys Perry Reviewed-by: Emma Anholt Part-of: --- src/compiler/nir/nir_validate.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c index c00dec9..0bc1b5a 100644 --- a/src/compiler/nir/nir_validate.c +++ b/src/compiler/nir/nir_validate.c @@ -1720,8 +1720,10 @@ nir_validate_shader(nir_shader *shader, const char *when) init_validate_state(&state); if (state.shader_gc_list) { - list_for_each_entry(nir_instr, instr, &shader->gc_list, gc_node) - _mesa_set_add(state.shader_gc_list, instr); + list_for_each_entry(nir_instr, instr, &shader->gc_list, gc_node) { + if (instr->node.prev || instr->node.next) + _mesa_set_add(state.shader_gc_list, instr); + } } state.shader = shader; -- 2.7.4