[Mesa-dev] [PATCH 1/3] nir/worklist: Rework the foreach macro

Caio Marcelo de Oliveira Filho caio.oliveira at intel.com
Thu Jul 5 23:19:01 UTC 2018


Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>


On Tue, Jul 03, 2018 at 11:13:07PM -0700, Jason Ekstrand wrote:
> This makes the arguments match the (thing, container) pattern used in
> other nir_foreach macros and also renames it to make that a bit more
> clear.
> ---
>  src/compiler/nir/nir_opt_dce.c  | 3 +--
>  src/compiler/nir/nir_worklist.h | 4 ++--
>  2 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/compiler/nir/nir_opt_dce.c b/src/compiler/nir/nir_opt_dce.c
> index c9b338862e6..70532be33d7 100644
> --- a/src/compiler/nir/nir_opt_dce.c
> +++ b/src/compiler/nir/nir_opt_dce.c
> @@ -129,8 +129,7 @@ nir_opt_dce_impl(nir_function_impl *impl)
>        init_block(block, worklist);
>     }
>  
> -   nir_instr *instr = NULL;
> -   nir_instr_worklist_foreach(worklist, instr)
> +   nir_foreach_instr_in_worklist(instr, worklist)
>        nir_foreach_src(instr, mark_live_cb, worklist);
>  
>     nir_instr_worklist_destroy(worklist);
> diff --git a/src/compiler/nir/nir_worklist.h b/src/compiler/nir/nir_worklist.h
> index 3fb391fceff..05aa757eb79 100644
> --- a/src/compiler/nir/nir_worklist.h
> +++ b/src/compiler/nir/nir_worklist.h
> @@ -154,8 +154,8 @@ nir_instr_worklist_pop_head(nir_instr_worklist *wl)
>     return *vec_instr;
>  }
>  
> -#define nir_instr_worklist_foreach(wl, instr)                    \
> -   while ((instr = nir_instr_worklist_pop_head(wl)))
> +#define nir_foreach_instr_in_worklist(instr, wl) \
> +   for (nir_instr *instr; (instr = nir_instr_worklist_pop_head(wl));)
>  
>  #ifdef __cplusplus
>  } /* extern "C" */
> -- 
> 2.17.1
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list