diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2010-03-06 20:28:04 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2010-03-06 20:28:04 +0000 |
commit | aba09491c27cb6e9a908ebc2fde41a41a1f0ee5b (patch) | |
tree | 094a0a83ba7bbad79abdcda20bb19b8498813e4f /gcc/tree-vect-loop.c | |
parent | 60d7a09b0671c2167248e0a6afee6920a18108ab (diff) | |
download | gcc-aba09491c27cb6e9a908ebc2fde41a41a1f0ee5b.zip gcc-aba09491c27cb6e9a908ebc2fde41a41a1f0ee5b.tar.gz gcc-aba09491c27cb6e9a908ebc2fde41a41a1f0ee5b.tar.bz2 |
re PR debug/42897 (yet another ice in verify_ssa)
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
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 16aa242..afbd342 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -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; } |