From d950d427404a261a53bd54f36ddaca629b67ab51 Mon Sep 17 00:00:00 2001 From: Sebastian Hack Date: Thu, 13 Jan 2005 14:43:54 +0000 Subject: [PATCH] Added iteration macro [r4892] --- ir/ana/irdom.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ir/ana/irdom.h b/ir/ana/irdom.h index fadfe7502..3ff303759 100644 --- a/ir/ana/irdom.h +++ b/ir/ana/irdom.h @@ -88,6 +88,16 @@ ir_node *get_Block_dominated_first(const ir_node *bl); */ ir_node *get_Block_dominated_next(const ir_node *dom); +/** + * Iterate over all nodes which are immediately dominated by a given + * node. + * @param bl The block whose dominated blocks shall be iterated on. + * @param curr An iterator variable of type ir_node* + */ +#define dominates_for_each(bl,curr) \ + for(curr = get_Block_dominated_first(bl); curr; \ + curr = get_Block_dominated_next(curr)) + /** * Check, if a block dominates another block. * @param a The first block. -- 2.20.1