From: Jason Ekstrand Date: Fri, 31 Oct 2014 04:18:22 +0000 (-0700) Subject: nir: set reg_alloc and ssa_alloc when indexing registers and SSA values X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c9a21c725dab3613b0e81d9abe497a9f6018b391;p=mesa.git nir: set reg_alloc and ssa_alloc when indexing registers and SSA values Reviewed-by: Connor Abbott --- diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c index 3c3afef165a..adb353b909e 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 84be1d65f0a..b9a17ed5fff 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;