diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-03-02 16:28:00 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2012-03-02 16:28:00 +0000 |
commit | 8b4a3a51a3fdf29c8bcf04bc9723d33ea7e6728a (patch) | |
tree | 6b53e97817d85bf4db1e1589ae184c1f7f77b278 | |
parent | b54207e9c83a58cbd17c3abd233b7bcad4af9a49 (diff) |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/autopar/pr46885.c | 23 | ||||
-rw-r--r-- | gcc/tree-parloops.c | 2 |
4 files changed, 35 insertions, 1 deletions
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 <jakub@redhat.com> + + PR debug/46885 + * tree-parloops.c (canonicalize_loop_ivs): Use gsi_last_bb + instead of gsi_last_nondebug_bb. + 2010-09-20 Jakub Jelinek <jakub@redhat.com> 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 <jakub@redhat.com> + + PR debug/46885 + * gcc.dg/autopar/pr46885.c: New test. + 2010-09-20 Jakub Jelinek <jakub@redhat.com> 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); |