From: Caio Marcelo de Oliveira Filho Date: Fri, 8 Mar 2019 19:50:47 +0000 (-0800) Subject: intel/nir: Combine store_derefs after vectorizing IO X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=10dfb0011e7079e770184d252045c13c40e6b274;p=mesa.git intel/nir: Combine store_derefs after vectorizing IO Shader-db results for skl: total instructions in shared programs: 15232903 -> 15224781 (-0.05%) instructions in affected programs: 61246 -> 53124 (-13.26%) helped: 221 HURT: 0 total cycles in shared programs: 371440470 -> 371398018 (-0.01%) cycles in affected programs: 281363 -> 238911 (-15.09%) helped: 221 HURT: 0 Results for bdw are very similar. Reviewed-by: Jason Ekstrand --- diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c index 23005b00374..1b99a3b2316 100644 --- a/src/intel/compiler/brw_nir.c +++ b/src/intel/compiler/brw_nir.c @@ -791,6 +791,7 @@ brw_nir_link_shaders(const struct brw_compiler *compiler, } NIR_PASS_V(*producer, nir_lower_io_to_vector, nir_var_shader_out); + NIR_PASS_V(*producer, nir_opt_combine_stores, nir_var_shader_out); NIR_PASS_V(*consumer, nir_lower_io_to_vector, nir_var_shader_in); if ((*producer)->info.stage != MESA_SHADER_TESS_CTRL) {