nir/split_var_copies: Use a nir_shader rather than a void *mem_ctx

Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
diff --git a/src/compiler/nir/nir_split_var_copies.c b/src/compiler/nir/nir_split_var_copies.c
index cfebb0b..94a45ee 100644
--- a/src/compiler/nir/nir_split_var_copies.c
+++ b/src/compiler/nir/nir_split_var_copies.c
@@ -62,7 +62,7 @@
  */
 
 struct split_var_copies_state {
-   void *mem_ctx;
+   nir_shader *shader;
    void *dead_ctx;
    bool progress;
 };
@@ -176,7 +176,7 @@
           * actually add the new copy instruction.
           */
          nir_intrinsic_instr *new_copy =
-            nir_intrinsic_instr_create(state->mem_ctx, nir_intrinsic_copy_var);
+            nir_intrinsic_instr_create(state->shader, nir_intrinsic_copy_var);
 
          /* We need to make copies because a) this deref chain actually
           * belongs to the copy instruction and b) the deref chains may
@@ -254,7 +254,7 @@
 {
    struct split_var_copies_state state;
 
-   state.mem_ctx = ralloc_parent(impl);
+   state.shader = impl->function->shader;
    state.dead_ctx = ralloc_context(NULL);
    state.progress = false;