From 410de0e3f1690f905c268549cef1e1e60d63e8d9 Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Tue, 14 Aug 2018 15:06:38 -0700 Subject: [PATCH] nir: Give end_block its own index Since there's no particular reason for the index to be 0, choose an index that is not used by other block. This is convenient when we store "per-block" data in an array AND look for the successors data (e.g. any kind of backwards data-flow analysis). v2: Add a note about end_block's index. (Jason) Reviewed-by: Jason Ekstrand --- src/compiler/nir/nir.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c index e12aa5d80f5..7ae46845191 100644 --- a/src/compiler/nir/nir.c +++ b/src/compiler/nir/nir.c @@ -1641,7 +1641,10 @@ nir_index_blocks(nir_function_impl *impl) block->index = index++; } - impl->num_blocks = index; + /* The end_block isn't really part of the program, which is why its index + * is >= num_blocks. + */ + impl->num_blocks = impl->end_block->index = index; } static bool -- 2.11.0