aboutsummaryrefslogtreecommitdiff
path: root/gcc/sese.c
diff options
context:
space:
mode:
authorAditya Kumar <aditya.k7@samsung.com>2015-11-19 20:35:12 +0000
committerSebastian Pop <spop@gcc.gnu.org>2015-11-19 20:35:12 +0000
commit09b574dda9435d300108fa98e1f5afd873ee9001 (patch)
treef407dee631fcdb82a0a1aada6d4cd67a367a35c2 /gcc/sese.c
parent2d25681660450f2c33b653339da158c00155430b (diff)
downloadgcc-09b574dda9435d300108fa98e1f5afd873ee9001.zip
gcc-09b574dda9435d300108fa98e1f5afd873ee9001.tar.gz
gcc-09b574dda9435d300108fa98e1f5afd873ee9001.tar.bz2
fix bootstrap without ISL on old linkers
With and without this patch passes bootstrap on x86_64-linux with and without ISL. The problem occurs on systems with older linkers that do not remove dead symbols. From-SVN: r230625
Diffstat (limited to 'gcc/sese.c')
-rw-r--r--gcc/sese.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/sese.c b/gcc/sese.c
index 94fcc11..b5da428 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -355,6 +355,38 @@ outermost_loop_in_sese (sese_l &region, basic_block bb)
return nest;
}
+/* Returns the first successor edge of BB with EDGE_TRUE_VALUE flag set. */
+
+edge
+get_true_edge_from_guard_bb (basic_block bb)
+{
+ edge e;
+ edge_iterator ei;
+
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ if (e->flags & EDGE_TRUE_VALUE)
+ return e;
+
+ gcc_unreachable ();
+ return NULL;
+}
+
+/* Returns the first successor edge of BB with EDGE_TRUE_VALUE flag cleared. */
+
+edge
+get_false_edge_from_guard_bb (basic_block bb)
+{
+ edge e;
+ edge_iterator ei;
+
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ if (!(e->flags & EDGE_TRUE_VALUE))
+ return e;
+
+ gcc_unreachable ();
+ return NULL;
+}
+
/* Sets the false region of an IF_REGION to REGION. */
void