diff options
Diffstat (limited to 'gcc/cfgloop.c')
-rw-r--r-- | gcc/cfgloop.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c index d11456366e6..516a72eb941 100644 --- a/gcc/cfgloop.c +++ b/gcc/cfgloop.c @@ -924,22 +924,16 @@ get_loop_body_in_bfs_order (const struct loop *loop) edge e; edge_iterator ei; - if (!bitmap_bit_p (visited, bb->index)) - { - /* This basic block is now visited */ - bitmap_set_bit (visited, bb->index); - blocks[i++] = bb; - } + if (bitmap_set_bit (visited, bb->index)) + /* This basic block is now visited */ + blocks[i++] = bb; FOR_EACH_EDGE (e, ei, bb->succs) { if (flow_bb_inside_loop_p (loop, e->dest)) { - if (!bitmap_bit_p (visited, e->dest->index)) - { - bitmap_set_bit (visited, e->dest->index); - blocks[i++] = e->dest; - } + if (bitmap_set_bit (visited, e->dest->index)) + blocks[i++] = e->dest; } } |