+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.
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)
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;
}