aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Belevantsev <abel@ispras.ru>2012-01-25 17:20:43 +0400
committerAndrey Belevantsev <abel@gcc.gnu.org>2012-01-25 17:20:43 +0400
commit3dbdd1b950ee88aa90bd091026e0e7c6459b9e45 (patch)
tree526c83bf03620e9bcb14891206b20b40038772dc
parent9ca3d00efe98f6bdcb48b6fc7a188fd1193e569f (diff)
downloadgcc-3dbdd1b950ee88aa90bd091026e0e7c6459b9e45.zip
gcc-3dbdd1b950ee88aa90bd091026e0e7c6459b9e45.tar.gz
gcc-3dbdd1b950ee88aa90bd091026e0e7c6459b9e45.tar.bz2
re PR rtl-optimization/48374 (ICE: in single_succ_edge, at basic-block.h:562 with -fselective-scheduling2 and __builtin_unreachable())
gcc: PR rtl-optimization/48374 * sel-sched-ir.h (get_all_loop_exits): Check for zero successors. testsuite: PR rtl-optimization/48374 * gcc.dg/pr48374.c: New test. From-SVN: r183519
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sel-sched-ir.h3
-rw-r--r--gcc/testsuite/ChangeLog5
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af7119b..f094090 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2012-01-25 Andrey Belevantsev <abel@ispras.ru>
+ PR rtl-optimization/48374
+ * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
+
+2012-01-25 Andrey Belevantsev <abel@ispras.ru>
+
* tree-predcom.c (tree_predictive_commoning_loop): Bail out when
compute_data_dependences_for_loop returns false.
* tree-parloops.c (loop_parallel_p): Likewise.
diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h
index c8f8be66..ede08e4 100644
--- a/gcc/sel-sched-ir.h
+++ b/gcc/sel-sched-ir.h
@@ -1119,7 +1119,8 @@ get_all_loop_exits (basic_block bb)
/* If bb is empty, and we're skipping to loop exits, then
consider bb as a possible gate to the inner loop now. */
while (sel_bb_empty_or_nop_p (bb)
- && in_current_region_p (bb))
+ && in_current_region_p (bb)
+ && EDGE_COUNT (bb->succs) > 0)
{
bb = single_succ (bb);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dae5394..f9aa4e7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-25 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48374
+ * gcc.dg/pr48374.c: New test.
+
2012-01-25 Greta Yorsh <Greta.Yorsh@arm.com>
* gcc.dg/pr50908-2.c (dg-options): Add -fno-short-enums.