aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-03-12 10:15:08 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-03-12 10:15:08 +0100
commitb24ca895d7a5e5d18782a230f133cd8346f00c11 (patch)
tree9056a4619bab3ad694d7046b82cc4f590bf3bb48 /gcc/tree-cfg.c
parent33a9145bb7229ba592e9a4f7ee9c68399ac5d070 (diff)
downloadgcc-b24ca895d7a5e5d18782a230f133cd8346f00c11.zip
gcc-b24ca895d7a5e5d18782a230f133cd8346f00c11.tar.gz
gcc-b24ca895d7a5e5d18782a230f133cd8346f00c11.tar.bz2
re PR middle-end/60482 (Loop optimization regression)
PR middle-end/60482 * tree-vrp.c (register_edge_assert_for_1): Don't add assert if there are multiple uses, but op doesn't live on E edge. * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore clobber stmts before __builtin_unreachable. * gcc.dg/vect/pr60482.c: New test. From-SVN: r208506
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 325285c..56b6c35 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -410,9 +410,9 @@ assert_unreachable_fallthru_edge_p (edge e)
if (gsi_end_p (gsi))
return false;
stmt = gsi_stmt (gsi);
- if (is_gimple_debug (stmt))
+ while (is_gimple_debug (stmt) || gimple_clobber_p (stmt))
{
- gsi_next_nondebug (&gsi);
+ gsi_next (&gsi);
if (gsi_end_p (gsi))
return false;
stmt = gsi_stmt (gsi);