diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2006-03-15 16:14:55 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2006-03-15 16:14:55 +0000 |
commit | db490c3983f6ad40724aa1a22e3e8b74dc092b6d (patch) | |
tree | 1453ddcea17581f5ff7d5632d9fce716fc3ee8f3 /gcc/tree-ssa-dce.c | |
parent | f705a9a07b93d6c311cb583c3abb6e21ad98e2cf (diff) | |
download | gcc-db490c3983f6ad40724aa1a22e3e8b74dc092b6d.tar.gz |
tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an iterator-style macro.
* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
iterator-style macro.
(mark_control_dependent_edges_necessary): Update the use of
EXECUTE_IF_CONTROL_DEPENDENT.
From-SVN: r112089
Diffstat (limited to 'gcc/tree-ssa-dce.c')
-rw-r--r-- | gcc/tree-ssa-dce.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c index 15c2ee417ff..56f17ceeee1 100644 --- a/gcc/tree-ssa-dce.c +++ b/gcc/tree-ssa-dce.c @@ -105,17 +105,12 @@ static sbitmap visited_control_parents; to be recomputed. */ static bool cfg_altered; -/* Execute CODE for each edge (given number EDGE_NUMBER within the CODE) - for which the block with index N is control dependent. */ -#define EXECUTE_IF_CONTROL_DEPENDENT(N, EDGE_NUMBER, CODE) \ - { \ - bitmap_iterator bi; \ - \ - EXECUTE_IF_SET_IN_BITMAP (control_dependence_map[N], 0, EDGE_NUMBER, bi) \ - { \ - CODE; \ - } \ - } +/* Execute code that follows the macro for each edge (given number + EDGE_NUMBER within the CODE) for which the block with index N is + control dependent. */ +#define EXECUTE_IF_CONTROL_DEPENDENT(BI, N, EDGE_NUMBER) \ + EXECUTE_IF_SET_IN_BITMAP (control_dependence_map[(N)], 0, \ + (EDGE_NUMBER), (BI)) /* Local function prototypes. */ static inline void set_control_dependence_map_bit (basic_block, int); @@ -443,6 +438,7 @@ find_obviously_necessary_stmts (struct edge_list *el) static void mark_control_dependent_edges_necessary (basic_block bb, struct edge_list *el) { + bitmap_iterator bi; unsigned edge_number; gcc_assert (bb != EXIT_BLOCK_PTR); @@ -450,7 +446,7 @@ mark_control_dependent_edges_necessary (basic_block bb, struct edge_list *el) if (bb == ENTRY_BLOCK_PTR) return; - EXECUTE_IF_CONTROL_DEPENDENT (bb->index, edge_number, + EXECUTE_IF_CONTROL_DEPENDENT (bi, bb->index, edge_number) { tree t; basic_block cd_bb = INDEX_EDGE_PRED_BB (el, edge_number); @@ -462,7 +458,7 @@ mark_control_dependent_edges_necessary (basic_block bb, struct edge_list *el) t = last_stmt (cd_bb); if (t && is_ctrl_stmt (t)) mark_stmt_necessary (t, true); - }); + } } /* Propagate necessity using the operands of necessary statements. Process |