[Mesa-dev] [PATCH 1/5] nir: Make nir_block_{first, last}_instr return NULL for empty blocks.
Jason Ekstrand
jason at jlekstrand.net
Thu Aug 27 11:45:21 PDT 2015
On Tue, Aug 25, 2015 at 1:24 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> This is a lot more reasonable than returning an offset from NULL.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/glsl/nir/nir.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
> index 40871f7..12ddeb2 100644
> --- a/src/glsl/nir/nir.h
> +++ b/src/glsl/nir/nir.h
> @@ -1219,14 +1219,14 @@ static inline nir_instr *
> nir_block_first_instr(nir_block *block)
> {
> struct exec_node *head = exec_list_get_head(&block->instr_list);
> - return exec_node_data(nir_instr, head, node);
> + return head ? exec_node_data(nir_instr, head, node) : NULL;
node is the first element of nir_instr so this is a no-op. Perhaps we
should instead just add a
STATIC_ASSERT(offsetof(nir_instr, node) == 0)
and a comment.
> }
>
> static inline nir_instr *
> nir_block_last_instr(nir_block *block)
> {
> struct exec_node *tail = exec_list_get_tail(&block->instr_list);
> - return exec_node_data(nir_instr, tail, node);
> + return tail ? exec_node_data(nir_instr, tail, node) : NULL;
> }
>
> #define nir_foreach_instr(block, instr) \
> --
> 2.5.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list