nir/spirv: Move CF emit code into vtn_cfg.c
[mesa.git] / src / glsl / opt_dead_code_local.cpp
index 4770fcff2ea90bfb0684d52b8a3e74ee221043f2..ee9f22c03733bdee356315940e49f75370ec9aa4 100644 (file)
@@ -197,6 +197,11 @@ process_assignment(void *ctx, ir_assignment *ir, exec_list *assignments)
            if (entry->lhs != var)
               continue;
 
+            /* Skip if the assignment we're trying to eliminate isn't a plain
+             * variable deref. */
+            if (entry->ir->lhs->ir_type != ir_type_dereference_variable)
+               continue;
+
            int remove = entry->unused & ir->write_mask;
            if (debug) {
               printf("%s 0x%01x - 0x%01x = 0x%01x\n",