summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Ekstrand <jason@jlekstrand.net>2019-08-30 13:21:00 -0500
committerJason Ekstrand <jason@jlekstrand.net>2019-09-06 23:39:01 +0000
commit37cdb7fc4465cba67b220f940404338f6ff98ee1 (patch)
tree4ad342ab9be410f5e29458d36c82f68496da0803
parent34541be7b04d76c5589600553995467daca6c30d (diff)
nir: Handle complex derefs in nir_split_array_vars
We already bail and don't split the vars but we were passing a NULL to _mesa_hash_table_search which is not allowed. Fixes: f1cb3348f1 "nir/split_vars: Properly bail in the presence of ..." Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
-rw-r--r--src/compiler/nir/nir_split_vars.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/nir/nir_split_vars.c b/src/compiler/nir/nir_split_vars.c
index 3d98b5c8805..80536ac543a 100644
--- a/src/compiler/nir/nir_split_vars.c
+++ b/src/compiler/nir/nir_split_vars.c
@@ -427,8 +427,11 @@ get_array_deref_info(nir_deref_instr *deref,
if (!(deref->mode & modes))
return NULL;
- return get_array_var_info(nir_deref_instr_get_variable(deref),
- var_info_map);
+ nir_variable *var = nir_deref_instr_get_variable(deref);
+ if (var == NULL)
+ return NULL;
+
+ return get_array_var_info(var, var_info_map);
}
static void