<div dir="ltr">ping<br></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jul 29, 2018 at 12:44 AM Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is the second version of my optimization series for variables. The<br>
first version, including the very descriptive cover letter can be found<br>
here:<br>
<br>
<a href="https://patchwork.freedesktop.org/series/47295/" rel="noreferrer" target="_blank">https://patchwork.freedesktop.org/series/47295/</a><br>
<br>
This second version contains changes to the array splitting and vector<br>
narrowing passes. The array splitting pass is just cleaned up a bit to<br>
be more understandable and match the other passes better. The vector<br>
narrowing pass is renamed to nir_shrink_vec_array_vars and is improved to<br>
also be able to shrink over-sized arrays.<br>
<br>
This series can be found on my gitlab here:<br>
<br>
<a href="https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/nir-var-opts" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/nir-var-opts</a><br>
<br>
Cc: Timothy Arceri <<a href="mailto:tarceri@itsqueeze.com" target="_blank">tarceri@itsqueeze.com</a>><br>
Cc: Caio Marcelo de Oliveira Filho <<a href="mailto:caio.oliveira@intel.com" target="_blank">caio.oliveira@intel.com</a>><br>
<br>
Jason Ekstrand (11):<br>
util/list: Make some helpers take const lists<br>
nir: Take if uses into account in ssa_def_components_read<br>
nir/instr_set: Fix nir_instrs_equal for derefs<br>
nir/types: Add array_or_matrix helpers<br>
nir: Add a structure splitting pass<br>
nir: Add an array splitting pass<br>
intel/nir: Use the new structure and array splitting passes<br>
nir: Add a array-of-vector variable shrinking pass<br>
intel/nir: Use nir_shrink_vec_array_vars<br>
nir: Add an array copy optimization<br>
intel/nir: Enable nir_opt_find_array_copies<br>
<br>
src/compiler/Makefile.sources | 2 +<br>
src/compiler/nir/meson.build | 2 +<br>
src/compiler/nir/nir.c | 3 +<br>
src/compiler/nir/nir.h | 5 +<br>
src/compiler/nir/nir_instr_set.c | 4 +-<br>
src/compiler/nir/nir_opt_find_array_copies.c | 383 +++++<br>
src/compiler/nir/nir_split_vars.c | 1548 ++++++++++++++++++<br>
src/compiler/nir_types.cpp | 15 +<br>
src/compiler/nir_types.h | 2 +<br>
src/intel/compiler/brw_nir.c | 19 +-<br>
src/intel/compiler/brw_nir.h | 3 +-<br>
src/util/list.h | 8 +-<br>
12 files changed, 1980 insertions(+), 14 deletions(-)<br>
create mode 100644 src/compiler/nir/nir_opt_find_array_copies.c<br>
create mode 100644 src/compiler/nir/nir_split_vars.c<br>
<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>