re PR debug/42897 (yet another ice in verify_ssa)
authorAlexandre Oliva <aoliva@redhat.com>
Sat, 6 Mar 2010 20:28:04 +0000 (20:28 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Sat, 6 Mar 2010 20:28:04 +0000 (20:28 +0000)
PR debug/42897
* tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
uses of relevant DEFs that are dead outside the loop too.

From-SVN: r157258

gcc/ChangeLog
gcc/tree-vect-loop.c

index 4871476..528ca32 100644 (file)
@@ -1,3 +1,9 @@
+2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42897
+       * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
+       uses of relevant DEFs that are dead outside the loop too.
+
 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
 
        * var-tracking.c (dataflow_set_merge): Swap src and src2.
index 16aa242..afbd342 100644 (file)
@@ -4236,13 +4236,12 @@ vect_transform_loop (loop_vec_info loop_vinfo)
          if (!stmt_info)
            continue;
 
+         if (MAY_HAVE_DEBUG_STMTS && !STMT_VINFO_LIVE_P (stmt_info))
+           vect_loop_kill_debug_uses (loop, phi);
+
          if (!STMT_VINFO_RELEVANT_P (stmt_info)
              && !STMT_VINFO_LIVE_P (stmt_info))
-           {
-             if (MAY_HAVE_DEBUG_STMTS)
-               vect_loop_kill_debug_uses (loop, phi);
-             continue;
-           }
+           continue;
 
          if ((TYPE_VECTOR_SUBPARTS (STMT_VINFO_VECTYPE (stmt_info))
                != (unsigned HOST_WIDE_INT) vectorization_factor)
@@ -4279,11 +4278,12 @@ vect_transform_loop (loop_vec_info loop_vinfo)
              continue;
            }
 
+         if (MAY_HAVE_DEBUG_STMTS && !STMT_VINFO_LIVE_P (stmt_info))
+           vect_loop_kill_debug_uses (loop, stmt);
+
          if (!STMT_VINFO_RELEVANT_P (stmt_info)
              && !STMT_VINFO_LIVE_P (stmt_info))
            {
-             if (MAY_HAVE_DEBUG_STMTS)
-               vect_loop_kill_debug_uses (loop, stmt);
              gsi_next (&si);
              continue;
            }