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(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
