From: Matt Turner Date: Tue, 2 Sep 2014 03:01:50 +0000 (-0700) Subject: i965/cfg: Add macros to iterate through a block given a starting point. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7119712f4582b387323ecfaf0227ed070328d9e8;p=mesa.git i965/cfg: Add macros to iterate through a block given a starting point. 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 7985a9795ac..3819f1f3401 100644 --- a/src/mesa/drivers/dri/i965/brw_cfg.h +++ b/src/mesa/drivers/dri/i965/brw_cfg.h @@ -142,4 +142,14 @@ struct cfg_t { __inst != __block->start->prev; \ __inst = (__type *)__inst->prev) +#define foreach_inst_in_block_starting_from(__type, __scan_inst, __inst, __block) \ + for (__type *__scan_inst = (__type *)__inst->next; \ + __scan_inst != __block->end->next; \ + __scan_inst = (__type *)__scan_inst->next) + +#define foreach_inst_in_block_reverse_starting_from(__type, __scan_inst, __inst, __block) \ + for (__type *__scan_inst = (__type *)__inst->prev; \ + __scan_inst != __block->start->prev; \ + __scan_inst = (__type *)__scan_inst->prev) + #endif /* BRW_CFG_H */