From c9a21c725dab3613b0e81d9abe497a9f6018b391 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 30 Oct 2014 21:18:22 -0700 Subject: [PATCH] nir: set reg_alloc and ssa_alloc when indexing registers and SSA values Reviewed-by: Connor Abbott --- src/glsl/nir/nir.c | 3 +++ src/glsl/nir/nir.h | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c index 3c3afef..adb353b 100644 --- a/src/glsl/nir/nir.c +++ b/src/glsl/nir/nir.c @@ -1340,6 +1340,7 @@ nir_index_local_regs(nir_function_impl *impl) foreach_list_typed(nir_register, reg, node, &impl->registers) { reg->index = index++; } + impl->reg_alloc = index; } void @@ -1349,6 +1350,7 @@ nir_index_global_regs(nir_shader *shader) foreach_list_typed(nir_register, reg, node, &shader->registers) { reg->index = index++; } + shader->reg_alloc = index; } static bool @@ -1771,4 +1773,5 @@ nir_index_ssa_defs(nir_function_impl *impl) { unsigned index = 0; nir_foreach_block(impl, index_ssa_block, &index); + impl->ssa_alloc = index; } diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 84be1d6..b9a17ed 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -357,7 +357,7 @@ typedef struct { unsigned num_components; /** < number of vector components */ unsigned num_array_elems; /** < size of array (0 for no array) */ - /** for liveness analysis, the index in the bit-array of live variables */ + /** generic register index. */ unsigned index; /** only for debug purposes, can be NULL */ @@ -417,7 +417,7 @@ typedef struct { /** for debugging only, can be NULL */ const char* name; - /** index into the bit-array for liveness analysis */ + /** generic SSA definition index. */ unsigned index; nir_instr *parent_instr; -- 2.7.4