diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2009-09-04 19:03:49 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2009-09-04 19:03:49 +0000 |
commit | 3157b0c242844c97a2469591543208013cfc8a9c (patch) | |
tree | e2b42b3b4598b5ffaf768dd2e704c11712fc535f | |
parent | 510bc854f593e1cde35bd3423adbbf82c3e471bb (diff) | |
download | gcc-3157b0c242844c97a2469591543208013cfc8a9c.zip gcc-3157b0c242844c97a2469591543208013cfc8a9c.tar.gz gcc-3157b0c242844c97a2469591543208013cfc8a9c.tar.bz2 |
re PR debug/41225 (VTA: internal compiler error: in vect_stmt_relevant_p, at tree-vect-stmts.c:150)
gcc/ChangeLog:
PR debug/41225
* tree-vect-stmts.c (vect_stmt_relevant_p): Skip debug uses.
gcc/testsuite/ChangeLog:
PR debug/41225
* gfortran.dg/pr41225.f90: New.
From-SVN: r151438
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr41225.f90 | 20 | ||||
-rw-r--r-- | gcc/tree-vect-stmts.c | 3 |
4 files changed, 33 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b871f58..902f7fc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2009-09-04 Alexandre Oliva <aoliva@redhat.com> + PR debug/41225 + * tree-vect-stmts.c (vect_stmt_relevant_p): Skip debug uses. + +2009-09-04 Alexandre Oliva <aoliva@redhat.com> + PR target/41252 * config/arm/vfp.md (*cmpdf_split_vfp): Fix src mode in the second pattern of the split. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ee774b1..7da08f9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2009-09-04 Alexandre Oliva <aoliva@redhat.com> + PR debug/41225 + * gfortran.dg/pr41225.f90: New. + +2009-09-04 Alexandre Oliva <aoliva@redhat.com> + * gcc.dg/guality/guality.h: Include stdint.h. Drop unnecessary unistd.h, sys/types.h and sys/wait.h. (gualchk_t): New. diff --git a/gcc/testsuite/gfortran.dg/pr41225.f90 b/gcc/testsuite/gfortran.dg/pr41225.f90 new file mode 100644 index 0000000..54daf4d --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr41225.f90 @@ -0,0 +1,20 @@ +! { dg-do compile } +! { dg-options "-O2 -ffast-math -funroll-loops -ftree-vectorize -g" } + SUBROUTINE block_15_1_1_1(kbd,kbc,kad,kac,pbd,pbc,pad,pac,prim,scale) + INTEGER, PARAMETER :: dp=8 + REAL(KIND=dp) :: kbd(1*1), kbc(1*1), kad(15*1), kac(15*1), pbd(1*1), & + pbc(1*1), pad(15*1), pac(15*1), prim(15*1*1*1), scale + INTEGER :: ma, mb, mc, md, p_index + DO md = 1,1 + DO mc = 1,1 + DO mb = 1,1 + DO ma = 1,15 + p_index=p_index+1 + tmp = scale*prim(p_index) + ks_bd = ks_bd + tmp* pac((mc-1)*15+ma) + END DO + kbd((md-1)*1+mb) = kbd((md-1)*1+mb) - ks_bd + END DO + END DO + END DO + END SUBROUTINE block_15_1_1_1 diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 0a2ab19..7e45123 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -145,6 +145,9 @@ vect_stmt_relevant_p (gimple stmt, loop_vec_info loop_vinfo, if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "vec_stmt_relevant_p: used out of loop."); + if (is_gimple_debug (USE_STMT (use_p))) + continue; + /* We expect all such uses to be in the loop exit phis (because of loop closed form) */ gcc_assert (gimple_code (USE_STMT (use_p)) == GIMPLE_PHI); |