From 2c622b2eac33e9946e2ad459663f7c993d043e2a Mon Sep 17 00:00:00 2001 From: abel Date: Wed, 25 Jan 2012 13:20:43 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183519 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/sel-sched-ir.h | 3 ++- gcc/testsuite/ChangeLog | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) 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 + PR rtl-optimization/48374 + * sel-sched-ir.h (get_all_loop_exits): Check for zero successors. + +2012-01-25 Andrey Belevantsev + * 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 c8f8be6..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 + + PR rtl-optimization/48374 + * gcc.dg/pr48374.c: New test. + 2012-01-25 Greta Yorsh * gcc.dg/pr50908-2.c (dg-options): Add -fno-short-enums. -- 2.7.4