Module: Mesa
Branch: main
Commit: e8220b9319895318132c4f72b857b0910220a52d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8220b9319895318132c4f72b857b0910220a52d

Author: Caio Oliveira <caio.olive...@intel.com>
Date:   Mon Nov 20 14:24:11 2023 -0800

intel/compiler: Simplify allocation of NIR related arrays

Those are not reused, so this will be the first and only allocation, so
no need to use the "realloc" variants.

For the fs_reg arrays, there's currently no particular reason to keep
them uninitialized, so zero-initialize them too -- not ideal but better
than random values.

Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26302>

---

 src/intel/compiler/brw_fs_nir.cpp | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/src/intel/compiler/brw_fs_nir.cpp 
b/src/intel/compiler/brw_fs_nir.cpp
index 0f89a439d8b..acd09365008 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -306,21 +306,10 @@ fs_visitor::nir_emit_system_values()
 void
 fs_visitor::nir_emit_impl(nir_function_impl *impl)
 {
-   nir_ssa_values = reralloc(mem_ctx, nir_ssa_values, fs_reg,
-                             impl->ssa_alloc);
-
-   nir_resource_insts = reralloc(mem_ctx, nir_resource_insts, fs_inst *,
-                                 impl->ssa_alloc);
-   memset(nir_resource_insts, 0, sizeof(nir_resource_insts[0]) * 
impl->ssa_alloc);
-
-   nir_ssa_bind_infos = reralloc(mem_ctx, nir_ssa_bind_infos,
-                                 struct brw_fs_bind_info,
-                                 impl->ssa_alloc);
-   memset(nir_ssa_bind_infos, 0,
-          sizeof(nir_ssa_bind_infos[0]) * impl->ssa_alloc);
-
-   nir_resource_values = reralloc(mem_ctx, nir_resource_values, fs_reg,
-                                  impl->ssa_alloc);
+   nir_ssa_values = rzalloc_array(mem_ctx, fs_reg, impl->ssa_alloc);
+   nir_resource_insts = rzalloc_array(mem_ctx, fs_inst *, impl->ssa_alloc);
+   nir_ssa_bind_infos = rzalloc_array(mem_ctx, struct brw_fs_bind_info, 
impl->ssa_alloc);
+   nir_resource_values = rzalloc_array(mem_ctx, fs_reg, impl->ssa_alloc);
 
    nir_emit_cf_list(&impl->body);
 }

Reply via email to