[Bug tree-optimization/89253] [8/9 Regression] ICE in split_loop, at tree-ssa-loop-split.c:566
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 8 13:38:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89253
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Status|UNCONFIRMED |ASSIGNED
Keywords|ice-on-invalid-code |ice-on-valid-code
Last reconfirmed| |2019-02-08
CC| |matz at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
Target Milestone|--- |8.3
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed on x86_64-linux. loop_version can (and does) fail here, possibly
because there's abnormal edges (computed goto) inside.
(gdb) p can_duplicate_loop_p (loop1)
$2 = false
but this isn't checked. I am testing
Index: gcc/tree-ssa-loop-split.c
===================================================================
--- gcc/tree-ssa-loop-split.c (revision 268679)
+++ gcc/tree-ssa-loop-split.c (working copy)
@@ -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))
{
More information about the Gcc-bugs
mailing list