diff options
author | Michael Matz <matz@suse.de> | 2017-01-23 13:57:31 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2017-01-23 13:57:31 +0000 |
commit | d886761fd048a6ad77dc7c927cbedfa503cfe01b (patch) | |
tree | dd7485c0099e0902ae8a40fcb826efe1f1f8cc6d /gcc/tree-ssa-loop-split.c | |
parent | b4fad9fa0e762c8e79c8d93fedcb3c929a29f4ee (diff) | |
download | gcc-d886761fd048a6ad77dc7c927cbedfa503cfe01b.zip gcc-d886761fd048a6ad77dc7c927cbedfa503cfe01b.tar.gz gcc-d886761fd048a6ad77dc7c927cbedfa503cfe01b.tar.bz2 |
fix pr78384
PR tree-optimization/78384
* tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
testsuite/
PR tree-optimization/78384
* gcc.dg/pr78384.c: New test.
From-SVN: r244811
Diffstat (limited to 'gcc/tree-ssa-loop-split.c')
-rw-r--r-- | gcc/tree-ssa-loop-split.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-split.c b/gcc/tree-ssa-loop-split.c index 7809db0..f104b26 100644 --- a/gcc/tree-ssa-loop-split.c +++ b/gcc/tree-ssa-loop-split.c @@ -159,7 +159,7 @@ patch_loop_exit (struct loop *loop, gcond *guard, tree nextval, tree newbound, nextval, newbound); update_stmt (stmt); - edge stay = single_pred_edge (loop->latch); + edge stay = EDGE_SUCC (exit->src, EDGE_SUCC (exit->src, 0) == exit); exit->flags &= ~(EDGE_TRUE_VALUE | EDGE_FALSE_VALUE); stay->flags &= ~(EDGE_TRUE_VALUE | EDGE_FALSE_VALUE); |