From e60fcf0a8721efc4973910cde4733f4b3b54cb6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 2 Dec 2020 15:34:26 +0100 Subject: [PATCH] nir/opt_sink: return early when trying to sink unused instructions Fixes: 5f6c5e5b86f366c6fe0a0911fdc1926f1e0d1d5f ('nir: don't sink instructions into loops') Reviewed-by: Rhys Perry Part-of: --- src/compiler/nir/nir_opt_sink.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/nir/nir_opt_sink.c b/src/compiler/nir/nir_opt_sink.c index 25ce7aaf1fb..e86ca3c0a5d 100644 --- a/src/compiler/nir/nir_opt_sink.c +++ b/src/compiler/nir/nir_opt_sink.c @@ -166,6 +166,10 @@ get_preferred_block(nir_ssa_def *def, bool sink_out_of_loops) lca = nir_dominance_lca(lca, use_block); } + /* return in case, we didn't find a reachable user */ + if (!lca) + return NULL; + /* We don't sink any instructions into loops to avoid repeated executions * This might occasionally increase register pressure, but seems overall * the better choice.