pan/midgard: Add mir_foreach_successor helper
Now we should be able to walk the control-flow graph naturally. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
@@ -360,6 +360,14 @@ mir_next_op(struct midgard_instruction *ins)
|
||||
mir_foreach_block(ctx, v_block) \
|
||||
mir_foreach_instr_in_block_safe(v_block, v)
|
||||
|
||||
#define mir_foreach_successor(blk, v) \
|
||||
struct midgard_block *v; \
|
||||
struct midgard_block **_v; \
|
||||
for (_v = &blk->successors[0], \
|
||||
v = *_v; \
|
||||
v != NULL && _v < &blk->successors[2]; \
|
||||
_v++, v = *_v) \
|
||||
|
||||
/* Based on set_foreach, expanded with automatic type casts */
|
||||
|
||||
#define mir_foreach_predecessor(blk, v) \
|
||||
|
||||
Reference in New Issue
Block a user