https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70964
Bug ID: 70964 Summary: [7 Regression] internal compiler error: in single_succ_edge, at basic-block.h:351 Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org Target Milestone: --- Target: aarch64 The testcase: int a, c, d, e, f; int b[0]; void fn1 () { int g; long h; for (;;) { g = a < 0 ?: g; long i = d = i < 0 && g < i ?: g + i; f = 6; for (; f; f--) { h = 6; for (; h; h--) { int j; long *k; d || j && (*k = c); b[f] = e; } } } } ICEs on aarch64-none-linux-gnu compiled with -Ofast. mycrash.c: In function ‘fn1’: mycrash.c:4:1: internal compiler error: in single_succ_edge, at basic-block.h:351 fn1 () ^~~ 0x6fdf23 single_succ_edge $SRC/gcc/basic-block.h:351 0x6fdf23 lv_adjust_loop_entry_edge $SRC/gcc/cfgloopmanip.c:1658 0x6fdf23 loop_version(loop*, void*, basic_block_def**, unsigned int, unsigned int, unsigned int, bool) $SRC/gcc/cfgloopmanip.c:1726 0xb494ff version_loop_for_if_conversion $SRC/gcc/tree-if-conv.c:2333 0xb494ff tree_if_conversion $SRC/gcc/tree-if-conv.c:2735 0xb494ff execute $SRC/gcc/tree-if-conv.c:2829 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Bisection shows this started with r235842.