nir: Add a deref path helper struct

This commit introduces a new nir_deref.h header for helpers that are
less common and really only needed by a few heavy-duty passes.  In this
header is a new struct for representing a full deref path which can be
walked in either direction.

v2 (Jason Ekstrand):
 - Assert that deref != NULL (Caio)
 - Fill _short_path with 0xdeadbeef in debug builds when not used (Caio)
 - Make nir_deref_path a typedef (Rob)

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jason Ekstrand
2018-03-20 11:11:25 -07:00
parent 535289a3a9
commit a406f7e0c9
4 changed files with 114 additions and 0 deletions

View File

@@ -93,6 +93,7 @@ files_libnir = files(
'nir_control_flow.h',
'nir_control_flow_private.h',
'nir_deref.c',
'nir_deref.h',
'nir_dominance.c',
'nir_format_convert.h',
'nir_from_ssa.c',