Browse Source

nir: set reg_alloc and ssa_alloc when indexing registers and SSA values

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
tags/10.5-branchpoint
Jason Ekstrand 10 years ago
parent
commit
c9a21c725d
2 changed files with 5 additions and 2 deletions
  1. 3
    0
      src/glsl/nir/nir.c
  2. 2
    2
      src/glsl/nir/nir.h

+ 3
- 0
src/glsl/nir/nir.c View File

@@ -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;
}

+ 2
- 2
src/glsl/nir/nir.h View File

@@ -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;

Loading…
Cancel
Save