From 8b4a3a51a3fdf29c8bcf04bc9723d33ea7e6728a Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 2 Mar 2012 16:28:00 +0000 Subject: svn merge -r167800:167801 svn+ssh://gcc.gnu.org/svn/gcc/trunk git-svn-id: https://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch@184797 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/autopar/pr46885.c | 23 +++++++++++++++++++++++ gcc/tree-parloops.c | 2 +- 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/autopar/pr46885.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7a078074ad..fddf84d1d8e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-12-14 Jakub Jelinek + + PR debug/46885 + * tree-parloops.c (canonicalize_loop_ivs): Use gsi_last_bb + instead of gsi_last_nondebug_bb. + 2010-09-20 Jakub Jelinek PR rtl-optimization/45695 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b4bc6acb26d..f999c30d20a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-12-14 Jakub Jelinek + + PR debug/46885 + * gcc.dg/autopar/pr46885.c: New test. + 2010-09-20 Jakub Jelinek PR rtl-optimization/45695 diff --git a/gcc/testsuite/gcc.dg/autopar/pr46885.c b/gcc/testsuite/gcc.dg/autopar/pr46885.c new file mode 100644 index 00000000000..9560c92bfd4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/autopar/pr46885.c @@ -0,0 +1,23 @@ +/* PR debug/46885 */ +/* { dg-do compile } */ +/* { dg-options "-O -ftree-parallelize-loops=4 -fcompare-debug -fno-tree-dominator-opts -funswitch-loops" } */ + +static inline void +bar (int i) +{ + (void) i; +} + +int +foo (int *begin, int *end) +{ + int s = 0; + int *i; + for (i = begin; i != end; ++i) + { + bar (0); + if (begin) + return s; + } + return 0; +} diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index cc789243287..62180514164 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -1505,7 +1505,7 @@ canonicalize_loop_ivs (struct loop *loop, htab_t reduction_list, tree *nit) gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts); } - gsi = gsi_last_nondebug_bb (loop->latch); + gsi = gsi_last_bb (loop->latch); create_iv (build_int_cst_type (type, 0), build_int_cst (type, 1), NULL_TREE, loop, &gsi, true, &var_before, NULL); -- cgit v1.2.3