aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-split.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-02-12 09:29:39 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-02-12 09:29:39 +0000
commit0dcbc6dd8e6bc57a27d5b1cdbd8447a2f5a618b2 (patch)
tree72e9df579ba369fe6ec5d2ecf2e68f8773e55fee /gcc/tree-ssa-loop-split.c
parenta4553534dfcccf992d30307a8bdbb5405ecd01f7 (diff)
downloadgcc-0dcbc6dd8e6bc57a27d5b1cdbd8447a2f5a618b2.zip
gcc-0dcbc6dd8e6bc57a27d5b1cdbd8447a2f5a618b2.tar.gz
gcc-0dcbc6dd8e6bc57a27d5b1cdbd8447a2f5a618b2.tar.bz2
re PR tree-optimization/89253 (ICE in split_loop, at tree-ssa-loop-split.c:566)
2019-02-12 Richard Biener <rguenther@suse.de> PR tree-optimization/89253 * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can duplicate the loop. * gfortran.dg/pr89253.f: New testcase. From-SVN: r268790
Diffstat (limited to 'gcc/tree-ssa-loop-split.c')
-rw-r--r--gcc/tree-ssa-loop-split.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-split.c b/gcc/tree-ssa-loop-split.c
index 9b9d01a..999c9a3 100644
--- a/gcc/tree-ssa-loop-split.c
+++ b/gcc/tree-ssa-loop-split.c
@@ -649,7 +649,8 @@ tree_ssa_split_loops (void)
false, true)
&& niter.cmp != ERROR_MARK
/* We can't yet handle loops controlled by a != predicate. */
- && niter.cmp != NE_EXPR)
+ && niter.cmp != NE_EXPR
+ && can_duplicate_loop_p (loop))
{
if (split_loop (loop, &niter))
{