<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>