aboutsummaryrefslogtreecommitdiffstats
path: root/src/glsl/nir/nir_dominance.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-08-06 18:18:40 -0700
committerKenneth Graunke <[email protected]>2015-08-24 13:31:41 -0700
commit8e0d4ef3410ea07d9621df3e083bc3e7c1ad2ab0 (patch)
tree659c330da07e0be1c9efd58481484dc4c14cadf4 /src/glsl/nir/nir_dominance.c
parent9f00af672b59766008994a190730d48ae03773dd (diff)
nir: Delete the nir_function_impl::start_block field.
It's simply the first nir_cf_node in the nir_function_impl::body list, which is easy enough to access - we don't to store a pointer to it explicitly. Removing it means we don't need to maintain the pointer when, say, splitting the start block when modifying control flow. Thanks to Connor Abbott for suggesting this. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/glsl/nir/nir_dominance.c')
-rw-r--r--src/glsl/nir/nir_dominance.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/glsl/nir/nir_dominance.c b/src/glsl/nir/nir_dominance.c
index 2f50db1c1f6..af4caae0055 100644
--- a/src/glsl/nir/nir_dominance.c
+++ b/src/glsl/nir/nir_dominance.c
@@ -42,7 +42,7 @@ static bool
init_block_cb(nir_block *block, void *_state)
{
dom_state *state = (dom_state *) _state;
- if (block == state->impl->start_block)
+ if (block == nir_start_block(state->impl))
block->imm_dom = block;
else
block->imm_dom = NULL;
@@ -78,7 +78,7 @@ static bool
calc_dominance_cb(nir_block *block, void *_state)
{
dom_state *state = (dom_state *) _state;
- if (block == state->impl->start_block)
+ if (block == nir_start_block(state->impl))
return true;
nir_block *new_idom = NULL;
@@ -209,12 +209,13 @@ nir_calc_dominance_impl(nir_function_impl *impl)
nir_foreach_block(impl, calc_dom_frontier_cb, &state);
- impl->start_block->imm_dom = NULL;
+ nir_block *start_block = nir_start_block(impl);
+ start_block->imm_dom = NULL;
calc_dom_children(impl);
unsigned dfs_index = 0;
- calc_dfs_indicies(impl->start_block, &dfs_index);
+ calc_dfs_indicies(start_block, &dfs_index);
}
void