diff options
Diffstat (limited to 'gcc/cfgloop.c')
-rw-r--r-- | gcc/cfgloop.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c index 0e95323..f6fe623 100644 --- a/gcc/cfgloop.c +++ b/gcc/cfgloop.c @@ -1620,3 +1620,18 @@ single_exit (const struct loop *loop) else return NULL; } + +/* Returns true when BB has an edge exiting LOOP. */ + +bool +is_loop_exit (struct loop *loop, basic_block bb) +{ + edge e; + edge_iterator ei; + + FOR_EACH_EDGE (e, ei, bb->preds) + if (loop_exit_edge_p (loop, e)) + return true; + + return false; +} |