]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR debug/41225 (VTA: internal compiler error: in vect_stmt_relevant_p, at tree...
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 4 Sep 2009 19:03:49 +0000 (19:03 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 4 Sep 2009 19:03:49 +0000 (19:03 +0000)
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

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr41225.f90 [new file with mode: 0644]
gcc/tree-vect-stmts.c

index b871f580cd15654c0d9e9468cdfd0d4a2544c3e9..902f7fc39ef184b03bc8c6bd9ed63fb88b70f40d 100644 (file)
@@ -1,3 +1,8 @@
+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
index ee774b13d30b917000d200cddb1f5b5c96372965..7da08f9247a61e2254f91d55a73021fc796c0e26 100644 (file)
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/testsuite/gfortran.dg/pr41225.f90 b/gcc/testsuite/gfortran.dg/pr41225.f90
new file mode 100644 (file)
index 0000000..54daf4d
--- /dev/null
@@ -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
index 0a2ab19a232e2202eede110b29c0542306b0c7a8..7e45123faff8dd5126d7f170d8b615a79387520c 100644 (file)
@@ -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);