summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorCaio Marcelo de Oliveira Filho <[email protected]>2019-03-08 11:50:47 -0800
committerCaio Marcelo de Oliveira Filho <[email protected]>2019-03-13 08:39:16 -0700
commit10dfb0011e7079e770184d252045c13c40e6b274 (patch)
tree20f379cdb2143ed3bd6cbe22bbfc67d48fa79f08 /src/intel
parent822a8865e4645ed7e1818568d1d0338b462c7748 (diff)
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 <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/compiler/brw_nir.c1
1 files changed, 1 insertions, 0 deletions
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) {