diff options
Diffstat (limited to 'gcc/cfganal.c')
-rw-r--r-- | gcc/cfganal.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/cfganal.c b/gcc/cfganal.c index f2322535243..45e9590b3a3 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -308,11 +308,15 @@ find_unreachable_blocks (void) basic_block b = *--tos; FOR_EACH_EDGE (e, ei, b->succs) - if (!(e->dest->flags & BB_REACHABLE)) - { - *tos++ = e->dest; - e->dest->flags |= BB_REACHABLE; - } + { + basic_block dest = e->dest; + + if (!(dest->flags & BB_REACHABLE)) + { + *tos++ = dest; + dest->flags |= BB_REACHABLE; + } + } } free (worklist); |