diff options
author | Connor Abbott <[email protected]> | 2016-04-08 15:51:26 -0400 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-04-28 15:52:17 -0700 |
commit | 3bf3100794e4ec46c6cd4f2cd8773a70a6f5f091 (patch) | |
tree | c7691fb3de0518df557afb81792e41fe3260355f /src/compiler/nir/nir.c | |
parent | 686f247b2100d197322c698005e029135627faf9 (diff) |
nir/nir: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.c')
-rw-r--r-- | src/compiler/nir/nir.c | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c index da016b4bd71..bf8ddedc5b8 100644 --- a/src/compiler/nir/nir.c +++ b/src/compiler/nir/nir.c @@ -1673,13 +1673,6 @@ nir_block_get_following_loop(nir_block *block) return nir_cf_node_as_loop(next_node); } -static bool -index_block(nir_block *block, void *state) -{ - unsigned *index = state; - block->index = (*index)++; - return true; -} void nir_index_blocks(nir_function_impl *impl) @@ -1689,7 +1682,9 @@ nir_index_blocks(nir_function_impl *impl) if (impl->valid_metadata & nir_metadata_block_index) return; - nir_foreach_block_call(impl, index_block, &index); + nir_foreach_block(block, impl) { + block->index = index++; + } impl->num_blocks = index; } @@ -1703,15 +1698,6 @@ index_ssa_def_cb(nir_ssa_def *def, void *state) return true; } -static bool -index_ssa_block(nir_block *block, void *state) -{ - nir_foreach_instr(block, instr) - nir_foreach_ssa_def(instr, index_ssa_def_cb, state); - - return true; -} - /** * The indices are applied top-to-bottom which has the very nice property * that, if A dominates B, then A->index <= B->index. @@ -1720,18 +1706,13 @@ void nir_index_ssa_defs(nir_function_impl *impl) { unsigned index = 0; - nir_foreach_block_call(impl, index_ssa_block, &index); - impl->ssa_alloc = index; -} -static bool -index_instrs_block(nir_block *block, void *state) -{ - unsigned *index = state; - nir_foreach_instr(block, instr) - instr->index = (*index)++; + nir_foreach_block(block, impl) { + nir_foreach_instr(block, instr) + nir_foreach_ssa_def(instr, index_ssa_def_cb, &index); + } - return true; + impl->ssa_alloc = index; } /** @@ -1742,7 +1723,12 @@ unsigned nir_index_instrs(nir_function_impl *impl) { unsigned index = 0; - nir_foreach_block_call(impl, index_instrs_block, &index); + + nir_foreach_block(block, impl) { + nir_foreach_instr(block, instr) + instr->index = index++; + } + return index; } |