From 7119712f4582b387323ecfaf0227ed070328d9e8 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Mon, 1 Sep 2014 20:01:50 -0700 Subject: i965/cfg: Add macros to iterate through a block given a starting point. Reviewed-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/brw_cfg.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/mesa') 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 */ -- cgit v1.2.3