From 26624b85e70cc4fdf77d7a4be15c154644db5894 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 10 Jul 2014 17:30:40 -0700 Subject: [PATCH] i965/cfg: Add a foreach_inst_in_block_safe macro. Reviewed-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/brw_cfg.h | 8 ++++++++ 1 file changed, 8 insertions(+) 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; \ -- 2.30.2