nir/large_constants: Use ralloc for var_infos
authorCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Fri, 7 Jun 2019 16:21:09 +0000 (09:21 -0700)
committerCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Thu, 18 Jul 2019 19:24:24 +0000 (12:24 -0700)
This will be used later on to allocate constant data for each
variable (and then deduplicate).  Also drop initializing found_read,
as it is already implicitly false in the literal.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/nir/nir_opt_large_constants.c

index 09361a0099d3d03692152bccb6ab1601cde8bdb4..3d988557ef2fc7ef00cf1e39def85ea1073be82f 100644 (file)
@@ -159,7 +159,7 @@ nir_opt_large_constants(nir_shader *shader,
    if (num_locals == 0)
       return false;
 
-   struct var_info *var_infos = malloc(num_locals * sizeof(struct var_info));
+   struct var_info *var_infos = ralloc_array(NULL, struct var_info, num_locals);
    for (unsigned i = 0; i < num_locals; i++) {
       var_infos[i] = (struct var_info) {
          .is_constant = true,
@@ -263,7 +263,7 @@ nir_opt_large_constants(nir_shader *shader,
    }
 
    if (shader->constant_data_size == 0) {
-      free(var_infos);
+      ralloc_free(var_infos);
       return false;
    }
 
@@ -343,7 +343,7 @@ nir_opt_large_constants(nir_shader *shader,
          exec_node_remove(&var->node);
    }
 
-   free(var_infos);
+   ralloc_free(var_infos);
 
    nir_metadata_preserve(impl, nir_metadata_block_index |
                                nir_metadata_dominance);