From: Matt Turner Date: Fri, 11 Jul 2014 00:30:40 +0000 (-0700) Subject: i965/cfg: Add a foreach_inst_in_block_safe macro. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=26624b85e70cc4fdf77d7a4be15c154644db5894;p=mesa.git i965/cfg: Add a foreach_inst_in_block_safe macro. Reviewed-by: Topi Pohjolainen --- diff --git a/src/mesa/drivers/dri/i965/brw_cfg.h b/src/mesa/drivers/dri/i965/brw_cfg.h index a5d2df58fa4..913a1ed85de 100644 --- a/src/mesa/drivers/dri/i965/brw_cfg.h +++ b/src/mesa/drivers/dri/i965/brw_cfg.h @@ -120,6 +120,14 @@ struct cfg_t { __inst != __block->end->next; \ __inst = (__type *)__inst->next) +#define foreach_inst_in_block_safe(__type, __inst, __block) \ + for (__type *__inst = (__type *)__block->start, \ + *__next = (__type *)__inst->next, \ + *__end = (__type *)__block->end->next->next; \ + __next != __end; \ + __inst = __next, \ + __next = (__type *)__next->next) + #define foreach_inst_in_block_reverse(__type, __inst, __block) \ for (__type *__inst = (__type *)__block->end; \ __inst != __block->start->prev; \