[Mesa-dev] [PATCH v2 00/11] nir: Add some optimizations on variables
Jason Ekstrand
jason at jlekstrand.net
Sun Jul 29 05:44:31 UTC 2018
This is the second version of my optimization series for variables. The
first version, including the very descriptive cover letter can be found
here:
https://patchwork.freedesktop.org/series/47295/
This second version contains changes to the array splitting and vector
narrowing passes. The array splitting pass is just cleaned up a bit to
be more understandable and match the other passes better. The vector
narrowing pass is renamed to nir_shrink_vec_array_vars and is improved to
also be able to shrink over-sized arrays.
This series can be found on my gitlab here:
https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/nir-var-opts
Cc: Timothy Arceri <tarceri at itsqueeze.com>
Cc: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Jason Ekstrand (11):
util/list: Make some helpers take const lists
nir: Take if uses into account in ssa_def_components_read
nir/instr_set: Fix nir_instrs_equal for derefs
nir/types: Add array_or_matrix helpers
nir: Add a structure splitting pass
nir: Add an array splitting pass
intel/nir: Use the new structure and array splitting passes
nir: Add a array-of-vector variable shrinking pass
intel/nir: Use nir_shrink_vec_array_vars
nir: Add an array copy optimization
intel/nir: Enable nir_opt_find_array_copies
src/compiler/Makefile.sources | 2 +
src/compiler/nir/meson.build | 2 +
src/compiler/nir/nir.c | 3 +
src/compiler/nir/nir.h | 5 +
src/compiler/nir/nir_instr_set.c | 4 +-
src/compiler/nir/nir_opt_find_array_copies.c | 383 +++++
src/compiler/nir/nir_split_vars.c | 1548 ++++++++++++++++++
src/compiler/nir_types.cpp | 15 +
src/compiler/nir_types.h | 2 +
src/intel/compiler/brw_nir.c | 19 +-
src/intel/compiler/brw_nir.h | 3 +-
src/util/list.h | 8 +-
12 files changed, 1980 insertions(+), 14 deletions(-)
create mode 100644 src/compiler/nir/nir_opt_find_array_copies.c
create mode 100644 src/compiler/nir/nir_split_vars.c
--
2.17.1
More information about the mesa-dev
mailing list