Hi, This is a series I had floating around a while. The idea is to have all the opcode stuff, including constant folding, derived from a single Python file. I've cleaned it up a little by using {}-style Python formatting instead of the pile of text-replacement and regular expressions we had before for getting the constant expressions to a state where they could be compiled as C code.
Connor Abbott (5): nir: add generated file to .gitignore nir: use Python to autogenerate opcode information nir: add new constant folding infrastructure nir/constant_folding: use the new constant folding infrastructure nir/lower_vars_to_ssa: fix a bug with boolean constants src/glsl/Makefile.am | 23 +- src/glsl/Makefile.sources | 7 +- src/glsl/nir/.gitignore | 4 + src/glsl/nir/nir.h | 9 - src/glsl/nir/nir_constant_expressions.h | 32 ++ src/glsl/nir/nir_constant_expressions.py | 320 +++++++++++++++++ src/glsl/nir/nir_lower_vars_to_ssa.c | 2 +- src/glsl/nir/nir_opcodes.c | 46 --- src/glsl/nir/nir_opcodes.h | 366 -------------------- src/glsl/nir/nir_opcodes.py | 567 +++++++++++++++++++++++++++++++ src/glsl/nir/nir_opcodes_c.py | 56 +++ src/glsl/nir/nir_opcodes_h.py | 39 +++ src/glsl/nir/nir_opt_constant_folding.c | 179 ++-------- 13 files changed, 1066 insertions(+), 584 deletions(-) create mode 100644 src/glsl/nir/.gitignore create mode 100644 src/glsl/nir/nir_constant_expressions.h create mode 100644 src/glsl/nir/nir_constant_expressions.py delete mode 100644 src/glsl/nir/nir_opcodes.c delete mode 100644 src/glsl/nir/nir_opcodes.h create mode 100644 src/glsl/nir/nir_opcodes.py create mode 100644 src/glsl/nir/nir_opcodes_c.py create mode 100644 src/glsl/nir/nir_opcodes_h.py -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev