aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgloop.c')
-rw-r--r--gcc/cfgloop.c15
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;
+}