nir: Add a bit_size to nir_register and nir_ssa_def
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 17 Nov 2015 14:45:18 +0000 (15:45 +0100)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 17 Mar 2016 10:16:33 +0000 (11:16 +0100)
commite172dbe5d2e9a4effd92823cd8ebc342e0928a36
treed64a598f1e41db5b8c2a32dd3f9fcf79b8d0d9d8
parent3d37de930d04da1d067b40593b55fc248eaf7b3b
nir: Add a bit_size to nir_register and nir_ssa_def

This really hacky commit adds a bit size to registers and SSA values.  It
also adds rules in the validator to validate that they do the right things.

It's still an open question as to whether or not we want a bit_size in
nir_alu_instr or if we just want to let it inherit from the destination.
I'm inclined to just let it inherit from the destination.  A similar
question needs to be asked about intrinsics.

v2 (Connor):
  - Relax validation: comparisons have explicit destination sizes
    and implicit source sizes.

v3 (Sam):
- Use helpers to get size and base types of nir_alu_type enum.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/compiler/nir/nir.c
src/compiler/nir/nir.h
src/compiler/nir/nir_validate.c