[Mesa-dev] [PATCH 0/6] nir/algebraic: bit size improvements

Jason Ekstrand jason at jlekstrand.net
Tue Apr 26 04:39:18 UTC 2016

This little series makes some bit size improvements to nir_algebraic.  In
particular, it adds a mechanism that allows you to specify a specific bit
size for any part of a search or replace expression to get rid of
ambiguity.  The last patch is probably the most important and also the
trickiest.  It adds a validation pass to nir_algebraic that attempts to
prove that each algebraic transformation is well-defined.  If we're going
to be doing bit size inference, we really want to catch bugs at compile
time rather than run time and this validator has already caught several
(see patch 5/6).

Jason Ekstrand (6):
  nir/algebraic: Do better error reporting of bad expressions
  nir/algebraic: Use "uint" instead of "unsigned" for uint types
  nir/algebraic: Add a mechanism for specifying the bit size of a value
  nir/search: Respect the bit_size parameter on nir_search_value
  nir/opt_algebraic: Fix some expressions with ambiguous bit sizes
  nir/algebraic: Add a bit-size validator

 src/compiler/nir/nir_algebraic.py     | 320 +++++++++++++++++++++++++++++++++-
 src/compiler/nir/nir_opt_algebraic.py |  13 +-
 src/compiler/nir/nir_search.c         |  14 ++
 src/compiler/nir/nir_search.h         |   2 +
 4 files changed, 339 insertions(+), 10 deletions(-)


More information about the mesa-dev mailing list